Также контракт должен содержать детали по каждому из трех пунктов: учет всех изменений в хранилище контракта, список всех голосовавших за эти изменения и список всех участников организации. Возможна и более проработанная структура со встроенным механизмом голосования, например за отправление транзакции или за добавление/исключение членов. Более того, можно реализовать даже делегирование голосов, подобно тому как это происходит в ликвидной демократии (то есть кто-то может предоставить другому свое право голоса, и это право можно передавать дальше: если А передоверил свой голос 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 асинхронна – стороны могут подписывать транзакцию в разное время, и последняя подпись автоматически отправит транзакцию.