Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта. Благодаря им мы улучшаем сайт!
Принять и закрыть

Читать, слущать книги онлайн бесплатно!

Электронная Литература.

Бесплатная онлайн библиотека.



Главная
Все книги
Назад
Читать: Больше денег: что такое Ethereum и как блокчейн меняет мир - Виталий Дмитриевич Бутерин на бесплатной онлайн библиотеке Э-Лит


Помоги проекту - поделись книгой:


Сторонники блокчейна указывают на повышенную надежность системы, поскольку нельзя просто взять и произвольно поменять ее правила, но этот аргумент теряет силу, если разработчики программного обеспечения и протокола работают на одну и ту же компанию, принадлежат к одной семье и сидят в одной комнате. Смысл в том, что такие системы не должны действовать как корыстные, унитарные монополии. Отсюда следует, что блокчейн будет более надежным и безопасным, если сделать его менее скоординированным.

В этом его фундаментальный парадокс. Многие сообщества, в том числе сообщества Ethereum, часто хвалят за сильный командный дух и способность быстро координироваться для срочного внедрения, реализации и активации хардфорков. Как же развивать и поощрять эту «хорошую» координацию, параллельно пресекая «плохую» координацию, где майнеры попытаются обвести всех вокруг пальца и совершить атаку 51 %?

Здесь есть три варианта:

▒ Не тратить силы на борьбу с нежелательной координацией и вместо этого попытаться разработать протоколы, которые смогут ей противостоять.

▒ Попытаться найти золотую середину, где уровень координации будет достаточным для усовершенствования протокола, но недостаточным для совершения атак.

▒ Попытаться четко разграничить полезную и вредную координации, чтобы упростить первую и усложнить вторую.

Первый подход составляет значительную часть философии Casper. Но одного этого недостаточно: если мы будем полагаться только на экономику, то не сможем учесть две другие угрозы децентрализации.

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

Третий подход – самый сложный в социальном плане. Решения могут быть такими.

▒ Вмешиваться в социальные процессы, чтобы увеличить лояльность участников блокчейна к сообществу как к единому целому и снизить вероятность, что игроки на одной стороне рынка будут лояльны непосредственно друг другу.

▒ Развивать коммуникационные каналы между разными «сторонами рынка» в одном контексте, чтобы снизить вероятность того, что валидаторы, разработчики или майнеры начнут воспринимать себя как «класс», который должен скоординироваться против других классов ради защиты собственных интересов.

▒ Разрабатывать протокол таким образом, чтобы снизить мотивацию валидаторов/майнеров вступать в «особые отношения» один на один, минимизировать появление централизованных релейных сетей и других суперпротокольных механизмов.

▒ Создать понятные нормы: какие базовые свойства должен иметь протокол, чего делать нельзя, а что можно, но только в самых экстремальных случаях.

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

Заметки об управлении блокчейном

VITALIK.CA

17 декабря 2017 года

В последнее время в управлении блокчейном наблюдается интересная тенденция: ончейн-голосование держателей монет обретает новую жизнь в качестве многоцелевого механизма принятия решений. Иногда такое голосование используют, чтобы выбрать суперноды, управляющие сетью (например, DPO в EOS, NEO, Lisk и других системах), а иногда – чтобы проголосовать за параметры протокола (например, лимит газа[41] в Ethereum) или за полноценное обновление протокола и его внедрение (например, Tezos). Во всех этих случаях процесс голосования автоматизирован – принципы изменения набора валидаторов или обновления правил протокола содержатся в самом протоколе, и все происходит автоматически после получения результатов голосования.

Сторонники ончейн-управления отмечают несколько его серьезных преимуществ. Во-первых, в отличие от крайне консервативной философии Bitcoin, оно способно быстро меняться и при необходимости технически совершенствоваться. Во-вторых, оно формирует открытую децентрализованную структуру и за счет этого избегает подводных камней неформального управления, которое считается либо слишком нестабильным и чреватым разрывом цепочек, либо рискующим стать де-факто централизованным – последняя мысль встречается в знаменитом эссе 1972 года «Тирания бесструктурности»[42].

Процитируем документацию Tezos:

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

И далее:

Да, но зачем упрощать [разрыв цепочки меньшинством]? Разрывы уничтожают сетевые эффекты.

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

Пока ончейн-управление выглядит очень даже привлекательно… но в чем же может быть подвох?

ЧТО ТАКОЕ УПРАВЛЕНИЕ БЛОКЧЕЙНОМ?

Для начала нужно прояснить, что такое процесс «управления блокчейном». В общих чертах – есть две неформальные модели управления, которые я буду называть «функцией принятия решений» и «координацией». Функция принятия решений представляет управление как функцию f(x1, x2… xn) → y, где входные данные – это пожелания различных легитимных заинтересованных сторон (сенаторов, президента, владельцев собственности, акционеров, избирателей и так далее), а выходные данные – само решение.


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

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



Все это – примеры слабо связанного голосования монетами, то есть голосования монетами на втором уровне в качестве координационного института. В Ethereum нет примеров тесно связанного голосования монетами (то есть голосования монетами на первом уровне в качестве внутрипротокольной функции), хотя там есть пример тесно связанного голосования майнеров: право майнеров голосовать за лимит газа. Очевидно, что тесно связанное голосование и слабо связанное голосование конкурируют в пространстве механизмов управления, поэтому стоит проанализировать преимущества и недостатки каждого из них.

Эти подходы совершенно эквивалентны, если использовать их поодиночке и с нулевыми транзакционными издержками. Если слабо связанное голосование одобрит изменение 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. Вот динамика лимита газа за последние два года.




Поделиться книгой:



Регистрация