Книги

Больше денег: что такое Ethereum и как блокчейн меняет мир

22
18
20
22
24
26
28
30

Создается новый контракт, устанавливающий, что каждые n блоков он будет брать случайный индекс в дереве Меркла (используя хеш предыдущего блока как источник случайных чисел) и переводить х эфира первому, кто предъявит SVP-подобное доказательство владения блоком под этим индексом. Когда пользователь захочет повторно скачать свой файл, он может использовать протокол микроплатежей (выплачивая, к примеру, 1 сабо за каждые 32 килобайта); при этом плательщик сможет сэкономить на комиссии, если будет не запрашивать по первой цене весь файл, а публиковать транзакции с тем же одноразовым кодом каждые 32 килобайта, предлагая каждый раз чуть меньшую цену.

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

ДЕЦЕНТРАЛИЗОВАННЫЕ АВТОНОМНЫЕ ОРГАНИЗАЦИИ

Децентрализованная автономная организация (ДАО) – виртуальный объект, состоящий из конкретных членов или акционеров, где определенная часть членов, скажем, 67 %, могут согласовать решения о трате средств из общего фонда и модификации кода. Члены коллективно решают, как организация должна распределять свои средства. Методы распределения могут быть самые разные: от зарплат и премий до более оригинальных механизмов вроде вознаграждений во внутренней валюте.

ДАО напоминают обычные компании или некоммерческие организации, только решения здесь принимаются через криптографические блокчейн-технологии. До этого момента бóльшая часть разговоров о ДАО касалась «капиталистической» модели «децентрализованных автономных корпораций» (ДАК) с выплачиваемыми акционерам дивидендами и свободно торгующимися акциями. Есть и альтернатива, которую можно назвать «децентрализованным автономным сообществом», где голоса всех членов равноправны и для добавления/исключения члена потребуется согласие 67 % текущих членов. В этом случае необходимо убедиться, что одному человеку может принадлежать только одно членство.

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

◊ [0,i,K,V] – регистрирует предложение с индексом i заменить адрес в хранилище под индексом K на значение V.

◊ [1,i] – регистрирует голос в поддержку предложения.i

◊ [2,i] – принимает предложение i, если для этого набрано достаточно голосов.

Также контракт должен содержать детали по каждому из трех пунктов: учет всех изменений в хранилище контракта, список всех голосовавших за эти изменения и список всех участников организации. Возможна и более проработанная структура со встроенным механизмом голосования, например за отправление транзакции или за добавление/исключение членов. Более того, можно реализовать даже делегирование голосов, подобно тому как это происходит в ликвидной демократии (то есть кто-то может предоставить другому свое право голоса, и это право можно передавать дальше: если А передоверил свой голос B, а B в свою очередь передоверил его C, то С вынесет решение участника A). Такой дизайн обеспечил бы ДАО как децентрализованному сообществу более органичное развитие, позволяя людям делегировать задачи по добавлению/удалению членов отдельным специалистам, хотя, в отличие от «текущей системы», специалисты могут легко появляться и исчезать по мере смены расстановки среди отдельных членов сообщества.

В другой модели – децентрализованной корпорации – у каждого аккаунта есть ноль или больше акций, а для принятия решения необходимо две трети акций. Полная ее структура включала бы в себя функционал управления активами, а также возможность делать предложения о покупке/продаже акций и принимать эти предложения (желательно с возможностью следить за порядком их поступления внутри контракта). Здесь также возможно делегирование голосов в стиле ликвидной демократии, своего рода «совет директоров».

ДРУГИЕ ПРИЛОЖЕНИЯ

1. СБЕРЕГАТЕЛЬНЫЕ КОШЕЛЬКИ. Предположим, Алиса хочет обезопасить свои сбережения, но боится, что ее приватный ключ потеряется или будет кем-то украден. Она вкладывает свой эфир в контракт с «банком» – Бобом на следующих условиях.

◊ В одиночку Алиса может забрать не более 1 % средств в день.

◊ В одиночку Боб может забрать не более 1 % средств в день, но Алиса может отправить транзакцию, в которой запретит ему это делать.

◊ Вместе Алиса и Боб могут забрать любую часть средств.

Как правило, Алисе достаточно 1 % в день, но в ином случае она может договориться с Бобом и воспользоваться третьим пунктом. Если ключ Алисы украдут, она обратится к Бобу за перемещением средств на новый контракт. Если она потеряет свой ключ, Боб сможет постепенно вывести все средства. Если Боб покажется Алисе подозрительным, она сможет запретить ему забирать средства.

2. СТРАХОВАНИЕ УРОЖАЯ. Можно создать контракт на финансовые деривативы, который вместо динамики стоимости какого-либо актива будет опираться на данные о погоде. Если фермер из Айовы покупает дериватив, выплаты по которому производятся обратно пропорционально осадкам в его штате, то в случае засухи фермер получит выплату, а в случае дождей – хороший урожай. Такую схему можно использовать для страхования от стихийных бедствий в целом.

3. ДЕЦЕНТРАЛИЗОВАННЫЙ ПОТОК ИНФОРМАЦИИ. В случае финансовых контрактов на разницу цен можно создать децентрализованный источник верной информации, используя протокол SchellingCoin. SchellingCoin работает так: n сторон предоставляют значения некоторой величины (например, курс ETH/USD), эти значения сортируются, и авторы значений в диапазоне от 25 до 75 % получают выплаты. Каждому участнику выгодно отвечать так же, как и большинство, а говорить правду – единственный принцип, которого может придерживаться большая группа людей, если хочет давать одинаковые ответы. Так создается децентрализованный протокол, теоретически способный предоставлять любые данные: курс ETH/USD, температуру в Берлине или даже результат какого-то сложного вычисления.

4. СМАРТ-КОНТРАКТЫ ЭСКРОУ С МУЛЬТИПОДПИСЬЮ. Bitcoin позволяет создавать контракты для транзакций с мультиподписью; например, когда потратить средства можно, только собрав не менее трех из пяти подписей. Ethereum допускает более детализированные контракты. Например, 4 из 5 могут потратить все средства, 3 из 5 – до 10 % в день, 2 из 5 – до 0,5 % в день. Кроме того, мультиподпись Ethereum асинхронна – стороны могут подписывать транзакцию в разное время, и последняя подпись автоматически отправит транзакцию.