Взгляд венчурного инвестора на Блокчейн | 15: сложно ли сделать свое ICO и выпустить свой NFT?

Узнаем отличие двух популярных типов токенов, увидим как это на самом деле работает. Теперь вы уж точно будете понимать, о чем все вокруг говорят. Даже лучше, чем те, кто говорит 😊

Взгляд венчурного инвестора на Блокчейн | 15: сложно ли сделать свое ICO и выпустить свой NFT?

Токены – это стандартизированные смарт-контракты

Любой так называемый токен – это смарт-контракт, записанный в каком-то блокчейне. Самый популярный для этого блокчейн – Ethereum. Подробнее о том, что из себя представляют смарт-контракты, я рассказывал тут и тут.

Разновидностей токенов есть великое множество, ведь ничего не мешает любому разработчику написать смарт-контракт, назвать его XYZ и запустить в сеть. В начале так и было, но оказалось, что нужно ввести стандарты. Зачем? Потому что люди создают токены не в вакууме, они хотят с ними взаимодействовать, пересылать, торговать ими, в общем – совместно использовать. Для этого нужны одинаковые для всех органы управления.

Представьте себе автомобиль. Есть легковушки, есть грузовики, есть внедорожники, они все очень по-разному устроены, но вы можете сесть в любой из них и сразу же поехать. Потому что принцип управления одинаковый – у всех есть руль, педали газа и тормоза, коробка передач. На языке программистов это называется словом «интерфейс». У всех автомобилей одинаковый интерфейс.

Так вот, FTи NFT– это интерфейсы. Стандарты, которые требуют наличия у любого токена, который гордо называется «FT» или «NFT» обязательного набора свойств и органов управления.

Взаимозаменяемый токен: самый распространенный вид токена

Взаимозаменяемый токен («Fungible token») это самый первый и самый простой стандарт. Мы говорим, что токен «взаимозаменяемый», если для вас неважно каким именно токеном вы обладаете, важно только число таких токенов. Думайте о них как о деньгах: у вас 10 купюр по 100 долларов. И даже при том, что, строго говоря, каждая из них имеет свой порядковый номер, для вас это совершенно неважно, ведь у вас есть 1000 долларов. Доллар – это взаимозаменяемый токен. Также, как и большинство всех токенов, используемых при ICO в 2017-2018 гг. Вы можете часто слышать обозначение «ERC20», это техническое название интерфейса взаимозаменяемого токена.

Вот сам стандарт ERC20:

function name(): имя смарт-контракта function symbol(): условное 3- или 4-буквенное обозначение смарт-контракта function decimals(): на сколько частей можно делить 1 токен function totalSupply(): сколько всего токенов может быть выпущено function balanceOf(address _owner): узнать баланс токенов на адресе function transfer(address _to, uint _value): передать токены с адреса вызывающего на адрес, указанный в скобках function transferFrom(address _from, address _to, uint _value): передать токены с одного адреса на другой; это нужно когда кто-то от вашего имени пересылает токены, обычно это нужно для работы торговых площадок и всяких DeFi приложений function approve(address _spender, uint _value): вы разрешаете кому-то (например бирже) распорядиться таким-то количеством ваших токенов function allowance(address _owner, address _spender): функция позволяет узнать, сколько токенов вы позволили кому-то потратить от вашего имени

Как видите, для того чтобы ваш токен принимался любыми биржами, его можно было бы пересылать и торговать им, нужно задать всего лишь 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 остается простой, как и многое на блокчейне, если разобраться.

Послесловие

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

55
1 комментарий

Кто хотел пообщаться в дискорде про NFT https://discord.gg/fPQgvttkMg

Ответить