Как развивалась схема раздачи токенов Airdrop

0
147
Как развивалась схема раздачи токенов Airdrop

Для привлечения внимания к своему проекту разработчики довольно часто используют такой инструмент, как air drop, который позволяет быстро и без особых усилий раздать некое количество токенов большому числу получателей. Точнее, так было поначалу. С ростом его популярности обнаружился один весьма досадный факт – подобный «аттракцион невиданной щедрости» нередко оборачивается замедлением работы сети, а комиссионные отчисления достигают совсем уж неприличных цифр. Например, можно вспомнить ситуацию с криптобиржей FCoin, которая предложила необычный механизм майнинга, базирующихся на комиссиях, что в итоге привело к серьезным последствиям для сети Ethereum. Впрочем, помимо традиционного варианта аирдроп уже есть и другие способы массовой раздачи токенов.

Сначала был спам

Перед тем, как переходить к более совершенным методам рассылки монет, вспомним, что это такое air drop, если рассматривать его в первоначальном варианте. Как организаторам рассказать о своем проекте миру, привлечь внимание сообщества? Особенно, если и создан он не с нуля, а на базе сети Ethereum. То есть фактически необходимая инфраструктура есть, осталось только придумать, как ее задействовать для продвижения собственного токена. Оказалось, что самый простой способ – спам. Проект выпускал криптовалюту и начинал массовую рассылку по адресам, если у них на счету было, скажем, 1 ETH и больше. Метод эффективен, как пользоваться аир дроп в подобной форме понятно, однако это приводило к ряду сложностей. Оставим в стороне эмоции, которые испытывает большинство пользователей, когда в один прекрасный день обнаруживает на счете горстку странных токенов, с которыми и что делать-то не понятно от слова «вообще». Главное, что схема работала и становилась все популярнее. При этом не обязательно использовать исключительно сеть Ethereum, подходит любой блокчейн, поддерживающий полноценную работу с «умными» контрактами, то есть, к примеру, EOS и т.д.

Этапы традиционного airdrop

Сама процедура проходит в несколько этапов:

  • поиск в блокчейне адресов, которые соответствуют определенным критериям (например, исходя из минимального баланса счета);
  • создание специального адреса, в задачи которого входит хранение токенов, в дальнейшем используемых для рассылки, при этом смарт-контракт может и не содержать монет, однако в его условиях предусмотрена возможность их создания для отправки заданному адресату;
  • помещение на этот же адрес такого количества ETH (если используется блокчейн Ethereum), чтобы его хватило на оплату комиссионных издержек;
  • запуск скрипта, суть которого сводится к перебору адресов с отправкой на каждый из них установленного объема токенов проекта.

Недостатки массовой рассылки монет скриптом

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

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

Возникает резонный вопрос, а можно ли организовать все как-то эффективнее и проще в плане нагрузки на сеть? Да, например, используя так называемое дерево Меркла.

Merkle tree

«Умные» контракты, при необходимости оперировать огромными списками адресов, неизбежно сталкиваются с рядом проблем. Первая заключается в объемах информации, которую можно в него поместить. То есть пойти самым простым путем – запихнуть перечень адресов внутрь и пусть смарт-контракт напрямую оперирует ими в соответствии с заданными параметрами – нельзя. Гипотетически, конечно, можно, но подобное как минимум не приветствуется и обойдется дорого. А если придумать что-то иное, скажем, внедрить в «умный» контракт функционал, позволяющий автоматически определять, принадлежит ли адрес к списку тех, по которым надо отправлять оговоренный объем токенов? Оказывается, подобное вполне реализуемо. Авторство метода принадлежит криптографу Ральфу Мерклу.
Данный подход позволяет хранить в смарт-контракте некое единственное и фиксированное число, в котором содержатся сведения, скажем, обо всех адресах получателей токенов, если рассматривать Merkle tree в контексте аир дропов. Суть заключается в том, что вся работа по определению, соответствует ли конкретный адрес условиям получения токенов, делегируется оборудованию пользователя. Соответствующее ПО проводит необходимые вычисления и предоставляет их «умному» контракту, который «видит», что да – сюда необходимо отправить установленное количество монет, так как запрос на их получение корректен и сам адрес находится в списке разрешенных.

Access Control List

