MEW & DDT

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

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

Безусловно были и другие проекты, которые не клонировали код биткойна целиком и предлагали миру децентрализованные решения на базе своих блокчейнов со своей экономикой и правилами. В качестве примера, можно упомянуть проект Namecoin основанный на технологии биткойна, как децентрализованная система хранения произвольных комбинаций вида «имя-значение», наиболее известным применением которой является система альтернативных корневых DNS-серверов. Namecoin устойчив к цензуре и не управляется какой-либо одной организацией. Каждый узел сети Namecoin имеет полную копию распределённой базы данных. Главным применением Namecoin'а является цензуроустойчивый домен верхнего уровня .bit, который функционально похож на .com- или .net-домены, но не зависит от ICANN - главного руководящего органа для доменных имен. Принцип одноранговой сети и отсутствие административного центра делает невозможным изъятие имени. Для вычисления блоков используется стандартное программное обеспечение для майнинга Bitcoin'ов, перенаправленное на сервер и порт, где работает Namecoin. Для регистрации имени требовалось криптовалюта Namecoin (своя экономика). Также была возможность приобрести домен за криптовалюту Bitcoin через посредников. Срок регистрации имени считается истёкшим после вычисления 36000 новых блоков (свои правила). Мощность распределённой вычислительной сети гарантирует, что не появится двух одинаковых имён и что ваше соответствие «имя-значение» («домен-адрес» в частном случае) не сможет быть присвоено и изменено ни одним посторонним лицом.

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

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

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

В качестве внутренней единицы ценности внутри смарт-контакта создаются токены по заданному алгоритму, который защищен от взлома и подделки всей инфраструктурой сети Ethereum.

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

До появления стандарта ERC-20 было множество проблем с совместимостью различных токенов основанных на Ethereum.

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

ERC (Ethereum Request for Comments) — это официальный протокол для внесения предложений по улучшению сети Ethereum; 20 – уникальный идентификационный номер предложения.

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

Стандарт ERC-20 включает в себя 6 основных функций и 3 рекомендуемые константы. Список основных функций включает в себя:

Стандарт ERC-20 включает в себя 6 основных функций и 3 рекомендуемые константы . Список о сановных функций включает в себя:

• BalanceOf - текущий баланс токенов в кошельке;

• Transfer - прямая передача токенов со своего баланса на другой адрес;

• TransferFrom - передача токенов с помощью другого смарт-контрактом или «другом» по доверенности;

• Approve - дать доверенность «другу» снять токены со своего счета токены в определенном количестве;

• Allowance - проверяет полномочия «друга» на предмет наличия у его доверенности и необходимых по доверенности токенов у доверителя;

• TotalSupply - общее количество выпущенных смарт-контрактом токенов.

ERC-20 включает 3 константы, которые нужны для удобства пользования токеном:

• name — имя смарт-контракта (токена);

• symbol — символ токена.

• decimal — число знаков после запятой;

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

В обычных кошельках, которые поддерживают токены ERC-20 используется всего две функции: по запросу баланса токенов у владельца кошелька - BalanceOf и, собственно, функция по отправке токенов со своего адреса на другой - Transfer. Функция TransferFrom обычно вызывается другим смарт-контрактов, но другим смарт-контрактом должен управлять владелец токена или «друг» по доверенности. Функции Approve и Allowance используются как правило на этапе первичного предложения токеном. Например, у вас есть токены, продажу которых, в определенном количестве, вы доверяете другому смарт-контракты.

Если смарт-контракт имеет более широкий функционал, чем просто отправка токена с одного адреса на другой, то доступ к остальным функция осуществляется с помощью децентрализованных приложений - DApps (decentralized applications). Причем к одному смарт-контракту можно разработать любое количество таких приложений на разных языках программирования.

У любого приложения есть 2 части:

фронтенд (frontend) — та часть приложения, в которой пользователь совершает действия и бэкенд (backend) — база данных приложения.

Фронтенд — это та часть приложения, которую вы скачиваете на свой компьютер или смартфон, открываете в браузере. Он содержит интерфейс, визуализирует информацию для пользователя и принимает от него запросы. Например, когда вы слушаете музыку в Apple Music, интерфейс визуализирует для пользователя кнопки паузы, перемотки, название песни и принимает запросы на поиск музыки и ее скачивание. У децентрализованных приложений фронтенд также находится на устройстве и выполняет те же функции. Например, вы установили приложение Golem для того, чтобы создать компьютерную графику для видео на компьютерах других пользователей в обмен на токены GNT. Интерфейс показывает вам количество токенов GNT на вашем аккаунте, принимает от вас запросы на выбор разрешения видео и на выбор папки, в которую необходимо сохранить готовый файл.

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

Бэкенд — это та часть приложения, которая находится на сервере компании. Он отвечает за логику работы приложения, в нем хранится база данных. В случае с Apple Music, с серверов компании Apple загружается сама песня, на них находятся ваши персональные данные — оплатили ли вы подписку, ваш никнейм, электронная почта. В случае с Golem, бэкенд содержит информацию о том, какое количество токенов GNT находится у вас на аккаунте.

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

Воспользоваться всеми функциями смарт-контракта можно и без децентрализованного приложения. Для этого необходимо иметь JSON INTERFACE (ABI/JSON)– это структурированный текст, в котором имеется информация о функциях, которые имеются в смарт-контракте со всеми входными данными и данными на выходе функций.

Данный интерфейс нужен также для интеграции децентрализованного приложения в смарт-контракт. В интернете есть несколько сервисов, которые позволяют с помощью JSON интерфейса получить доступ к полному функционалу смарт-контракта. Самый известный и надежный сервис MEW (https://www.myetherwallet.com).

Это безусловный плюс децентрализованных решений, когда не требуется ничего, чтобы воспользоваться полным функционалом смарт-контракта при наличии JSON INTERFACE и зная адрес смарт-контракта. Так выглядит страница https://www.myetherwallet.com/ru/interface/interact-with-contract для полной интеграции MEW с любым смарт-контрактом.

Для интеграции MEW со смарт-контрактом Digital DepositToken (DDT) необходимо только указать его адрес 0x8cB423a5eEEb4722Dc0c44a298ddc6a1d839255B и JSON INTERFACE (ABI/JSON)/

Заполненные поля для полной интеграции MEW со смарт-контрактом.

На следующем шаге, после нажатия кнопки «Продолжить», появится возможность воспользоваться любой функцией смарт-контрактом из списка (выберите элемент)

Выбор функции Смарт-контракта.

Например, мы выбрали функцию name - не требует входных параметров, а на выходе сообщает имя смарт-контракта.

Если функция требует входных данных, например, для просмотра оферты нужен «ключ» (АccessCode), то необходимо сначала внести входные параметры функции и нажать кнопку «Прочитать». Ключ оферты создает и знает продавец и публикует его самостоятельно.

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

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

0
Комментарии
-3 комментариев
Раскрывать всегда