Сторонники блокчейна указывают на повышенную надежность системы, поскольку нельзя просто взять и произвольно поменять ее правила, но этот аргумент теряет силу, если разработчики программного обеспечения и протокола работают на одну и ту же компанию, принадлежат к одной семье и сидят в одной комнате.
В этом его фундаментальный парадокс. Многие сообщества, в том числе сообщества Ethereum, часто хвалят за сильный командный дух и способность быстро координироваться для срочного внедрения, реализации и активации хардфорков. Как же развивать и поощрять эту «хорошую» координацию, параллельно пресекая «плохую» координацию, где майнеры попытаются обвести всех вокруг пальца и совершить атаку 51 %?
Здесь есть три варианта:
▒ Не тратить силы на борьбу с нежелательной координацией и вместо этого попытаться разработать протоколы, которые смогут ей противостоять.
▒ Попытаться найти золотую середину, где уровень координации будет достаточным для усовершенствования протокола, но недостаточным для совершения атак.
▒ Попытаться четко разграничить полезную и вредную координации, чтобы упростить первую и усложнить вторую.
Первый подход составляет значительную часть философии Casper. Но одного этого недостаточно: если мы будем полагаться только на экономику, то не сможем учесть две другие угрозы децентрализации.
Второй подход сложнее в плане проектирования, особенно на длительную перспективу, но часто такое происходит случайно. Например, можно назвать удачей тот факт, что главные разработчики биткойна говорят в основном на английском языке, а подавляющая часть майнеров – на китайском, поскольку это создает что-то вроде «двухпалатного» управления, где координация более затруднительна, а риск отказа общего характера намного меньше, поскольку действия английского и китайского сообществ в силу расстояний и коммуникационных особенностей будут несколько различаться, что снизит вероятность одинаковых ошибок.
Третий подход – самый сложный в социальном плане. Решения могут быть такими.
▒ Вмешиваться в социальные процессы, чтобы увеличить лояльность участников блокчейна к сообществу как к единому целому и снизить вероятность, что игроки на одной стороне рынка будут лояльны непосредственно друг другу.
▒ Развивать коммуникационные каналы между разными «сторонами рынка» в одном контексте, чтобы снизить вероятность того, что валидаторы, разработчики или майнеры начнут воспринимать себя как «класс», который должен скоординироваться против других классов ради защиты собственных интересов.
▒ Разрабатывать протокол таким образом, чтобы снизить мотивацию валидаторов/майнеров вступать в «особые отношения» один на один, минимизировать появление централизованных релейных сетей и других суперпротокольных механизмов.
▒ Создать понятные нормы: какие базовые свойства должен иметь протокол, чего делать нельзя, а что можно, но только в самых экстремальных случаях.
Этот третий вид децентрализации – децентрализация как предотвращение нежелательной координации – самый труднодостижимый, и здесь неизбежны уступки. Возможно, наилучшим решением этой проблемы станет опора на гарантированно децентрализованную группу – пользователей протокола.
Заметки об управлении блокчейном
VITALIK.CA
17 декабря 2017 года
В последнее время в управлении блокчейном наблюдается интересная тенденция: ончейн-голосование держателей монет обретает новую жизнь в качестве многоцелевого механизма принятия решений. Иногда такое голосование используют, чтобы выбрать суперноды, управляющие сетью (например, DPO в EOS, NEO, Lisk и других системах), а иногда – чтобы проголосовать за параметры протокола (например, лимит газа[41] в Ethereum) или за полноценное обновление протокола и его внедрение (например, Tezos). Во всех этих случаях процесс голосования автоматизирован – принципы изменения набора валидаторов или обновления правил протокола содержатся в самом протоколе, и все происходит автоматически после получения результатов голосования.
Сторонники ончейн-управления отмечают несколько его серьезных преимуществ. Во-первых, в отличие от крайне консервативной философии Bitcoin, оно способно быстро меняться и при необходимости технически совершенствоваться. Во-вторых, оно формирует открытую децентрализованную структуру и за счет этого избегает подводных камней
Процитируем документацию Tezos:
И далее:
В контексте выбора валидаторов положительная сторона ончейн-управления заключается также в том, что это создает условия, в которых сеть предъявляет высокие требования к вычислительной мощности валидаторов, избегая при этом рисков экономической централизации и других ловушек вроде тех, что появляются в публичных блокчейнах.
Пока ончейн-управление выглядит очень даже привлекательно… но в чем же может быть подвох?
Для начала нужно прояснить,
Такой подход в первом приближении часто бывает полезен, но его эффективность неустойчива: люди быстро находят возможность безнаказанно обойти закон; сами правила не всегда подлежат однозначной трактовке, а порой случаются революции – и все это, по крайней мере иногда, бывает
Координационная модель, напротив, рассматривает управление как нечто существующее на разных уровнях. В реальном мире на нижнем уровне располагаются законы физики (оружие и бомбы, как сказал бы геополитический реалист). Относительно пространства блокчейна мы можем чуть больше абстрагироваться и отнести к первому уровню способность каждого человека запускать любое программное обеспечение от лица пользователя, майнера, заинтересованной стороны, валидатора или любого другого агента, возможного в протоколе блокчейна. Нижний слой – всегда решающий. Например, если все пользователи Bitcoin однажды проснутся и решат отредактировать исходный код своих клиентов, заменив его кодом клиента Ethereum, который видит балансы конкретного токен-контракта ERC20, то токен ERC20 станет биткойном. Руководящая сила нижнего уровня непоколебима, но высшие уровни могут
Второй (и чрезвычайно важный) уровень – это координационные институты. Координационный институт создает ориентиры для действий людей, чтобы лучше управлять их поведением. И в управлении блокчейном, и в реальной жизни есть множество ситуаций, когда, действуя определенным образом в одиночку, вы, скорее всего, ничего не добьетесь (если не хуже), зато, действуя сообща, все получат желаемый результат.
Абстрактная координационная игра. Намного выгоднее сделать тот же ход, что и все остальные
В подобных случаях вам выгодней идти, когда все остальные идут, и стоять, когда все стоят. Координационные институты – это что-то вроде красных и зеленых флажков, командующих «вперед» или «стоп»
Византийский генерал[43], направляющий свои войска вперед. Цель здесь – не только поднять дух солдат, но и убедить их, что другие солдаты тоже воспряли духом и готовы броситься в бой, поэтому им не придется идти на заведомое самоубийство, атакуя поодиночке
ВАЖНО ОТМЕТИТЬ: эта концепция координационных флажков охватывает
В реальном мире подобным флажком можно назвать приказ генерала, а простейший пример из мира блокчейна – механизм, который сообщает людям о том, происходит хардфорк или нет. Координационные институты могут быть крайне формальными или совсем неформальными, и часто они дают расплывчатые указания. В идеале флажки всегда должны быть либо красными, либо зелеными, но порой они бывают желтыми или даже голографическими, представляясь для одних участников зелеными, а для других – желтыми или красными. Иногда флажков может быть несколько, и они противоречат друг другу.
Таким образом, у нас сформировалось два вопроса к управлению:
▒ Что должно быть на первом уровне? То есть какие функции должны быть встроены в сам исходный протокол; как они влияют на возможность вносить в него формульные (то есть похожие на функции принятия решений) изменения и на уровень полномочий разных агентов совершать разные действия?
▒ Что должно быть на втором уровне? То есть на каких координационных институтах стоит фокусировать внимание людей?
Ethereum также прибегал к голосованию монетами, в частности:
▒ ГОЛОСОВАНИЯ ПО ПРЕДЛОЖЕНИЯМ THE DAO: https://daostats.github.io/proposals.html
▒ ГОЛОСОВАНИЕ НА CARBONVOTE ПО THE DAO: http://v1.carbonvote.com/
▒ ГОЛОСОВАНИЕ НА CARBONVOTE ПО EIP 186/649/669: http://carbonvote.com/
Все это – примеры
Эти подходы совершенно эквивалентны, если использовать их поодиночке и с нулевыми транзакционными издержками. Если слабо связанное голосование одобрит изменение X, то это послужит «зеленым флажком», побуждающим всех загрузить обновление, а взбунтовавшееся меньшинство сможет просто его не загружать. Если тесно связанное голосование одобрит изменение X, то все произойдет автоматически, а бунтующее меньшинство сможет установить хардфорк, отменяющий это изменение. Однако очевидно, что создание хардфорка бывает сопряжено с ненулевыми транзакционными издержками, и здесь начинаются серьезные различия.
Одно очень простое и важное различие заключается в том, что при тесно связанном голосовании блокчейн по умолчанию принимает решение большинства, а меньшинству придется очень постараться скоординировать хардфорк таким образом, чтобы сохранить текущие свойства блокчейна; в свою очередь, слабо связанное голосование – лишь инструмент координации, который поручает пользователям загрузить и запустить программное обеспечение, реализующее тот или иной форк. Но есть и множество других различий. Теперь давайте рассмотрим некоторые аргументы
Механизмы голосования монетами, где бы их ни пытались опробовать, критикуют за очень низкую явку участников. В голосовании на Carbonvote по поводу The DAO активность проявили всего 4,5 % пользователей.
Кроме того, средства распределяются очень неравномерно. Действие двух этих факторов лучше всего иллюстрирует изображение, созданное критиком форка The DAO.
EIP 186 на Carbonvote собрало голосов на ~2,7 миллиона ETH, а по предложениям The DAO проголосовало не более 10 %. И это – проблема не только Ethereum: даже в Bitshares, построенной вокруг идеи голосования, итоговое решение набрало всего 17 % голосов, а в Lisk – почти 30 %, хотя, как мы увидим позже, в этих системах есть и другие недостатки.
Отсюда следует два вывода. Во-первых, голосование вряд ли будет выглядеть легитимным, если оно отражает мнение лишь небольшого процента людей. Во-вторых, злоумышленник может повлиять на ход голосования, обладая даже малой долей всех монет. Эти проблемы характерны для любых голосований: и тесно связанных, и слабо связанных.
Помимо «большого взлома», захватившего внимание всех СМИ, у The DAO были и другие, менее серьезные недостатки, связанные с теорией игр. Но это – только верхушка айсберга. Эти механизмы даже при идеальной до мельчайших деталей реализации имеют один большой недостаток: возможность отдельного избирателя повлиять на результат голосования слишком мала, чтобы обеспечить ему личный стимул проголосовать честно. А если доля пользователя в блокчейне невелика, его стимул проголосовать честно
Здесь вы можете возразить и сказать, что люди – не злобные эгоисты, которые думают только о наживе; что не каждый за взятку в полдоллара проголосует за выделение Джошу Гарзе[44] двадцати миллионов долларов, потому что его шансы на что-то повлиять ничтожны, и что с большей вероятностью люди откажутся совершать такой гнусный поступок. На это замечание можно ответить двояким образом.
Во-первых, некоторые способы получить «взятку» выглядят вполне честно. Например, биржа может предлагать проценты по депозитам (или, что еще сложнее разоблачить, на свои деньги создавать отличный интерфейс и функции), а оператор биржи использует эту огромную сумму депозитов, чтобы проголосовать в своих интересах. Биржам выгоден хаос, поэтому их стимулы явно не совпадают с интересами пользователей
Во-вторых, и это особенно неприятно, людей, кажется, действительно влечет прибыль – по крайней мере, в качестве держателей криптотокенов, и они не видят ничего плохого или эгоистичного в получении одной-двух взяток. В качестве «экспоната А» рассмотрим ситуацию с Lisk, где пул делегатов, похоже, захватили две крупные «политические партии», которые в открытую подкупают держателей монет, а также требуют, чтобы каждый член партии голосовал за других.
Вот LiskElite, куда входят 55 делегатов (из 101).
А вот LiskGDT, куда входят 33 делегата.
Экспонат Б – Ark, где некоторые пользователи получают взятки.
Обратите внимание, что здесь есть ключевое различие между слабо связанными и тесно связанными голосованиями. В первом случае прямой или косвенный подкуп избирателей тоже возможен, но если сообщество согласится, что какое-то предложение или набор голосов – часть теоретико-игровой атаки, они смогут договориться коллективно его игнорировать. В некотором смысле это уже произошло – Carbonvote содержит черный список адресов, соответствующих адресам известных бирж, и их голоса не учитываются. При тесно связанном голосовании создать такого рода черный список на уровне протокола невозможно, поскольку согласование включения в черный список –
Вышесказанное не означает, что тесно связанные голосования не устоят против подкупа. Вполне возможно, что многие из них устоят по одной простой причине: у всех этих проектов есть основатели или фонды с большими резервами токенов, полученных в результате премайнинга, которые действуют как крупные централизованные акторы. Они заинтересованы в успехе своих платформ, не склонны брать взятки и держат достаточно монет, чтобы противостоять большинству атак подкупом. Но хотя на ранних стадиях проекта такая модель централизованного доверия может быть полезной, в долгосрочной перспективе она явно нежизнеспособна.
Еще один важный аргумент против голосований заключается в том, что не у всех пользователей есть монеты и интересы тех, у кого их нет, могут расходиться с интересами держателей монет, обладающих правом голоса. В случае чистых криптовалют вроде биткойна два сценария их использования – в качестве хранения («ходлить»)[45] и средства обмена («купить кофе») – конфликтуют между собой, поскольку в первом случае гораздо важнее безопасность, а во втором – удобство. В случае Ethereum этот конфликт лишь усугубляется, поскольку многие используют платформу в целях, никак не связанных с валютой эфир (например, CryptoKitties) или даже просто с ценными цифровыми активами (например, ENS).
Кроме того, даже если держатели монет – единственный значимый класс пользователей (например, если представить себе криптовалюту, единственная цель которой – стать следующим цифровым золотом), остается проблема, связанная с тем, что при голосовании монетами голоса богатых держателей будут весомей остальных. В результате этого централизация владения активом приведет к беспрепятственной централизации принятия решений. Другими словами…
Эта критика в равной степени справедлива для слабо связанного и тесно связанного голосования; однако слабо связанное голосование более восприимчиво к компромиссам, которые смягчают недостаточный уровень репрезентативности, что мы обсудим немного позже.
Взглянем на реальный эксперимент с тесно связанным голосованием по лимиту газа, который мы сейчас проводим в Ethereum. Вот динамика лимита газа за последние два года.