Больше денег: что такое Ethereum и как блокчейн меняет мир - Виталий Дмитриевич Бутерин
Шрифт:
Интервал:
Закладка:
В простейшем виде ДАО представляет собой код, способный вносить в себя изменение, одобренное двумя третями членов. Хотя теоретически код неизменен, это правило можно легко обойти и достигнуть изменяемости де-факто, храня фрагменты кода в разных контрактах, а информацию о том, какие фрагменты вызывать, – в изменяющемся хранилище контракта. В простейшей реализации такого ДАО-контракта есть три типа транзакций, которые различаются по предоставленным данным.
◊ [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 асинхронна – стороны могут подписывать транзакцию в разное время, и последняя подпись автоматически отправит транзакцию.
5. ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ. Технология EVM также позволяет создать верифицируемую вычислительную среду, пользователи которой смогут просить друг друга проделывать вычисления и затем при желании запрашивать доказательства, что в отдельных случайно выбранных местах вычисление производится корректно. Это создает целый рынок облачных вычислений, участие в котором может принять каждый владелец компьютера, ноутбука или специализированного сервера, а для надежности нод (то есть чтобы им было невыгодно обманывать) можно использовать проверку корректности в произвольных местах вместе с системой залогов. Такая система подойдет не для всех типов заданий; например, задания, для которых необходимо высокоуровневое межпроцессное взаимодействие, трудно выполнить в среде большого облака нод. Зато другие задания распараллелить намного легче; на такой платформе можно с легкостью реализовать проекты вроде SETI@home, folding@home и генетических алгоритмов.
6. АЗАРТНЫЕ ИГРЫ P2P. В блокчейн Ethereum можно встроить любое количество протоколов азартных игр p2p вроде проекта Фрэнка Стаяно и Ричарда Клейтона Cyberdice. Простейший такой протокол – контракт на разницу с хешем следующего блока. Можно внедрить и более продвинутые протоколы сервисов азартных игр с практически нулевыми комиссиями и без возможности жульничества.
7. РЫНКИ ПРЕДСКАЗАНИЙ. При наличии оракула или SchellingCoin достаточно легко внедрить и рынки предсказаний. Вместе с SchellingCoin рынки предсказаний могут стать первым широким применением футархии как протокола управления децентрализованными организациями.
8. ДЕЦЕНТРАЛИЗОВАННЫЕ РЫНКИ ВНУТРИ БЛОКЧЕЙНА на базе систем идентификации и репутации.
ПРОЧИЕ ИДЕИ И РАЗМЫШЛЕНИЯ
Введение модифицированного GHOST
Протокол GHOST (greedy heaviest оbserved subtree, «протокол с поглощением наиболее тяжелой ветви») был предложен Йонатаном Сомполински и Авивом Зохаром в декабре 2013 года. Его необходимость связана с недостаточной защитой блокчейнов с быстрым временем подтверждения транзакции из-за высокого уровня «залежалости» блоков, связанной с тем, что для распространения по сети им нужно некоторое время. Допустим, если майнер А находит блок, а затем майнер B находит другой блок с таким же порядковым номером до того, как до него дойдет информация о находке майнера A, блок майнера B остается ненужным и не поможет обезопасить сеть. Также существует проблема централизации: если A – майнинг-пул с 30 % мощности всей сети, а у B