[Из песочницы] Применение модели непрерывного финансирования в краудфандинге

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

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

Технология программируемых денег открыла возможность реализации новых механизмов финансирования, которые помогают решить проблему безбилетника. Существование криптоэкономических примитивов облегчает эту задачу, позволяя создавать системы координации участников с заранее известными свойствами. Одним из таких примитивов, который может быть применён как для обеспечения непрерывного финансирования общественно значимых проектов, так и для рационального управления общими ресурсами, является кривая связывания токенов (token bonding curve) [1]. В основе этого механизма лежит идея токена, цена которого алгоритмически зависит от общего количества токенов, находящихся в обращении, и описывается уравнением восходящей кривой:


_kmn4ypu2yf8n7kchmsza3pvcqa.png

Реализуется этот механизм в форме смарт-контракта, который автоматически выпускает и уничтожает токены:


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

Базовый механизм может быть модифицирован или дополнен в зависимости от области применения. В частном случае краудфандинговой кампании владельцем контракта является команда проекта, и некоторая часть токенов с каждой покупки или продажи передаётся ей (например, 20%). Держатели токенов становятся спонсорами проекта, не только за счёт перевода средств в фонд поддержки проекта, но и благодаря росту цены токенов с каждой покупкой. Команда проекта впоследствии продаёт полученные токены и направляет вырученные деньги на достижение целей кампании.

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

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


Реализация

Смарт-контракт, реализующий кривую связывания, должен предоставлять методы для покупки (выпуска) и продажи (уничтожения) токенов. Детали реализации могут сильно отличаться в зависимости от области применения и желаемых характеристик. Обсуждение общего вида интерфейса можно найти здесь: https://github.com/ethereum/EIPs/issues/1671.

При выпуске и уничтожении токенов смарт-контракт выполняет вычисления цены покупки и продажи в соответствии с кривой связывания. Кривая задаётся функцией, которая определяет цену токена P через общее количество токенов в обращении S. Функция может принимать разные формы, например:


P(S)%20%3D%20%20m%20S%20%5E%20%7Bn%7D


P(S)%20%3D%20%5Cfrac%7Bm%20S%7D%7B%5Csqr


P(S)%20%3D%20e%20%5E%20%7Bm%20S%7D

Рассмотрим степенную функцию:


P(S)%20%3D%20m%20S%20%5E%20%7Bn%7D

Сумма в валюте резерва E, требуемая для покупки токенов в количестве T, может быть рассчитана как площадь области под кривой, ограниченной текущим количеством токенов в обращении и будущим количеством :


t4enzoex9hwouto1y14bpryqbya.png


E%20%3D%20%5Cint_%7BS_0%7D%5E%7BS_0%20%2


%3D%20%5Cfrac%7Bm%7D%7Bn%20%2B%201%7D((S

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


R_0%20%3D%20%5Cint_%7B0%7D%5E%7BS_0%7D%2


E%20%3D%20R_0%20%5Cleft(%20%5Cleft(%201%

Отсюда можно вывести количеcтво токенов, которые спонсор получит, отправляя известную сумму E в валюте резерва:


T%20%3D%20S_0%20%5Cleft(%20%5Cleft(%20%5

Сумма в валюте резерва, возвращаемая при продаже T токенов, рассчитывается аналогично:


E%20%3D%20%5Cint_%7BS_0%20-%20T%7D%5E%7B


%3D%20%5Cfrac%7Bm%7D%7Bn%20%2B%201%7D(S_


%3D%20R_0%20%5Cleft(%201%20-%20%5Cleft(%

Пример реализации на языке Solidity можно посмотреть здесь: https://github.com/relevant-community/bonding-curve/blob/master/contracts/BondingCurve.sol


Дальнейшее развитие

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

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

Например, токены можно использовать для управления проектом посредством децентрализованной автономной организации (DAO). Распределение денежных средств, собранных проектом, может осуществляться путём голосования за различные инициативы, выдвигаемые основателями проекта или самими спонсорами. Если у проекта нет постоянной рабочей команды, то аналогичным образом могут назначаться награды за выполнение отдельных задач, за которые будут бороться временные исполнители. Развёртывание смарт-контракта автономной организации на базе публичного блокчейна обеспечит прозрачность процесса принятия решений и открытость всех транзакций.

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

Система, в которой токен не имеет никакой присущей ему ценности, будет более подвержена манипуляциям и может стать финансовой пирамидой.


Заключение

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

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

Однако, эффективность этого криптоэкономического механизма ещё предстоит оценить. На данный момент примеров реального применения кривых связывания в децентрализованных приложениях не так много (один из самых известных проектов — Bancor), а проектирование и разработка платформ краудфандинга, использующих этот механизм, только ведётся:


  • Giveth — платформа для благотворительных организаций. Недавно начали проработку модели непрерывного финансирования на основе кривых связывания.
  • Convergent — платформа для выпуска «персональных токенов», ориентированная на создателей контента.
  • Apiary / Aragon Fundraising App — приложение для сбора средств, разрабатываемое для автономных организаций Aragon.
  • Protea — протокол для координации сообществ с применением токенов, который в том числе предусматривает построение краудфандинговых приложений.


Примечания

[1] В русскоязычной литературе нет устоявшегося перевода термина «bonding curve». Механизм также может называться «кривая закладывания». При этом подразумевается, что участники вносят деньги в смарт-контракт как залог, а взамен получают токены.

© Habrahabr.ru