Сравнение стандартов токенов блокчейна эфириум: erc-20, 223, 721, 777

ERC223: как мы выбирали стандарт токена MUST

Публикация и аудит нашего первого смарт-контракта остановились, не успев начаться.

Созданный в логике наиболее распространённого протокола ERC20, он должен был обеспечить проекту абсолютную совместимость со всей инфраструктурой рынка токенов — биржами, включая децентрализованные, и криптовалютными кошельками.

Однако уже в ближайшей перспективе, сразу после token sale, механика токена предусматривает автоматическое сжигание монет при их использовании внутри платформы MUST. Как выяснилось, особенности протокола не позволяют реализовать такую автономную бизнес-логику на смарт-контракте.

Шорт-лист кандидатов на то, чтобы украсить гордое имя MUST, включал в себя следующие стандарты: ERC223, ERC677, ERC777 и ERC827. Если исключить десятки страниц командных обсуждений в мессенджерах, споров и выяснений с переходом на личности, мы определили несколько ключевых пунктов, определивших конечный выбор.

Главной претензией к протоколу ERC20 является то, что он допускает потерю монет при переводе на контракт, не имеющий методов снятия токенов — контракт, не запрограммированный на работу с этим стандартом заморозит всю сумму перевода навсегда.

По состоянию на конец декабря пользователь github под ником Dexaran, который и предложил стандарт ERC223, обнаружил замороженные в контрактах популярные токены QTUM, EOS, GNT, STORJ, TRONIX, DGD и OMG на сумму свыше трёх миллионов долларов.

Однако, должная предусмотрительность разработчиков как правило сводит вероятность таких транзакций к ничтожно малому числу — сумма потерь не идет ни в какое сравнение с общей капитализацией этих монет.

Второе и существенное для нашего проекта — для реализации даже простейшей автономной логики надёжного смарт-контракта за передачей токена должно следовать уведомление принимающего контракта о получении.

Этому требованию соответствовали два протокола — 777-й, свежий и учитывающий многие задачи технологичных проектов набор параметров, и ERC223, представленный уже десятками рабочих токенов. Опасность в случае с новыми протоколами состоит в том, что они до сих пор находятся в стадии активного обсуждения.

Если взять их за основу сейчас, то в будущем при изменении стандарта наши токены перестанут быть совместимыми.

Наконец, третье и главное в нашем случае — распространённость контракта, поскольку MUST планирует листинг сразу после token sale. Если в том, что касается кода, можно искать компромиссы и быть хоть сколько-то гибким, то в случае, когда этот код не поддерживают биржи и кошельки, гибкость не поможет.