Насколько большим может быть количество «белых» адресов при использовании дерева Меркла? По меркам криптовалютной индустрии, огромным. Возможно, с его помощью и не охватить весь мир, но алгоритм успешно работает в рамках смарт-контрактов, которые позволяют разрешить доступ к определенной функции миллионам клиентов, так называемые ACL. Понадобится ли для этого какая-то монструозная дорогостоящая схема? Нет, в контракте содержится все то же одно число, которое используется для проверки, принадлежит ли аккаунт, отправивший запрос, к «белому» списку. Неудивительно, что дерево Меркла и Access Control List оказались так востребованы в рамках организации аир дроп, ведь это в разы эффективнее и дешевле типичной рассылки спама всем подряд.

Как это работает?

Первым делом, как уже упоминалось ранее, в любом случае необходимо создать в сети Ethereum, или на другом аналогичном блокчейне, смарт-контракт, который получит свой адрес и сможет обрабатывать внутри себя транзакции.
Суть в том, чтобы использовать air drop на базе дерева таким образом, дабы отказаться от схемы массовой рассылки токенов по отобранным адресам, не интересуясь, а надо ли владельцу кошелька вообще эти монеты. Вместо этого смарт-контракт ждет, пока не придет некий пользователь и не «потребует» принадлежащую ему долю токенов. В доказательство «гость» предъявляет результаты сложных расчетов. «Умному» контракту лишь необходимо сверить числа и выполнить запрос на транзакцию. При этом комиссионные отчисления тоже оплачивает клиент, а не организаторы airdrop, а сам список «белых» адресов может исчисляться миллионами и более. В контракте же фигурирует лишь одно число, что крайне удобно и экономно.

Смарт-контракт

Работает это примерно таким образом. Для начала в сеть деплоится «умный» контракт. Далее формируется список адресов, которые имеют право «требовать» токены. Как это делать – на усмотрение организаторов. Например, они могут проанализировать блокчейн и отобрать огромный массив данных, а могут объявить о раздаче токенов на сайте, после чего внести в перечень все адреса пользователей, высказавших желанием получить токены проекта. Адреса записываются в общий файл, который доступен публично и необходим для ряда следующих этапов. Специальный скрип анализирует вышеупомянутый файл и строит дерево Меркла, получая некий уникальный хеш под названием Merkle root. Собственно, именно его позже будут искать пользователи. В сети выкладывается соответствующий контракт, предназначенный для air drop, на балансе которого находится такое число токенов, чтобы удовлетворить запросы всех адресов из «белого» списка. «Умному» контракту остается лишь дожидаться «требований» пользователей на монеты, сверяя хеш и проводя соответствующую транзакцию по отправке определенного количества монет.

Пользователи

От лица претендента на получение токенов процедура выглядит следующим образом:

  • проверка, что его адрес действительно имеет право на токены (файл с перечнем размещен публично, поэтому никаких проблем с этим нет);
  • построение дерева Меркла, далее – поиск хеша;
  • отправка непосредственно запроса на транзакцию по переводу на свой адрес токенов;
  • получение монет.

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

Плюсы и минусы, особенности реализации merkle-airdrop

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

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

Что касается минусов, то можно выделить следующие недостатки:

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

Получается, что за минимальную нагрузку на сеть и удобство самой системы air drop подобного типа «платит» непосредственно пользователь. Последнее касается как комиссии, так и выполнения расчетов на своем оборудовании.
С другой стороны, особенности реализации алгоритма на базе дерева Меркла по большей части положительные. Если взглянуть на ситуацию более абстрагировано, то определенные тенденции к утяжелению кода на стороне пользователя присутствуют практически во всех современных решениях. Получается, что таковы реалии – клиенту придется брать на себя часть вычислений, чтобы снизить нагрузку на сеть, повысить приватность транзакций, снизить комиссионные издержки, прочее.

Выводы

Спам-рассылка токенов по заранее составленному списку случайных адресов постепенно теряет актуальность. Ее плюс в том, что свою долю монет получают даже пользователи, которые ничего не слышали о новом проекте. Обратная сторона – а нужны ли им эти токены в принципе? Более того, бывают случаи, когда организаторы еще и стремятся максимально сэкономить, попутно мотивируя адресатов air drop к инвестированию в их проект и приобретению дополнительного количества монет. Как это делается? Очень просто – токенов рассылается неприлично мало, они валяются мертвым грузом на аккаунте, потратить их куда-то невозможно. Приходится или докупать еще и обменивать на другой актив, или смириться с «мусором» на счете.
Намного эффективнее задействование алгоритмов, предусматривающих выдачу монет по запросу. То есть пользователь сам заинтересован в получении токенов. Это и экономит ресурсы, и не создает проекту негативную репутацию. Аирдроп на базе дерева Меркла – одна их таких современных схем.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here