Почему мы выбрали ERC-721, а не ERC-20 для контракта получателя дивидендов

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

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

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

Итак, на заре EVM люди участвовали в ICO, и в результате им выдавали ERC-20 токены выбранного ими проекта, условно говоря, мне сказали, у тебя есть 30л воды. Далее, у токена может быть область применения, скажем, оплата транзакций в сети, места под контракт и тому подобное. В результате, я, как счастливый обладатель токенов либо могу пользоваться этими благами сам, либо продать тем, кому они нужны.

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

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

У этого подхода несколько сложностей:

  1. Процесс создания снепшота должен быть кем-то инициирован

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

  3. В принципе, вместо снепшота можно сразу рассылать средства на кошельки совладельцев.

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

Даже любая одна из этих проблем казалась бы очень неприятной. Но их больше! И тут мы подумали про ERC-721. Владение идентифицируемым объектом. В нашем примере предположим, что все объекты у нас равнозначны и дают право на получение 1% от вырученных средств. Но сам факт того, что мы можем где-то записать ID объекта (токена), позволяет создать очень простую схему: при каждом взаимодействии с нашим контрактом пользователь платит какую-то комиссию. Она остается на счете контракта. Так же мы создаем переменные "общая сумма комиссий" и таблицу "идентификатор объекта, уже снято средств". Таким образом, в любой момент времени, не дожидаясь отсечек, совладелец может снять "общая сумма комиссий" * доля ‒ "снято". Никаких снепшотов, никаких сложных дорогих операций над множеством объектов.

Так вот я и полюбил ERC-721.

Источник: https://habr.com/ru/post/668924/


Интересные статьи

Интересные статьи

Артиллерию называли «последним доводом королей». Последним доводом современных правителей можно назвать ядерное оружие. Оно было применено в боевых целях всего лишь дважды – но этого с лихвой хватил...
Казалось бы, установить имплант — это операция проще некуда, просто взять и вкрутить винт в челюсть. Потом вы начинаете считать структуру затрат и становится понятно, что нужен рентге...
Я думаю многие из Вас слышали мнение о том что кода в контроллерах быть не должно, и потому контроллер с методами в одну строку считаются «Best Practice».Я в свою очередь сомневаюсь в...
TL;DR Недавние изменения в модели ценообразования, мягко говоря, безумны. Когда я в 2012 году запустил NUKEMAP, у Google Maps были просто потрясающие программные интерфейсы. Абсолютно лучшие ...
Сегодня в Southbridge на планерке обсуждали бирюзовый менеджмент. Были те, кто предлагал двигаться сверху вниз, от идеи к практике. Мол, давайте внедрим философию бирюзового менеджмента: найдем ...