:RU: Понимание нативных токенов в Cardano

Перевод статьи https://cexplorer.io/article/understanding-native-assets-on-cardano

image

Появление нативных токенов - это инновационный способ отделить эмитентов токенов от владельцев токенов и оставить основные операции протоколу. Работа с нативными токенами обходится дешевле и безопаснее, но за счет меньшей программируемости. Давайте сравним подходы к токенам платформ Cardano и Ethereum.

Нативные токены

Cardano - это так называемый леджер с мульти токенами. Инфраструктура учета, определенная в модели леджера, была расширена, чтобы иметь возможность обрабатывать токены таким же образом, как и в случае с монетами ADA. Леджер Cardano поддерживает отслеживание передачи и владения различными типами токенов в своем леджере.

Cardano может выпускать, хранить и передавать токены так называемым нативным способом, то есть ему не нужны смарт контракты, подобно Ethereum. Нативные скрипты используются только для эмиссии (и сжигания) токенов.

Нативная передача токенов с адреса на адрес означает, что эта функциональность обеспечивается протоколом Cardano. Та же часть исходного кода протокола, которая используется для передачи монет ADA, используется и для передачи токенов. Вся необходимая функциональность для обработки токенов реализована только один раз и абсолютно одинакова для всех токенов.

Проще говоря, леджер и протокол могут обрабатывать токены без необходимости предоставления третьей стороной (эмитентом токена) исходного кода (смарт контракта) с дополнительными правилами и функциями для основных операций.

Контроль над токенами

Пользователь, который хочет выпускать токены, должен определить политику эмиссии. Этот пользователь называется контроллером токенов. Политика эмиссии - это набор правил, который определяет, среди прочего, кто и при каких условиях будет контролировать поставку токенов, т.е. эмиссию и сжигание. Этот пользователь называется эмитентом токена. Контролер токенов и эмитент токенов могут быть одним лицом.

Соблюдение политики эмиссии проверяется нодой всегда при обработке транзакции. Здесь почти нет места для какого-либо злоупотребления.

На изображении ниже вы можете видеть, кто контролирует токены в течение их жизненного цикла. Эмиссия и сжигание токенов контролируются эмитентом токенов. Ему нужно взаимодействовать с нодой Cardano. Как только эмитент отправляет токены на адреса пользователей, они становятся единственными, кто контролирует токены через свои нативные кошельки. Другими словами, передача токенов и владение ими не зависят от нативных скриптов.

Леджер Cardano отвечает за хранение токенов, а протокол - за их передачу. Владельцы токенов используют обычный кошелек Cardano для создания и отправки транзакции в сеть для расходования токенов.

Пользователи могут использовать токены в сторонних приложениях. Обратите внимание, что скрипты для эмиссии и сжигания токенов находятся отдельно от приложений. Приложения (реализованные на платформе Plutus) взаимодействуют с Cardano для управления токенами.

В синих рамках указаны процессы, которые предоставляются Cardano и функциональность которых не может быть определена или ограничена эмитентом токена. В красных рамках указаны процессы, определенные эмитентом токена. В желтых рамках находится среда выполнения (платформа), позволяющая обрабатывать пользовательские скрипты (программы).

Как только пользователи становятся владельцами токенов, эмитент токенов не имеет над ними абсолютно никакого контроля. Пользователи могут отправлять токены друг другу, и им нужны только протокол Cardano и леджер. Эмитент токенов может получить контроль над токенами (и, возможно, сжечь их) только в том случае, если пользователи отправят их на его адрес. Пользователи могут использовать любой смарт контракт абсолютно без ограничений или необходимости запрашивать разрешение у эмитента токена.

Ниже приведено аналогичное изображение для Ethereum, чтобы вы могли сравнить обе платформы.

Преимущества и недостатки нативных токенов

Одним из самых больших преимуществ нативных токенов является то, что их можно отправлять посредством обычных транзакций, во многом похожих на монеты ADA. Размер комиссий ниже, так как требования к компьютерным ресурсам для их передачи ниже, чем если бы приходилось использовать для этих целей смарт контракт. Если бы было необходимо использовать смарт контракт, плата зависела бы от сложности смарт контракта (от количества потребляемых ресурсов).

Независимость от смарт контрактов позволяет легко отправлять несколько токенов в рамках одной транзакции. Возможно даже определить несколько получателей в транзакции. Проверка такой транзакции проста и, как уже было сказано, одинакова для всех токенов.

Хранение токенов в леджере и передача их по протоколу Cardano более безопасны, поскольку не зависят от функциональности, реализованной третьей стороной в смарт контракте. Таким образом, токены не могут быть потеряны из-за ошибки в коде контракта. Нет необходимости копировать/вставлять какой-то другой существующий контракт или изобретать что-то новое.

Невозможность настроить правила передачи токенов имеет недостаток, если эмитент токена по какой-либо причине захотел определить эти правила сам. Если эмитент токенов хотел бы сохранить контроль над передачей токенов из-за необходимости соблюдения нормативных требований, в случае Cardano это невозможно. Например, для эмиссии стейблкоинов в определенной юрисдикции может потребоваться возможность внесения в черные списки, цензура транзакций или замораживание счетов.

Обратите внимание, что нативные токены обладают теми же (или очень похожими) свойствами, что и монеты ADA. Невозможно запретить кому-либо использовать токены, ввести цензуру транзакций или заморозить адрес с токенами.

Проверять токены очень легко, поскольку они прозрачно хранятся в леджере. Просто ознакомьтесь с политикой эмиссии, и у аудитора будет под рукой вся необходимая информация.

Сравнение Cardano и Ethereum

