Введение
Материал данной статьи написан с расчётом на наличие хотя бы минимальных базовых знаний в области криптовалют. С вашей стороны необходимо понимание как минимум того, что такое криптовалюта, как и для чего используется, что такое эфириум и эфир. Вы должны иметь общее представление о том, что такое блокчейн, смарт контракты и децентрализованные приложения. Если вы не владеете такой информацией, то, прежде чем начинать изучение токенов эфириума, стоит уделить немного времени и разобраться с данными вопросами.
Токен
Токен в сети эфириума это с одной стороны полноценная криптовалюта, такая, каких вы много встречали на криптовалютных биржах. С другой стороны, с технической, это смарт контракт, написанный по общим правилам создания децентрализованных приложений на блокчейне эфриума. Токены программируются под различные бизнес возможности, например, под конечную эмиссию монет, или под возможность брать в залог, тратить от чужого имени (обычно с его позволения). Токенам присуще использование стандартов в своей основе, например, популярный стандарт ERC20, благодаря которому токены легко размещаются на любых криптовалютных биржах. Токены разрабатывают с определённой целью, например, для первичного размещения монет (Initial Coin Offering или ICO), для работы в качестве расчётной единицы в разрабатываемом сервисе.
Токены не отличаются от остальных криптовалют на биржах и живут по тем же правилам рынка, что и биткойн или сам эфир. При этом все токены очень удобно меняются на эфир, при желании и с позволения владельца. Для этого достаточно будет любого стандартного кошелька эфириума.
Как вы понимаете, у токенов эфириума очень много карт в рукаве, но для того чтобы ими воспользоваться, о них нужно знать. Всё дело в том, что на текущий момент развития культуры понимания криптовалютного рынка и возможностей смарт контрактов в частности, заказчики, да порой и сами разработчики, не совсем понимают, что нужно, что стоит, и что полезного сделать, чтобы идея, лежащая в основе проекта для которой делается токен, выстрелила в правильном направлении. Т.е. чтобы токен не превратился в очередную никому не нужную монету, а чтобы он рос вместе с проектом и помогал ему в его развитии.
В любом случае, серьёзно настроенные разработчики и заказчики путём совместного обсуждения обычно приходят к определённым решениям по выпускаемому токену и новая монета разрабатывается под цели проекта. Вот только происходит это больше на условиях разработчиков, по причине большей осведомлённости в вопросе.
С технической точки зрения
Здесь главное понять, что токен эфириума − это полноценная программа, написанная на тьюринг полном языке программирования. Поэтому любые разумные возможности, которые можно формализовать сводом определённых правил и алгоритмов, могут быть переложены на машинный код под блокчейн для выполнения в виртуальной машине эфириума. Токен − это не более чем разновидность смарт контрактов и при этом не самая сложная. Примеров реализованных монет уже достаточно много и программистам есть на что опираться в разработках.
Для общего развития поясним структуру и функционирование обычного токена.
- Валютный реестр – массив записей формата “аккаунт->сумма”
- Метод регистрации аккаунтов – новые участники расчётов токеном должны быть в массиве валютного реестра. Т.е. данный метод добавляет туда новые адреса с нулевым (обычно) балансом.
- Метод чтения состояния – просмотр вашего баланса. Может быть доступен только владельцу аккаунта или может быть доступен всем желающим. А можно сделать так, чтобы при регистрации нового участника всем приходило оповещение с напоминанием перевести ему деньги…
- Метод для переводов денег - изменений записей валютного реестра в соответствии с полномочиями на доступ к списанию. Т.е. только владелец аккаунта может списать сумму со своей записи массива и добавить эту сумму другой записи массива, которая принадлежит уже другому аккаунту (в этом и есть вся сущность электронных денег – массив и переводы).
- Методы для управления – с доступом только для владельца токена.
- Методы для дополнительных возможностей – здесь соберём сразу все оставшиеся дополнительные возможности, которые навешиваются на токены. Что конкретно здесь может быть читайте чуть ниже в соответствующем разделе.
- Клиентский кошелёк – любой интерфейс, заменяющий вызовы функций токена на понятный для пользователя и приятный графический дизайн с полями для ввода, кнопками, чекбоксами и пояснениями. В большинстве случаев в качестве кошелька для токенов используется обычный кошелёк для эфира, который отлично умеет работать с любыми токенами сети.
- Размещение и доступ к токену – такой токен внедряется в блокчен эфириума и его адрес вместе с интерфейсом доступа публикуются на страничках сайтов для потенциальных пользователей.
Таким образом, токен − это приложение, функционирующее в сети эфириума, для доступа к которому используются запрограммированные внутри него методы. Он делает только то, что реализовано данными методами. Для обращения к методам можно использовать кошелёк эфириума, mist, консоль виртуальной машины, любой интерфейс вызова методов смарт контрактов сети или специально написанную для этих целей дополнительную программу, например, с web интерфейсом.
Стандартизация
Описанного выше функционала достаточно для работы токена. Но сейчас токенов стало достаточно много и для работы с ними сторонних приложений очень удобно было ввести определённые стандарты. Таковые появились сперва негласно, позже на их основе стали появляться стандарты под определённым именами и использование этих стандартов стало не просто правилом хорошего тона, но и требованием для включения токенов на криптовалютные биржи и, соответственно, требованием со стороны заказчиков.
В основе стандартизации лежат соглашения по наименованию валютного реестра, методов и событий контракта. В каждом методе стандарта присутствует строго определённый набор параметров. Помимо методов стандарта токен может содержать любое дополнительное количество методов, реализующих его расширенную функциональность.
На сегодня используются следующие стандарты:
ERC179 – самые базовые функции по чтению баланса и переводу средств.
ERC20 – создан на базе ERC179. Отличается от своего предшественника наличием механизма для предоставления владельцем аккаунта своих средств в пользование другим участникам сети. Как вы понимаете, такой механизм делает токен более продвинутым технически, но с другой стороны, такой механизм не слишком часто кому-то нужен. Потому сейчас ещё встречаются новые контракты на базе ERC179. Но ERC20 сейчас является “самым стандартным” из стандартов, и все рекомендуют использовать его, чтобы не изобретать велосипед и что бы не было проблем с размещением токена на биржах.
ERC23 – новый стандарт на базе ERC20 с дополнительной защитой от потери денег при переводах на контракты не предназначенные для этого. Также есть дополнительная и оптимизированная функциональность для более экономного использования GAS при переводах и при управлении токеном. Рекомендован к использованию.
Типовые возможности монет
Как мы и обещали выше, перечислим те возможности токенов, которые могут быть добавлены по желанию заказчика или в соответствии с насущной необходимостью со стороны идеи проекта, для которого предназначен токен:
- Стандарт – один из указанных выше.
- Предварительная эмиссия – выпуск в обращение монет при добавлении токена в блокчейн
- Эмиссия под запрос – пользователь переводит на контракт эфир, в ответ происходит эмиссия токена и перевод его на баланс пользователя.
- Майнинг – можно реализовать эмиссиюю монет по аналогии с биткойном.
- Уничтожение части токенов – условное или управляемое снижение массы эмитированных токенов, например, для укрепления курса монеты.
- Замораживание – приостановка работы всей сети, отдельных транзакций или отдельных аккаунтов на определённое время или определённых условиях.
- Разрешения - возможность тратить деньги с чужих аккаунтов с позволения владельца.
- Обмен – ручная или автоматическая (с использованием оракулов) установка курса монеты к ETH или к другим токенам и автоматический обмен токена при переводе на него эфира или других токенов. Также, как и отправка сторонних токенов или эфира с баланса самого контракта в ответ на получение токена от контрагента. Разумеется, для отправки чужих токенов с контракта, они должны на этом контракте быть.
Это просто примеры часто используемых расширений токенов. Запрограммировать, как уже отмечалось, можно любую формализуемую задачу.
Стоимость процесса разработки
Сама технология очень новая, сложная и ответственная. С другой стороны, за подобными решениями обращаются с единственной целью – помочь в реализации идеи на которой можно заработать. Цена на подобную услугу по определению не может быть низкой.
Для наглядности поясним на примере из реальной жизни. Супернавороченный, современный, передовой магнитофон (если такие ещё выпускаются) будет стоить допустим 200$. В нём собраны такие технологии, которые невозможно воспроизвести без самого передового оборудования и без высоко квалифицированного персонала. Но стоит он всего 200$.
Теперь возьмём обойный станок. Он по своей конструкции очень прост. Как холодильник, только что не морозит, а печатает на обойном прокате. Его обслуживанием и ремонтом, да и производством по большому счёту, может заниматься любой “умелец на все руки” (про то, что может заниматься производством умелец просто не догадывается). Но стоимость одного поддержанного станка для печати обоев – сотни тысяч американских долларов.
Где логика? – Всё предельно просто: есть оборудование для бизнеса, которое помогает деньги делать, а есть одноразовое оборудование для конечного пользователя. Вот и в ценообразовании токенов немаловажную роль играет тот же принцип. Плюс добавьте сюда малое количество специалистов, поскольку рынок новый, сложность технологии и особенность ответственной работы с приложениями, которые нельзя будет изменять после внедрения. Вот и получается, что цена на стандартные токены, которые пишутся достаточно просто, не будет низкой. Озвучивать не будем, чтобы не создавать новых стандартов в ценообразовании.
Заключение
Токены сети эфириума являются полноценной криптовалютой. По своим техническим возможностям они очень сильно превосходят тот же биткойн. При этом реальная стоимость токена определена тем проектом, под который данный токен реализуется.
Для создания своего нового токена стоит иметь определённый багаж знаний в данном вопросе, чтобы получить тот цифровой продукт, который в большей степени подойдёт для реализации ваших целей.