О токенах пишут: стандарт ERC-20, BEP2-токен, FA2 NFT и т.д. Давайте разбираться, зачем токенам нужны стандарты, что скрывается за аббревиатурой и как разработчики их развивают.
Объясняем стандарты токенов на примере повседневных вещей: включения и выключения WiFi и разных видах USB-портов.
Зачем нужны стандарты на примере WiFi
Допустим, Боб хочет выключить WiFi. Для этого он жмет на иконку WiFi, а потом — на переключатель.
Сеть выключилась, Боб доволен. Но что произошло «за сценой»? А там операционная система устройства приказала системному контроллеру выключить питание WiFi-чипа.
Боб может сделать так же: напрямую скомандовать системному контроллеру, чтобы тот выключил питание WiFi.
При этом Бобу не важно, кто сделал его WiFi-чип: Broadcom, Intel, Asus или TP-Link. Бобу не нужно знать набор внутренних команд WiFi-чипа и его архитектуру.
Чип включается по клику на иконку WiFi, потому что производитель создал его по общепринятому стандарту. Разработчики ОС сделали так, что при нажатии на иконку WiFi система командует «Power off!». Разработчики WiFi-чипов в свою очередь предусмотрели, что при получении команды «Power off!» чип должен выключить питание. Благодаря этому Боб может выключить вайфай в два клика, а так бы ему пришлось читать документацию и учить консольные команды.
При чем тут блокчейн и токены
Грубо говоря, токены — это смарт-контракты или код, который выполняет виртуальная машина блокчейна.
Разработчики операционных систем и производители WiFi-чипов стараются, чтобы любой чип понимал команды любой операционной системы и не вынуждал пользователя лезть в консоль. Так же и разработчики токенов и приложений стараются, чтобы любой смарт-контракт токена понимал команды любого блокчейн-приложения. Для этого они договариваются про стандарты, а затем используют их для новых разработок.
Стандарт токена — это набор функций, которые обязательно должен быть в контракте токена. Например, базовые стандарты вроде FA1.2, ERC-20 и BEP2 включают функции Transfer для передачи токенов и Approve для разрешения передать какое-то количество токенов, а также view для просмотра балансов. Разработчики кошельков и приложений делают так, что при нажатии кнопки «Отправить» кошелек обращается к функции Transfer. Если разработчик токена назовет эту функцию по другому, кошелек не сможет работать с таким токеном.
Со временем функции базового стандарта устаревают, или же их не хватает для новых задач. Например, привычный прямоугольный USB стандарта Type-A скоро заменит USB Type-C: его проще вставить в гнездо, а еще он передает аудио и видеосигнал и поддерживает быструю зарядку.
Также и в блокчейне: функций Transfer и Approve недостаточно для DeFi, NFT и GameFi. Так для реализации NFT разработчикам понадобилось сделать новые стандарты токенов вроде FA2 на Tezos и ERC-721 на Ethereum. С развитием игровых проектов и metaverse они могут создать новый стандарт, который поддерживает больше функций.
Нужно ли разрабатывать новые стандарты токенов?
Анастасия Кондаурова в блоге Madfish Solutions и пользователь под ником Veqtor на форуме Tezos Agora спрашивали: не пора ли разработать стандарт FA3 или хотя бы FA2.1?
Причины есть: обновление Hangzhou принесло в Tezos timelock-примитив, новые view-функции и глобальные константы. Чтобы использовать их на полную, разработчики должны договориться о том, как их использовать, и отобразить это в стандарте. Это нужно, чтобы обычному Бобу не пришлось учить документацию и лезть в консоль.
Кроме того, в новом стандарте токенов можно реализовать и другие функции: transfer_and_call для оповещения получателя о переводе токенов, zk-channels для анонимных транзакций, экспирируемые токены для продвинутых DeFi-механик и многое другое.
Один из юзкейсов нового стандарта — TZIP-17 или «предварительная подпись транзакции». С его помощью можно упростить работу с Tezos для новых пользователей: создатель контракта предварительно подписывает транзакцию и оплачивает газ, а пользователь может отправить ее бесплатно. Это будет полезно для GameFi, чтобы новые игроки не сталкивались с газом, подтверждением транзакций и другими потенциально сложными вещами.
Подписывайтесь на социальные сети Tezos Ukraine, чтобы ничего не пропустить:
- Telegram-канал
- Facebook.
- Twitter на русском и украинском языках
- Twitter на английском языке
- YouTube-канал
- hub на ForkLog
Изначально мы опубликовали этот материал в блоге Tezos Ukraine.