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 только 10 % мощности всей сети, A рискует найти залежалый блок с вероятностью 70 % (поскольку в остальных 30 % случаев A будет находить последний блок и тут же получать данные о майнинге), а у B этот риск возрастает уже до 90 %. Таким образом, если интервал между блоками достаточно короткий, залежалых блоков будет много и майнер А будет успешнее просто благодаря своим размерам. При сочетании этих двух эффектов в блокчейнах, быстро производящих блоки, с большой вероятностью один майнинг-пул, обладающий достаточно большим процентом хеш-мощности сети, де-факто захватит контроль над процессом майнинга.
Как описали Сомполински и Зохар, GHOST решает первую проблему – потерю безопасности сети – включением залежалых блоков в вычисление, определяющее, какая цепочка самая «длинная»: в расчет идут не только родительский блок и дальнейшие предки блока, но и залежалые потомки предка блока (на жаргоне Ethereum – анклы, то есть «дяди»). Все вместе они участвуют в вычислении того, за каким блоком стоит большее значение proof of work. Чтобы решить вторую проблему и предотвратить централизацию, мы выйдем за рамки протокола Сомполински и Зохара и введем выплаты за залежалые блоки: такой блок получит 87,5 % от того, что получил бы, если бы попал в блокчейн, а «племянник», включающий залежалый блок, получит 12,5 %. Однако комиссии за транзакцию анклы не получат.
Ethereum реализует упрощенную версию GHOST, которая опускается всего на семь уровней. Она работает следующим образом.
◊ В блоке должен быть указан родитель, а также 0 или более анклов.
◊ Анкл, включенный в блок B, должен обладать следующими свойствами:
◊ он должен быть прямым потомком предка k-го поколения B, где 2 <= k <= 7;
◊ это не может быть предок B;
◊ анкл должен быть валидным заголовком блока, но не обязательно должен быть ранее верифицированным или даже валидным блоком;
◊ анкл должен отличаться от всех анклов, включенных в предыдущие блоки, и всех анклов, включенных в тот же блок (двойное включение невозможно).
◊ За каждого анкла U в блоке B майнер блока B получает дополнительные 3,125 % к своему coinbase-вознаграждению, а майнер блока U получает 93,75 % от стандартного coinbase-вознаграждения.
Такую ограниченную версию GHOST, в которую анклы могут входить только до семи поколений, мы использовали по двум причинам. Во-первых, при неограниченном GHOST возникло бы слишком много сложностей с вычислениями, какие анклы конкретного блока валидны. Во-вторых, неограниченный GHOST в сочетании с предлагаемой Ethereum системой компенсаций ослабляет стимул майнить именно главную цепь блокчейна, а не цепь злоумышленника.
Комиссии
Поскольку участники сети загружают транзакции в блокчейн и проверяют валидность каждой из них, необходим некий регуляторный механизм, и обычно это – комиссии. По стандарту, который когда-то задал Bitcoin, выбор размера комиссии остается за отправителем. Предполагается, что минимальные значения будут устанавливаться динамически за счет решений майнеров. Bitcoin-сообщество широко одобрило такой подход как «рыночный», где стоимость определяется спросом и предложением. Но важно понимать, что проведение транзакций – не рынок, как бы ни хотелось видеть в майнере продавца, предоставляющего отправителю услугу за определенную плату. В реальности каждая транзакция, включенная майнером в блок, должна быть проведена всеми нодами сети, так что по большей части транзакцию осуществляет третья сторона, а не майнер. Здесь возникает риск трагедии общих ресурсов.
Однако при некоторых небрежных упрощениях этот недостаток удивительным образом самоустраняется. Происходит это следующим образом. Предположим, что…