Взгляд венчурного инвестора на Блокчейн | 15: сложно ли сделать свое ICO и выпустить свой NFT?
Узнаем отличие двух популярных типов токенов, увидим как это на самом деле работает. Теперь вы уж точно будете понимать, о чем все вокруг говорят. Даже лучше, чем те, кто говорит 😊
Токены – это стандартизированные смарт-контракты
Разновидностей токенов есть великое множество, ведь ничего не мешает любому разработчику написать смарт-контракт, назвать его XYZ и запустить в сеть. В начале так и было, но оказалось, что нужно ввести стандарты. Зачем? Потому что люди создают токены не в вакууме, они хотят с ними взаимодействовать, пересылать, торговать ими, в общем – совместно использовать. Для этого нужны одинаковые для всех органы управления.
Представьте себе автомобиль. Есть легковушки, есть грузовики, есть внедорожники, они все очень по-разному устроены, но вы можете сесть в любой из них и сразу же поехать. Потому что принцип управления одинаковый – у всех есть руль, педали газа и тормоза, коробка передач. На языке программистов это называется словом «интерфейс». У всех автомобилей одинаковый интерфейс.
Так вот, FTи NFT– это интерфейсы. Стандарты, которые требуют наличия у любого токена, который гордо называется «FT» или «NFT» обязательного набора свойств и органов управления.
Взаимозаменяемый токен: самый распространенный вид токена
Взаимозаменяемый токен («Fungible token») это самый первый и самый простой стандарт. Мы говорим, что токен «взаимозаменяемый», если для вас неважно каким именно токеном вы обладаете, важно только число таких токенов. Думайте о них как о деньгах: у вас 10 купюр по 100 долларов. И даже при том, что, строго говоря, каждая из них имеет свой порядковый номер, для вас это совершенно неважно, ведь у вас есть 1000 долларов. Доллар – это взаимозаменяемый токен. Также, как и большинство всех токенов, используемых при ICO в 2017-2018 гг. Вы можете часто слышать обозначение «ERC20», это техническое название интерфейса взаимозаменяемого токена.
Вот сам стандарт ERC20:
Как видите, для того чтобы ваш токен принимался любыми биржами, его можно было бы пересылать и торговать им, нужно задать всего лишь 9 функций. Верите или нет, но все ICO, которые продавали токенов на десятки миллионов долларов, были устроены ровно так, под копирку. Размер такого смарт-контракта – не более 100 строчек кода. Все остальное – маркетинг.
Невзаимозаменяемый токен: то же самое + список владельцев
Со временем стало понятно, что иногда важно отличать один актив от другого. Например, я владею двумя разными доменами Egor.xyz и Abramov.xyz. Для меня они очевидно разные, невзаимозаменяемые. Тут не получится использовать стандарт ERC20, просто потому что он не предусматривает связки «конкретный токен» - «конкретный владелец».
У программистов все просто, они взяли и ввели новый стандарт, назвали его ERC721. На самом деле его отличия от ERC20 минимальные. Просто в смарт-контракте теперь должны записываться пары «ID токена» - «Адрес», где под адресом понимается адрес вашего кошелька. Также должна быть функция передачи токена с идентификатором ID от одного адреса другому. Собственно все. И с легкой руки программистов этот вид токенов все стали называть незамысловато – NFT.
Я не буду приводить сам стандарт NFT, потому что это копия стандарта ERC20 с добавлением всего лишь одной принципиальной новой функции: ownerOf(tokenID). Эта функция должна назвать владельца конкретного токена. Кроме того, функции передачи и делегирования должны работать не с количеством (как в случае ERC20) а с ID конкретного токена. И это все различия.
В отличие от ICO, появление NFTдало миру большее разнообразие инструментов, например:
Игры: CryptoKitties – первая игра на базе NFT, когда это еще не было модно
Токенизация собственности: ENS domains – web3 аналог DNS (domain name system), любой желающий может закрепить за собой домены на блокчейне Ethereum с расширением *.eth. Это удобно читаемая замена адреса кошелька. Плюс по этому домену браузеры могут переходить на ваш веб-сайт.
- Картинки: Bored Ape Yacht Club – коллекция из 10 000 картинок NFT, ну вы понимаете
Понятно, что тут смарт-контракты не ограничиваются только минимальным функционалом. Если это NFT картинок, то нужно как минимум хранить уникальный адрес этой картинки в интернете (на блокчейне картинки не хранят). Если это домен, то нужно хранить соответствие «домен» - «адрес кошелька», нужно проверять что никто другой этим же доменом уже не завладел, нужно обеспечить возможность людей прикреплять к этому имени домена другие полезные данные (например адрес электронной почты, телефон, ссылку на свою аватарку и тп). Но при всем этом суть стандарта NFT остается простой, как и многое на блокчейне, если разобраться.
Послесловие
Любой токен – это относительно простой смарт-контракт. Конечно, можно добавить разные навороты и пищалки, но сути это не изменит. Действительно ценными эти токены делает сам Блокчейн, вся его мощная техническая инфраструктура и сложнейшая логика, соединенные и выведенные наружу через простой язык смарт-контракта. В этом заключается скрытая гармония Блокчейна, которой я не перестаю восхищаться.