Анализируя эти протоколы, мы выяснили, что наиболее распространённым является ERC223 — он используется в 30 живых проектах, пять из которых прошли листинг на крупных биржах, включая децентрализованные (https://github.com/ethereum/EIPs/issues/223#issuecomment-396080355).

Второй по популярности альтернативный стандарт ERC677 обнаружил лишь один живой проект, активный на хотя бы раз на протяжении трёх дней.

Оценив риски, мы остановились на компромиссном варианте. Токен MUST реализован на 223-м протоколе, что одновременно решает и функциональные задачи, и не создаёт рисков для ликвидности нашей основной единицы.

Источник: https://golos.io/ethereum/@mustru/erc223-kak-my-vybirali-standart-tokena-must

Что не так с Ethereum: проблемы токенов стандарта ERC20

Прошлый год стал прорывным не только для рынка криптовалют, но и для организаторов ICO — к декабрю 2017 года было проведено 234 кампании, собравших $3.75 миллиарда.

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

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

ERC20 — первый и самый широко используемый стандарт токенов, выпускаемых на базе блокчейна Ethereum. Данный стандарт был впервые представлен в 2015 году и в переводе с английского (Ethereum Request for Comments) означает «запрос на комментарии в Ethereum».

Именно благодаря внедрению ERC20 на крипторынке был отмечен массовый рост числа ICO-кампаний, поскольку в нем описан конкретный список спецификаций и правил, которым должны соответствовать будущие токены. Проще говоря, ERC20 токены — это специализированные смарт-контракты, которые работают на базе блокчейна Ethereum.

Данный стандарт существенно облегчил работу разработчиков, которые до этого должны были сами вырабатывать стандарты совместимости токенов с блокчейном, кошельками, биржами и DApps. На сегодняшний день в сети Ethereum было запущено 67,507 ERC20 токенов-контрактов.

А среди самых популярных ERC20 токенов можно отметить EOS, Tron, Binance Coin, ICON, KuCoin, OmiseGO и SingularDTV.

Код стандарта ERC20 предусматривает 6 функций:

 Функция totalSupply определяет общее количество токенов.

 Функция balance0f показывает баланс на счету определенного адреса, заданного параметром address _owner, где _owner — интересующий адрес.

 Функция transfer реализует передачу токенов с первичного адреса на адрес индивидуального пользователя, к примеру, участника ICO.

 Функция transferFrom используется для пересылки токенов от одного пользователя к другому.

 Функция approve проверяет, остались ли токены у смарт-контракта и предусматривает вывод средств со счета вплоть до максимально допустимой суммы, которая указывается в качестве параметра функции.

 Функция allowance гарантирует, что на адресе кошелька-отправителя достаточно токенов для их пересылки на адрес кошелька-получателя.

ERC20 также предусматривает два вида событий:

 transfer — событие перевода токенов между счетами;

 approval — событие инициируется при успешном выполнении функции approve, описанной выше.

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

Стандарт ERC20 является первым стандартом, разработанным в сети Ethereum, в связи с чем он имеет существенные недоработки. Блокчейн-разработчик, известный лишь как Dexaran, подробно описал баг, из-за которого при транзакциях пользователи могут потерять свои средства.

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

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

Однако, в случае с токенами ERC20, все происходит иначе: смарт-контракт, не поддерживающий данный стандарт, не отклоняет транзакцию, в результате чего токены замораживаются и теряются.

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

Вторая используется для того чтобы внести депозит токенов в смарт-контракт, для чего необходимо использовать комбинацию функций approve + transferFrom.

Благодаря функции approve, пользователь дает разрешение смарт-контракту на вывод собственных средств, который осуществляется при помощи функции transferFrom.

Но что если по ошибке пользователь внесет депозит в смарт-контракт с помощью первой функции transfer? Транзакция будет считаться успешной, и сеть ее признает, однако сам смарт-контракт эту транзакцию не увидит, а значит и не зачтет.

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

Именно из-за этого бага экосистема Ethereum уже потеряла миллионы долларов. Как отметил Dexaran, в сети Ethereum только на следующих семи крупных контрактах было потеряно более $1.3 миллиона:

 EOS — $684,987

 GNT — $68,300

 ZRX — $77,331

 Tronix — $189,995

 DGD — $173,335

 OMG — $101,647

 STORJ — $51,095

Также известно, что токены были заморожены в следующих контрактах:

 В контракте Golem утеряно 310,067 токенов GNT

 В контракте Augur 242 токена REP

 В контракте Digix DAO 814 токенов DGD

 В контракте FirstBlood 14,506 токенов 1ST

Как отметил Майкл Малдерс, блокчейн-разработчик в компании The Ledger, для борьбы с данной проблемой члены сообщества Ethereum выпустили альтернативные стандарты токенов, которые могут заменить ERC20 в будущем.

ERC223 был разработан пользователем Dexaran, который детально проанализировал работу токенов стандарта ERC20 и выпустил свой, как альтернативу, в марте 2017 года.

ERC223 позволяет транзакциям с токенами вести себя так же, как и в случае с эфиром — в случае ошибки функции transferтранзакция отменяется, и средства остаются у отправителя.

Для этого стандарт ERC223 вводит новые функции, которых нет в ERC20, а именно:

 Единую функцию transfer (вместо transfer и transferFrom) с тремя параметрами address _to, uint _value, bytes data.

 Функцию tokenFallBack для принимающего контракта, которая определяет тип отправленных монет.

Таким образом, если будет допущена ошибка в одном из трех параметров функции transfer, или же контракт не будет поддерживать tokenFallBack, то транзакция не состоится и средства вернутся на адрес отправителя.

ERC777 был выпущен в ноябре прошлого года и его главная цель — решить проблемы ERC20 в виде отсутствия механизмов обработки транзакций. В связи с чем данный стандарт токенов предлагает широкий выбор инструментов для обработки транзакций токенов. Для этого стандарт ERC777 использует новый набор функций:

 Вместо функции transfer предусмотрена единая функция send;

 Вместо approve используется authoriseOperator;

 Вместо tokenFallback существует tokensReceived.

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

Также стандарт ERC777 использует новый метод распознавания интерфейса контракта, который предусматривает наличие в сети Ethereum центрального реестра контрактов.

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

Таким образом, также решается проблема Ethereum, где невозможно узнать какие именно функции поддерживает тот или иной контракт.

Также разработчиками были представлены такие стандарты, как ERC827, который объединяет в себе преимущества ERC223 с функциями ERC20. Или стандарт ERC664, который позволяет обновлять контракты токенов, однако несет в себе критичный баг ERC20.

Внедрение нового стандарта токенов — трудоемкий процесс, в котором должны участвовать не только члены криптосообщетсва Ethereum, но и биржи, кошельки и разработчики DApps, планирующие работу с новыми токенами. Тем не менее работа над решением проблем и багов ERC20 уже начата, а это значит, что изменения в экосистеме Ethereum неизбежны.

Источник: http://webbtc.ru/chto-ne-tak-s-ethereum-problemy-tokenov-standarta-erc20.html

Чем отличаются стандарты Ethereum-токенов

Разобраться в том, как работает биткоин, большинству людей непросто, а Ethereum — еще гораздо сложнее. Даже если вы с технологиями на «ты», чтобы понять, как работает эта система, потребуется много времени.

Итак, Ethereum — это децентрализованная платформа, на которой могут работать написанные на языке программирования Solidity смарт-контракты. Также на ней могут работать сотни децентрализованных приложений.

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

Наличие стандартов облегчает взаимодействие между токенами и смарт-контрактами, и поэтому Ethereum — популярная платформа для разработки децентрализованных приложений. Можно уподобить Ethereum операционным системам iOS или Android для децентрализованных приложений — она упрощает их создание и поддерживает работу.

Наиболее распространенным стандартом Ethereum-токенов в настоящее время выступает ERC-20, но есть также стандарты ERC-223, ERC-721 и ERC-777. В этой статье мы расскажем о каждом из них.

Токен Ethereum ERC-20

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

Стан­дарт то­ке­нов ERC-20 имеет шесть обя­за­тель­ных па­ра­мет­ров для каж­до­го смарт-кон­трак­та и три до­пол­ни­тель­ных (но ре­ко­мен­ду­е­мых!). На­при­мер, к до­пол­ни­тель­ным от­но­сит­ся до­пу­сти­мое число зна­ков после за­пя­той.

Для срав­не­ния, бит­ко­ин под­дер­жи­ва­ет во­семь зна­ков после за­пя­той, сим­вол (обыч­но это 3−4-знач­ный код) и имя. Шесть обя­за­тель­ных па­ра­мет­ров опре­де­ля­ют ко­ли­че­ство и пе­ре­да­чу то­ке­нов.

Пер­вые два ис­поль­зу­ют­ся для за­да­ния ис­ход­но­го рас­пре­де­ле­ния:

  • Функция totalSupply определяет общее количество токенов. После достижения максимума смарт-контракт перестает их выпускать.
  • Функция balance0f присваивает первичное число токенов любому адресу (обычно это адресвладельцев ICO).
  • Для рас­пре­де­ле­ния между поль­зо­ва­те­ля­ми и пе­ре­во­да от од­но­го поль­зо­ва­те­ля к дру­го­му необ­хо­ди­мы два ме­то­да пе­ре­но­са. Они крайне важны для вто­рич­но­го рынка:

  • Функция transfer переводит токены с первичного адреса индивидуальным пользователям, купившим их во время ICO.
  • Функция transferFrom используется для пересылки токенов от одного пользователя к другому.
  • Еще две функ­ции необ­хо­ди­мы для про­вер­ки двух преды­ду­щих:

  • Функция approve проверяет, остались ли токены у смарт-контракта.
  • Функция allowance гарантирует, что на неком адресе достаточно токенов для их пересылки на другой адрес.
  • Эти шесть про­стых шагов поз­во­ли­ли раз­ра­бот­чи­кам ко­шель­ков и бир­жам со­здать еди­ную базу кода, спо­соб­ную вза­и­мо­дей­ство­вать с любым кон­трак­том стан­дар­та ERC-20.

    Токен Ethereum ERC-223

    Хотя стандарт ERC-20 очень полезен, он далеко не идеален. Например, из-за недостатков проектирования, люди могут послать токены на смарт-контракт, считая, что посылают их на обычный кошелек — таким образом уже были необратимо утрачены токены на сумму более 3 млн долларов.

    В ERC-223 эта ошибка исправлена — здесь можно одной функцией переводить токены на смарт-контракты и кошельки. Кроме того, с токенами ERC-223, в отличие от ERC-20, для перевода требуется одна операция, а не две, а значит, и вдвое меньше газа для его оплаты.

    И кроме того, токены ERC-223 обратно-совместимы со стандартом ERC-20, то есть все оригинальные функции тоже поддерживаются.

    Таким образом, можно ожидать, что стандарт ERC-223 рано или поздно вытеснит ERC-20 в качестве самого распространенного стандарта токенов в Ethereum. Правда, большинство Ethereum-кошельков еще не поддерживают токены ERC-223, поэтому и разработчики проекта не торопились с его внедрением.

    Впрочем, учитывая, насколько быстро эволюционирует криптовалютная экосистема, не удивляйтесь, если токены ERC-223 станут популярны уже в 2019 году — или даже раньше.

    Токен Ethereum ERC-721

    Токены ERC-721 приобрели первую известность в конце 2017 года, когда по всему миру прогремела коллекционная игра CryptoKitties, основанная на платформе Ethereum.

    Ключевое различие между стандартом ERC-721 и другими стандартами ERC заключается в том, что ERC-721 позволяет создавать неконвертируемые токены (NFT), то есть в пределах одной платформы или экосистемы могут быть токены, имеющие разную стоимость.

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

    В ближайшие годы токенизация коснется все более широкого круга реальных активов, и можно спорить, что известность стандарта ERC-721 далеко затмит популярность игры CryptoKitties — в блокчейне Ethereum можно будет отразить право собственности на произведение искусства или на билет на какое-нибудь шоу. При этом подлинность и целостность продукта будет отслеживаться на протяжении всего жизненного цикла — с беспрецедентной точностью.

    Токен Ethereum ERC-777 и ERC-820

    Как и ERC-223, ERC-777 призван улучшить стандарт ERC-20 и обратно совместим с ним.

    В ERC-777, как и в ERC-223, теперь труднее потерять токены по ошибке, но у него есть и уникальные возможности — он поддерживает массу механизмов обработки транзакций.

    Чтобы разобраться с ERC-777, сначала придется взглянуть на стандарт ERC-820. Согласно этому стандарту, в сети Ethereum действует центральный реестр смарт-контрактов, позволяющий любому пользователю проверить адрес смарт-контракта и узнать, какие функции он поддерживает.

    В ERC-777 используется тот же центральный реестр из стандарта ERC-820, призванный обеспечить проверку поддерживаемых функций, а кроме того, вместо функций transfer («передать») и approve («одобрить»), принятых в стандарте ERC-20, задается совершенно новый набор функций, в частности, функция send («отправить»), используемая для передачи непосредственно эфира.

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

    Кроме того, ERC-777 предусматривает «чеканку» и уничтожение токенов, что в ряде случаев может быть необходимо.

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

    Заключение

    Платформа Ethereum непрерывно развивается, а с ней развиваются и стандарты создания приложений, и, если сегодня на этом рынке доминируют токены ERC-20, в будущем, вероятно, все больше проектов будут строиться на усовершенствованных стандартах ERC-223 или ERC-777.

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

    Источник

    Источник: https://bitchat.ru/2018/08/14/chem-otlichautsia-standarty-ethereum-tokenov/

    Предложения по улучшению стандарта токенов ERC20

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

    ERC223

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

    Преимущества:

    — есть возможность избежать случайных потерь токенов внутри контрактов, которые не предназначены для работы с изначально отправленными токенами. Однако, эти случайные потери, которые уже сейчас крайне редки, будут происходить еще реже после введения ENS.

    — перевод в контракты в ERC223 требует меньше газа, чем в ERC20.

    Недостатки и риски:

    — ERC223 сейчас – это лишь проект, а не общепринятый стандарт. Поэтому пока не существует серьёзных ICO на его базе. На нём вообще нет токенов.

    — биржам потребуется сделать обновления для поддержки таких токенов. Есть вероятность, что некоторые площадки обмена к такому ещё не готовы.

    Резюмируя, можно сказать, что достоинства этого стандарта слишком незначительны на фоне рисков использования неофициального интерфейса, не принятого Эфириумом и не являющегося стандартом.

    ERC721

    Цель этого предложения – создать токен, не являющийся взаимозаменяемым активом. В стандартах ERC20 и ERC223 токены равны друг другу. Это позволяет легко ими торговать, так как ко всем токенам применим одинаковый подход.

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

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

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

    Но пока это лишь предложение.

    ERC777

    Наиболее перспективным выглядит проект стандарта ERC777. Он обладает обратной совместимостью, что позволяет ему работать с важными функциями ERC20.

    Он также позволяет более безопасно и просто совершать перевод с помощью новой функции трансфера: в трансфере появляется новое поле bytes”, в которое можно добавить любую дополнительную информацию для идентификации. Она автоматически сообщает получающему контракту о том, что трансфер состоялся.

    Противоречивым свойством является установленное по умолчанию количество десятичных знаков – 18. Многие считают, что это было ошибкой: не стоит изменять столь фундаментальные параметры ERC20.

    Идея ERC777 в том, не нужно ограничивать делимость токена, но и не имеет смысла допускать свыше 18 знаков после запятой.

    Пользовательская настройка в случае с ERC20 усложняет работу офлайн-кошельков («Какие бывают криптовалютные кошельки?») ERC777 не удаляет десятичные знаки, но их количество всегда по умолчанию равно 18.

    Ещё одной идеей стандарта является возможность предоставления права контракту перемещать токены от вашего имени. Это означает, что можно создать контракты, которые будут совершенствовать ваш кошелёк, добавлять новые функции.

    Это позволит, к примеру, усилить анонимность с помощью подтверждённого вами лично контракта-миксера (Что такое миксеры?) или восстановить свои токены в случае, если вы потеряете свои ключи.

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

    Источник: http://chainmedia.ru/articles/erc20-modernization/

    Существующие стандарты ERC, и что нужно о них знать

    Спецпроект «Стандарты токенов Ethereum: от ERC-20 к ERC-721» подготовлен журналом ForkLog в партнерстве с блокчейн-платформой для спортивных ставок CryptoCup.

    Во втором материале спецпроекта мы поговорим о различных видах стандартов ERC, их особенностях и существующих имплементациях.

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

    В предыдущей статье упоминались проблемы, которые возникли при использовании традиционного стандарта ERC-20. Одной из наиболее серьезных уязвимостей оказалось отсутствие регулирующего механизма отправки токенов, созданных на основе стандарта ERC-20, на другие адреса, которые этот стандарт не поддерживают. Все переданные таким образом токены сгорают.

    Подробнее этот механизм можно описать так: пользователи, которые используют в контракте функцию под названием transfer при отправке монет ERC-20 в контракты, которые не ожидают поступления и не распознают входящие токены, теряют свои средства, так как они попросту уходят в никуда.

    Эта функция отличается от функции автоматической передачи transferFrom, введенной ранее, которая не приводит к потере средств. Стандарт ERC20 использует обе функции — transfer и transferFrom.

    Итогом обсуждения данной проблемы в сети разработчиков GitHub стало создание других видов стандартов для смарт-контрактов.

    Стандарт ERC-223

    В 2017 году пользователь с никнеймом Dexaran выложил в открытый доступ GitHub код предложения нового стандарта ERC-223, который был призван решить описанную выше проблему несоответствия.

    Элегантное решение заключало в себе объединение двух функций transfer и transferFrom стандарта ERC-20 в одну функцию под названием transfer, но теперь с тремя параметрами — address _to, unit _value, bytes data.

    Эти параметры позволили исключить возможность неправильного использования функции пользователями.

    Другим важным усовершенствованием стало введение функции tokenFallback, которая подготавливает контракт для принятия любого отправляемого вида монет и предотвращает их отправку, если не получает ответа от адреса получателя. На данный момент платформа Ethereum имеет схожую функцию для всей сети — модификатор контрактов payable, который подготавливает контракты к получению монет Ether.

    На деле имплементация стандарта ERC-223 идет медленно, и большинство проектов продолжают пользоваться стандартом ERC-20.

    Отчасти это вызвано популярностью второго и недостаточной осведомленностью о первом, а также недоверием создателей проектов к другим вариантам стандартов.

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

    Тем не менее среди проектов, использующих стандарт ERC-223, можно отметить несколько интересных: AmigoCoin, CargoCoin, Expercoin.

    Стандарт ERC-777

    Созданное в конце 2017 года новое предложение стандарта было призвано решить сразу несколько задач. Благодаря новой функции tokenReceived, которая позволяла не использовать повторную функцию одобрения (second verifying transaction), время транзакции сокращалось в два раза.

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

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

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

    Стандарт ERC-721

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

    Стандарт ERC-721 стал первым примером non-fungible tokens (NFT) — уникальных или невзаимозаменяемых токенов, который был предложен для электронных предметов коллекционирования. Fungibility — это характерная особенность валюты, каждая денежная единица которой может быть заменена другой точно такой же. Например, 5 или 20 долларов хороши точно так же, как и любые другие 5 и 20 долларов.

    Все фиатные деньги являются взаимозаменяемыми, а также делимыми. Второе означает, что валюта имеет делимость до определенного предела. Например, у доллара это 1/100, что означает, что каждый доллар делится на 100, в его случае, центов.

    Функции approve и takeOwnership, а также два вида событий: Transfer и Approval делают транзакции более защищенными от случайной потери средств, как в случае со стандартом ERC-20.

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

    Среди прочих проектов, созданных на основе стандарта ERC-721, стоит упомянуть: CryptoPunks, Decentraland, Rare Pepes, WePower и Cryptocup.

    Стандарты ERC-821 и ERC-875

    Ставшие продолжением стандарта ERC-721, стандарты ERC-821 и ERC-875, каждый по-своему, подошли к улучшению смарт-контрактов для невзаимозаменяемых токенов.

    ERC-821 имеет такую же, как у ERC-777 функцию transferAndCall, которая позволяет контрактам реагировать на входящие токены. Также он предложил использовать более конкретизированный нейминг, чтобы не вызывать путаницы между разными видами предметов коллекционирования. Сигналы совместимости со всеми остальными стандартами сейчас находятся в разработке.

    ERC-875 предложил возможность отправки нескольких NFT (non-fungible tokens) в одной транзакции, при помощи присвоения каждому из них персонального индекса. Стандарт также предполагает безопасные отправку и обмен токенов, как и в случае с ERC-721.

    Заключение

    На данный момент можно выделить два основных типа стандартов. К первому относятся все предложения, созданные для улучшения ERC-20, а ко второму стандарты занимающийся унификацией NFT или электронных предметов коллекционирования.

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

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

    Источник: https://forklog.com/sushhestvuyushhie-standarty-erc-i-chto-nuzhno-o-nih-znat/

    Стандарты токенов на блокчейне Ethereum —

    Стандарты токенов на блокчейне Ethereum

    ERC20 — самый популярный стандарт, но далеко не единственный. В этой статье я расскажу о других стандартах.

    Одним из важных этапов подготовки к любому ICO является выбор площадки для выпуска монет. На сегодняшний день существует множество блокчейн-платформ для создания собственных токенов, таких как NEM, WAVES, NXT и EOS.

    Наибольшей популярностью пользуется блокчейн Ethereum. Сегодня большинство монет запускается на основе этого блокчейна и стандарта ERC20.

    Не верите? Можете взглянуть на топ-100 монет на сайте Coinmarketcap и убедиться в этом.

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

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

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

    Для большего понимания можно сопоставить следующие понятия: ваши деньги — это непосредственно монеты Эфириума, организации, использующие жетоны — это децентрализованные приложения «dApp» (от англ. Decentralized Application), а сами жетоны — это те самые токены.

    ERC-20: основа основ

    Вы могли увидеть фразу «ERC-20» при чтении информации о токенах Эфириума. Она относится к определенному стандарту, который является наиболее распространенным и широко используемым на платформе Ethereum. ERC20 (с англ. Ethereum Request for Comments) означает «запрос на комментарии в Ethereum».

    Данный стандарт был представлен в 2015 году и поначалу активно использовался лишь программистами, а принят сообществом в полной мере лишь в 2017. Он описывает по каким правилам будут работать монеты, созданные на его основе.

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

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

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

    Именно после внедрения ERC20 на рынке криптовалют был отмечен рост ICO-компаний в геометрической прогрессии. Неудивительно, ведь больше не нужно было придумывать свои спецификации и правила для эмиссии и эксплуатации токенов, а также разрабатывать стандарты для их совместимости со своим блокчейном. Всё это уже было описано в стандарте ERC20, где предусматривалось шесть основных функций:

    1. Общее количество монет.
    2. Количество монет на счету конкретного адреса.
    3. Функция передачи токенов с первичного адреса на адрес индивидуального пользователя, участника ICO.
    4. Функция перевода токенов между пользователями.
    5. Функция для проверки остаточной суммы токенов у смарт-контракта с возможностью вывода средств.
    6. Функция, гарантирующая, что у отправителя достаточно токенов для совершения транзакции в момент отправки.

    Смарт-контракты: зарождение новой экономики

    Главным же секретом успеха стандарта ERC20 является внедрение смарт-контрактов.

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

    Основная идея работы смарт-контракта заключается в следующем: когда вы проводите транзакцию, отправляя токены на адрес получателя, на вашем адресе их становится меньше, а на адресе получателя их становится больше на то же самое количество.

    Но что в этом особенного? А то, что технически никто никому ничего не пересылает. На самом деле отправляется инструкция в смарт-контракт о том, что у данного количества монет сменился адрес владельца.

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

    Все, что от них теперь требуется, — это проверить правильность выполнения всех условий контракта, так как стороны (отправитель и получатель) взаимодействуют исключительно с помощью смарт-контрактов.

    Горе от ума

    Так как стандарт ERC20 был первой версией протокола на базе Ethereum, со временем в нем обнаружился ряд проблем и недочетов. Например, пользователи могли случайно отправить токены на адрес смарт-контракта, при этом обратная транзакция невозможна. Это происходит вследствие того, что стандартная реализация токена ERC20 предполагает два способа передачи токенов:

    1. Функция передачи (transfer), позволяющая отправить токены с одного адреса на другой.
    2. Комбинация функций (approve + transferForm) для внесения депозита токенами в смарт-контракт.

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

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

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

    По стандарту ERC20 передача токена должна рассматриваться как событие, но передаточная функция (transfer) не дает возможность обработать эту транзакцию, потому что она просто увеличивает баланс получателя без каких-либо проверок.

     Может возникнуть проблема, при которой контракт никак не сможет распознать этот перевод, если получатель является смарт-контрактом и токены были отправлены с помощью функции «transfer». Это вызывает неожиданное поведение функции передачи и приводит к непредсказуемому результату, т.е.

    токены могут быть утеряны и навсегда заморожены.

    Как же решили данную проблему создатели Ethereum? Ответ оказался прост как для читателя, так и для разработчика: внедрение функций approve+transferForm, где пользователь уже сам дает разрешение смарт-контракту на вывод своих средств в случае проведения транзакции, при помощи функции transferFrom, без ошибок.

    Примечательно, что подобную ошибку сами разработчики не считают за таковую:

    1. “Это не баг, а ошибка пользователя”.
    2. “Это не баг или уязвимость, это особенность стандартного дизайна ERC20”.

    Но как бы там ни было, данная проблема все равно имела место быть. Только за прошлый год было потеряно более $3 млн пользователями этого ПО. Например, на смарт-контракт EOS, на текущий момент, пользователи перевели токенов на сумму около $2,1 млн.

    Но это далеко не все, токены были потеряны и на следующих контрактах: Tronix — $400 000, Golem и ZRX — более $200 000 на каждом, а на контракте OmiseGo на сегодня заморожено токенов на сумму более $150 000. Если такой дизайн приводит к таким крупным потерям, то он как минимум плох.

    ERC-223: работа над ошибками ERC-20

    Создатель: Dexaran

    Тип: стандартный токен

    Для решения уязвимости первой версии протокола Ethereum пользователем под ником Dexaran был разработан стандарт ERC223, который заставлял токены стандарта ERC20 вести себя так же, как и при переводе эфира на смарт-контракты. Теперь в случае ошибки в функции transfer, когда смарт-контракт не поддерживает данную криптовалюту, транзакция отменяется. Для этого были введены две новые функции:

    1. Функция transfer, заменяющая старые transfer и transferFrom
    2. Функция tokenFallBack для принимающего смарт-контракта, которая определяет тип отправленных монет.

    Довольно часто предлагаются новые стандарты для токенов. Как правило, они тщательно рассматриваются как криптосообществом, так и разработчиками в сфере блокчейн-технологий. О некоторых из них будет весьма полезно узнать.

    ERC-721: криптокотики и другие коллекции

    Создатель: Дитер Ширли

    Тип: коллекционный токен

    Токены, созданные при помощи ERC-20 являются взаимозаменяемыми. Иными словами, каждый токен совпадает с другим. Если рассматривать его как валюту, то это свойство просто необходимо, однако с точки зрения “криптовалютного коллекционирования” такой токен совершенно не подойдет. Благодаря ERC-721 каждый токен становится уникальным.

     Первыми этот стандарт использовали разработчики нашумевшей онлайн-игры CryptoKitties. В её основе лежит использование уникальных атрибутов: возраст, окрас, порода. Некоторая смесь атрибутов может стать невероятно редкой, а такой котенок станет очень дорогим. После эту идею подхватили CryptoPuppies, CryptoPets и даже CryptoPunks.

    ERC-827: новый ERC-20

    Создатель: Августо Лэмбл

    Тип: стандартный токен

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

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

    Безопасность и надежность блокчейна при этом остаются неизменны.

    ERC-948: рай для B2C-бизнесменов

    Создатель: Кевин Оукоки

    Тип: токен для подписки

    Модель “подписки” стала крайне популярной и востребованной в цифровом мире, только в прошлом году было привлечено свыше 11 миллионов клиентов.

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

    Предложение протокола ERC-948 предназначено для подключения предприятия по модели “подписки” с потребителями.

    ERC-884: “белый список” для инвесторов

    Создатель: Дэйв Сэг

    Тип: стандартный токен

    Исходя из недавнего законопроекта, DGCL официально разрешили использовать блокчейн для учета реестра акционеров. ERC-884 был создан для активов, выпущенных любой публичной или приватной компанией Дэлавера, и содержит несколько дополнений сверх возможностей ERC-20. Это включает в себя требование  идентификации/занесения в «белый список» владельцев токенов, как неотъемлемую часть токена.

    Заключение

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

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

    Не верите в такие громкие слова? Тогда позвольте нам задать вам пару риторических вопросов.

    Лет десять назад думали ли вы о том, что сегодня можно будет оплатить покупки при помощи смартфона? Верили ли в то, что появятся электронные деньги, не зависимые ни от одного государства?

    Источник: https://bitnovosti.com/2018/05/30/standart-tokenov-na-blokchejne-ethereum/

    Создаем свой ERC20 токен на базе Ethereum за 2 минуты — Крипто на vc.ru

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

    Готовясь к ICO вы должны понимать, что ICO — чистой воды маркетинговое событие. Если вы думаете, что для проведения вам понадобится штаб программистов, вы заблуждаетесь.

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

    Да, существуют ICO, выехавшие без серьезных вложений (за счет своей идеи/опыта/связей), но давайте не будем тешить себя надеждами и лукавить — для сбора миллиона долларов вам придется вложить тысячи долларов в ICO.

    Проработку ICO оставим на следующую статью, а пока создадим наш ERC20 токен на базе Ethereum максимально быстро.

    Техническая часть

    Я уже писал, что для создания своего токена у вас есть много путей, наиболее простые и популярные это:

    • Перейти на Waves/CryptonoteStarter(или аналоги) и прямо в интерфейсе за 1 минуту выпустить свою монету
    • Разобраться в Solidity/pyEthereum(токен на базе Ethereum). Используя знания и/или стандарт написания смарт-монет ERC20(по факту исходник монеты с многими вариантами блекджеков) задеплоить контракт.

    Скажу честно — я лукавил. Вам не нужно разбираться в Solidity. Для запуска своего токена вам необходимо взять исходник токена ERC20, поменять пару строк и залить контракт в сеть одним из клиентов(оф.клиент Ethereum/Metamask/etc).

    Что представляет собой смарт-контракт токена?

    1. Это структура данных(читай таблица), состоящая из связи адреса Ethereum = количество токенов(целое число).

    2. Это набор функций, осуществляющих проверку на владение определенным количеством токенов, передача токенов = списание(операция вычитания) токенов у пользователя с определенным адресом и пополнение(операция сложения) «баланса» другого пользователя внутри структуры данных, и прочая логика.

    Когда идет обращение к смарт-контракту, вы либо читаете данные из его структуры данных(бесплатно, общедоступно), либо записываете их туда(платно, от имени своего кошелька).

    Поскольку операция записи будет происходить в сеть блокчейн Ethereum, вам необходимо будет заплатить за такую транзакцию майнерам.

    Чем больше вычислений внутри вашего смарт-контракта, тем больше необходимо будет заплатить.

    ERC20 на пальцах

    Из-за появления кучи бажных смарт-контрактов, пытающихся выполнить одни и те же действия, была предпринята попытка(удачная) стандартизировать выпускаемые токены. Сделано это было в первую очередь, чтобы:

    • снизить риски потерять деньги в результате ошибок в смарт-контракте
    • обеспечить возможность сторонним сервисам(биржам, кошелькам) бесприпятственно взаимодействовать(внедрять себе) с новыми токенами

    Для выпуска токена стандарта ERC20 вам необходимо:

    • выбрать название, например Best Coin
    • выбрать символ , например BEC
    • выбрать количество токенов, оно неизменно, например 10 000
    • выбрать будут ли токены делиться, если да — то сколько знаков после запятой будет максимально.

    Если вы доверяете community, можете воспользоваться утилитами — этой или другими. Проблема подобных сервисов — они не предоставляют исходный код, только байт-код. Поэтому нет уверености в их чистоте. Но чаще всего такие штуки пишут ребята с именем, поэтому доверять все-таки можно.

    Деплоим наш токен

    Теперь эти данные нам необходимо внести в смарт-контракт, доступный по ссылке. Скачиваем оба .sol файла. Переходим в редактор remix. Загружаем оба файла.

    Файлы загружаются кнопкой Load(Открыть). Выбираем оба файла.

    Открываем NewToken.sol, ставляем вместо переменных в нужные значения:

    • totalSupply — общее количество токенов
    • name — полное название токена
    • decimal — количество заков после запятой. Дело в том, что в контрактах все хранится только в целых числах. Поэтому вам следует указывать количество знаков, если хотите иметь возможность зачислять нецелое количество токенов
    • symbol — символ для бирж

    Должно получиться что-то в духе:

    Сохраняем. Осталось задеплоить контракт в сеть. Для тестирования задеплоим в Ropsten test net. Для деплоя потребуется какой-либо клиент. Воспользуемся MetaMask — он не умеет компилировать смарт-контракты на Solidity, поэтому сперва произведем компиляцию.

    В правой части редактора remix открываем вкладку compile. По умолчанию контракт компилируется автоматически. Выбрав свой контракт в select'е и нажав Details вы можете просмотреть байт-код и прочую информацию.

    Для деплоя жмем Run, выбираем Injected Web3, выбираем Account, которым будем деплоить(он должен подгрузиться автоматически, если у вас установлен MetaMask в браузер). Вводим нужную информацию в поля(газ, value), жмем Create.

    MetaMask подхватывает действие со страницы

    Жмем Submit. Ваш контракт задеплоен(после внесения в блокчейн, конечно). Деплой подтверждается в MetaMask'е иконкой с документом(она ведет на страницу транзакции) и надписью «Contract published».

    Задеплоенный смарт-контракт-токен.

    Производим операции с нашим токеном

    Для операций с токеном требуются два кошелька — тот у кого они уже есть(по умолчанию — создатель контракта, стандарт ERC20) и тот, кому нужно их перечислить.

    Производить операции с нашим токеном(передавать его, например) мы можем либо на странице контракта на etherscan(ссылка в MetaMask'е), либо на странице remix.

    Синее тут — операции чтения, розовое — операции записи.

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

    … Profit!

    Вот и всё, развлекайтесь!

    Буду рад ответить на ваши вопросы в комментариях или (комментарии на vc.ru можно оставлять не всегда) в чате t.me/chainchain.

    В следующей статье рассмотрим как запустить свое ICO в течение 10 минут.

    Я осознаю, что сейчас кому-то обломаю бизнес, но это слишком просто, чтобы брать за это деньги, имхо

    #блокчейн

    Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

    Написать

    Источник: https://vc.ru/crypto/28314-sozdaem-svoy-erc20-token-na-baze-ethereum-za-2-minuty

    Анатомия стандарта ERC-721 и уникальные non-fungible токены

    Создание универсального стандарта ERC-20, который работает на смарт-контрактах стало настоящим событием и переломным моментом в криптовалютном мире. Токенами стандарта ERC-20 на данный момент пользуются 95% всех ICO, так, как он позволяет обеспечить совместимость криптовалют между собой и со сторонними сервисами, такими, как биржи (Polonies, Bittrex и др.).

    Однако это далеко не единственный стандарт для токенов в системе Ethereum. В последнее время набирает популярность другой стандарт — ERC-721, который стал известен благодаря котятам, но об этом позже. Ниже мы рассмотрим основные виды криптовалютных стандартов, а затем перейдем к рассмотрению предметов коллекционирования и самого стандарта ERC-721.

    Существующие стандарты токенов

    Большинство токенов созданы на платформе Ethereum и используют для своей работы технический стандарт ERC-20.

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

    Другие стандарты могут использоваться в случае необходимости. Например, стандарт ERC-721 набирает популярность в связи с развитием электронного коллекционирования.

    Основные стандарты (классификация) токенов:

    1. ERC-20 — первый из стандартов, имеет 6 основных функций: totalSupply, balanceOf, transfer, transferFrom, approve и allowance.
    2. ERC-223 — стандарт, который был создан для предотвращения потери средств при переводах на ERC-20.

      Имеет улучшенную функцию transfer, которая выдает ошибку в случае несовместимости токенов или отсутствия подтверждения со стороны владельца.

    3. ERC-777 — еще один стандарт, который попытался решить проблему потери средств от несовместимости путем предварительного вызова интерфейса с информацией о поддержке функций у получателя.

    4. ERC-721 — применяется для уникальных неделимых токенов или электронных предметов коллекционирования.
    5. ERC-875 — новый стандарт для предметов коллекционирования, который позволяет передавать несколько токенов в одной транзакции.

    Коллекционирование и токены

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

    К материальным ценностям относятся деньги, ценные бумаги и неделимые или уникальные предметы, которые могут быть обменяны на деньги или на другие предметы.

    Особую роль в иерархии ценностей занимают предметы коллекционирования, такие, как произведения искусства и антиквариат.

    В последнее время, благодаря развитию интернета, начали появляться электронные предметы коллекционирования, такие, как игровые артефакты или редкие карты. Именно для последних случаев был создан новый стандарт ERC-721.

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

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

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

    Более 90% стандартных криптовалют являются взаимозаменяемыми и делимыми. Например, биткоин на данный момент имеет делимость до восьмого знака после запятой.

    Криптокотята и появление стандарта ERC-721

    Наиболее громким прецедентом использования стандарта ERC-721 стала игра CryptoKitties, выпущенная в 2017 году.

    Игровое приложение позволяет покупать, разводить и продавать виртуальных котят, которые обладают особыми внешними качествами, подкрепленными уникальным 256-битным “генотипом” в рамках смарт-контракта.

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

    Игра оказалась настолько популярной, что в декабре 2017 вызвала многочасовые задержки проведения транзакций в сети Ethereum и сейчас занимает 15% транзакционной активности сети.

    Вскоре за CryptoKitties появились — CryptoPuppies с виртуальными щенками и CryptoPets, где можно выбрать любое животное для разведения. А для любителей альтернативного пиксельного искусства было создано приложение CryptoPunks, где можно коллекционировать и обмениваться головами панков.

    Стандарт ERC-721 был представлен разработчиком Дитером Ширли еще до выхода нашумевшей игры. В него входят десять основных функций:

    1. name
    2. symbol
    3. totalSupply
    4. balanceOf
    5. ownerOf
    6. approve
    7. takeOwnership
    8. transfer
    9. tokenOfOwnerByIndex
    10. tokenMetadata

    А также два вида событий: Transfer и Approval.

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

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

    Успех игры с котятами привлек внимание стартапов и разработчиков, которые видят в ERC-721 способ упростить использование криптоактивов.

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

    По словам Даффи, ERC-721 также может облегчить отслеживание, торговлю и управление активами реального мира, такими как недвижимость или средства передвижения. Он заявил о собственных планах по разработке проектов с использованием стандарта в будущем.

    Создатель Litecoin Чарли Ли считает, что новый стандарт открыл возможность для предотвращения подделки ценных вещей и упростит их передачу без посредников.

    Стандарт ERC-721 в материальном и виртуальном мире

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

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

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

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

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

    А заполучить токен вместе с фактическим предметом будет еще сложнее, чем вынести Мону Лизу из Лувра в день свободного посещения музея.

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

    ERC-721 стандарт и блокчейн-тотализаторы

    Стандарт ERC-721 также может найти свое применение в азартных играх и тотализаторах, которые печально известны своей непрозрачностью и обилием мошеннических схем.

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

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

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

    Источник: https://freedman.club/erc-721-istoria-poyavlenia-22-05-18/

    Ссылка на основную публикацию