При выпуске токенов на Cardano можно определить только основные свойства токенов, такие как название, количество и субъект, который может выпускать и сжигать токены. Функциональность может быть определена только для эмиссии и сжигания. Например, можно указать время, по истечении которого дальнейшая эмиссия или сжигание токенов будет предотвращено.

При эмиссии токенов на Ethereum необходимо написать целый смарт контракт, в котором определены функции, т.е. конкретное поведение каждой операции с токенами. В дополнение к названию и количеству токенов необходимо определить функциональность для эмиссии, сжигания, передачи токенов и других аспектов. Например, функция подтверждения может гарантировать возможность для аккаунтов потратить определенное количество токенов от имени отправителя. Кроме того, разрешена функция, позволяющая запрашивать количество токенов, которое разрешено тратить аккаунту от имени другого аккаунта.

Ethereum обеспечивает более высокую программируемость токенов. Эмитент токенов имеет гораздо больший контроль не только над выпуском и сжиганием токенов, но и может определять, кто может тратить токены и на каких условиях.

На рисунке ниже описана функциональность, которая контролируется смарт контрактом и протоколом.

В красных рамках указаны все процессы, которые должны быть определены эмитентом токена. Смарт контракт определяет функции и события, которые управляют созданием, передачей и балансом токенов. Смарт контракт также поддерживает отображение баланса токенов каждого аккаунта в своем хранилище. Протокол Ethereum предоставляет только среду выполнения (платформу) для развертывания и выполнения смарт контракта.

image

Протокол Ethereum не обладает никакими знаниями или контролем над выпущенными токенами. Он только выполняет код смарт контракта в соответствии со своими правилами и записывает изменения своего состояния в леджер.

Протокол Cardano знает о выпущенных токенах и контролирует их передачу посредством транзакций и хранения в реестре.

Различный подход обеих платформ отражается в том, как токены могут использоваться сторонними приложениями.

Приложения в экосистеме Cardano могут произвольно работать со всеми существующими токенами посредством нативных транзакций. Команды, создающие DEX, имеют полный контроль над всеми функциональными возможностями. Они могут определять условия, при которых токены могут быть потрачены. Эмитенты токенов не имеют никакого контроля над использованием токенов в сторонних приложениях. Другими словами, команды определяют функциональность, которая позволяет им получать токены от пользователей (обычно в обмен на другие токены). Кроме того, они сами определяют функциональность пулов ликвидности и обменов токенами. Каждый DEX может работать существенно по-разному.

В случае Ethereum несколько смарт контрактов должны взаимодействовать друг с другом вместе. Команда, создающая DEX, должна создать смарт контракт, который взаимодействует со смарт контрактами, которые использовались для эмиссии токенов. Если вы хотите обменять токены на Uniswap, то там взаимодействуют 4 смарт контракта. Смарт контракт для токена X, контракт для токена Y, смарт контракт для пула ликвидности с токенами X и Y и так называемый контракт маршрутизатора, который облегчает взаимодействие между пользователем и парным контрактом. Команды, создающие DEX, несколько ограничены операциями, определенными в смарт контрактах для эмиссии токенов. К счастью, используются стандартные интерфейсы, поэтому взаимодействие происходит относительно легко.

Токены в блокчейне Cardano - это UTXO, подобные монетам ADA. Можно обрабатывать транзакции и проверять скрипты параллельно. Обратите внимание, что отправка токенов полностью независима от платформы Plutus. Платформа Plutus может быть использована для определения более продвинутого поведения.

Токены в Ethereum - это балансы, которые хранятся и корректируются с помощью смарт контрактов. Параллельная обработка невозможна, поскольку одновременно каждой нодой сети может быть выполнена только одна транзакция. Это связано с тем, что Ethereum использует модель последовательного выполнения, а обработка токенов (включая передачу токенов) зависит от среды выполнения (EVM).

Вывод

Эмиссия токенов на Cardano проста и относительно безопасна, поскольку эмитент токенов определяет только основные характеристики токенов и право на выпуск и сжигание. Базовые операции с токенами выполняются нодой Cardano, более сложные операции могут быть запрограммированы в скриптах Plutus. Это делает отправку токенов очень дешевой, поскольку она потребляет минимальное количество компьютерных ресурсов.

Ethereum требует, чтобы эмитент токена определил (запрограммировал) все важные функции для операций с токенами, включая отправку. Больший контроль над токенами со стороны эмитента токенов полезен в некоторых случаях, но за счет более высоких требований к потреблению компьютерных ресурсов.

Разница в обоих подходах, вероятно, наиболее заметна в возможности выпуска стейблкоинов, которые должны соответствовать нормативным требованиям. В Ethereum можно ограничить пользователей в расходовании токенов (подвергать цензуре транзакции, замораживать аккаунты), в то время как Cardano вообще не разрешает этого.

Более высокая программируемость Ethereum, конечно, может быть использована и для других положительных функций, а не только для ограничения прав пользователей в отношении расходования токенов. В Cardano отсутствует функциональность, аналогичная стандарту ERC-20, которая позволила бы эмитенту токенов иметь больший контроль над токенами. На данный момент технологически невозможно иметь стейблкоины, соответствующие нормативным требованиям, на Cardano. С другой стороны, возможно, было бы лучше, если бы регулирующие органы разрешили существование стейблкоинов, контроль над которыми имеют только их владельцы.

// От переводчика: для получения дополнительных переведенных на русский язык статей о Cardano посетите русскоязычный раздел на форуме Cardano. Видеоролики о Cardano на русском можно найти на YouTube канале нашего замечательного амбасадора Тимура Сахабутдинова, а также на канале Чарльз Хоскинсон на русском. Хотите поговорить или задать вопрос о Cardano по-русски? Приглашаем вас в наше уютное сообщество в Telegram. Оставайтесь на связи, все только начинается!