Виталик Бутерин о децентрализации и преимуществах Proof-of-Stake
   
11.02.2017

Основатель Ethereum Виталик Бутерин опубликовал обширную запись, в которой поделился своим видением по вопросу децентрализации и, направив повествование в сторону преимущества Proof-of-Stake, выпустил несколько критических стрел в сторону экосистемы биткоина.

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

https://forklog.com/wp-content/uploads/vit-1024x683.jpg

Децентрализация – одно из тех слов, что используется в пространстве криптоэкономики наиболее часто, и оно же наиболее часто рассматривается как raison d’être (основание существования) блокчейна. В то же время это одно из тех слов, определение которого, вероятно, дано наиболее слабо. Тысячи часов исследований и миллиарды долларов хэшевой мощности были потрачены с единственной целью — попытаться добиться децентрализации, защитить и улучшить ее. Когда же дискуссии накаляются, сторонники какого-либо протокола в качестве последнего сокрушительного аргумента традиционно заявляют, что предложения оппонентов «централизованы».

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

https://forklog.com/wp-content/uploads/image02-8.png

Теперь обратимся к двум ответам на вопрос о том, «в чем отличие между распределенной и децентрализованной (системой)?» на Quora. Первый из них фактически копирует приведенную выше диаграмму, в то время как второй утверждает совершенно обратное: «распределенный означает, что обработка транзакций не происходит в одном и том же месте», в то время как «децентрализованный означает, что нет какой-либо одной единицы, контролирующей процессинг».

В то же время лучший ответ на Ethereum Stack Exchange приводит очень похожую диаграмму, однако слово «децентрализованный» и «распределенный» уже поменялись местами. Совершенно очевидно, что тут требуется разъяснение.

Три типа децентрализации

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

- Архитектурная (де)централизация – из какого количества компьютеров состоит система? Какое количество этих компьютеров может выйти одновременно из строя, чтобы система продолжила работу?

- Политическая (де)централизация – какое количество отдельных лиц или организаций в конечном итоге контролируют компьютеры, из которых состоит система?

- Логическая (де)централизация – выглядят ли интерфейс и структуры данных скорее как монолитный объект или же как аморфная группа объектов? Простая эвристика такова: если систему можно разрезать напополам, включая провайдеров и пользователей, продолжат ли обе половины работать как независимые единицы?

Эти три измерения можно представить следующим образом:

https://forklog.com/wp-content/uploads/image01-9.png

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

- Традиционные корпорации централизованы политически (один директор), архитектурно (один головной офис) и логически (разбить их пополам невозможно).

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

- Языки логически децентрализованы: английский, на котором говорят Элис и Боб, не обязательно должен быть таким же, как английский, на котором говорят Чарли и Дэвид. Нет какой-либо централизованной инфраструктуры, необходимой для существования языка, а правила грамматики не создаются и контролируются каким-либо одним лицом. В то же время язык эсперанто, хотя и функционирует больше как живой язык и развивается без единого органа управления, был изначально создан Людвигом Заменгофом.

- BitTorrent логически децентрализован – точно так же, как и английский язык. То же самое можно сказать и о сетях доставки контента, однако они контролируются одной компанией.

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

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

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

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

Три причины для децентрализации

Следующий вопрос: почему децентрализация полезна изначально? Обычно приводится несколько аргументов:

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

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

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

Это важные и верные аргументы, но все они, когда начинаешь думать о решениях протокольного уровня, ведут к некоторым интересным другим выводам. Давайте разберем каждый из них по отдельности.

Устойчивость к ошибкам

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

Однако, этот вид децентрализации, хотя и остается эффективным и крайне важным, часто оказывается не такой большой панацеей, как то иногда предсказывает простая математическая модель. Причина в неполадках по общей причине. Безусловно, отказ четырех авиационных двигателей менее вероятен, чем отказ одного, но что, если все четыре двигатели были произведены на том же заводе, и ошибка была заложена во все двигатели одним и тем же нерадивым сотрудником?

Обеспечивают ли блокчейны в своем сегодняшнем виде защиту от неполадок по общей причине? Не обязательно.

Рассмотрим следующие сценарии:

- Все ноды в блокчейне работают на одном и том же клиентском ПО, но это клиентское ПО содержит баг.

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

- Команда исследователей, предлагающая улучшения протокола, социально коррумпирована.

- В блокчейне proof-of-work 70% майнеров находятся в одной и той же стране, и правительство этой страны в целях национальной безопасности решает конфисковать все фермы.

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

- В блокчейне proof-of-stake 70% монет хранятся на одной бирже.

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

- Критически важно иметь много конкурирующих имплементаций.

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

- Разработчики ядра и исследователи должны быть наняты разными компаниями или организациями. В качестве альтернативы они могут быть волонтерами.

- Алгоритмы майнинга должны быть спроектированы таким образом, чтобы минимизировать риск централизации.

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

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

Сопротивление атакам

В некоторых чисто экономических моделях иногда можно получить результат, при котором децентрализация и вовсе не играет никакой роли. Если вы создаете протокол, в котором валидаторы гарантированно теряют $50 млн в случае атаки 51%, уже не имеет значения, контролируют ли этих валидаторов одна или сто компаний: запас экономической надежности в $50 млн – это запас экономической надежности в $50 млн. В действительности, существуют глубокие теоретические причины, по которым централизация может даже максимально увеличить это понятие экономической надежности – это мнение отражает модель выбора транзакции существующих блокчейнов, поскольку включение транзакции в блок через майнеров / заявителей блока является ничем иным, как очень быстро видоизменяющейся диктатурой.

Однако, с принятием более экономической модели с более широкими возможностями, особенно такой, которая признает возможность принуждения или более мягкий вариант вроде таргетированных DoS-атак на ноды, децентрализация становится более важной. Если человек получает угрозы смерти, $50 млн уже не будут иметь для него такого значения. Но, если $50 млн распределены среди десяти человек, угрозы должны получить в десять раз больше человек, и сделано это должно быть одновременно. В целом, современный мир во многих случаях характеризуется асимметрией атака / защиты в пользу атакующего – для уничтожения здания, возведение которого стоило $10 млн, может потребоваться $100 000, а здание, строительство которого обошлось в $1 млн, можно, вероятно, уничтожить и за $30 000.

К чему ведут эти рассуждения? Прежде всего, они служат сильным аргументом в пользу того, что отдать предпочтение proof-of-stake перед proof-of-work – компьютерное оборудование легко отследить, регулировать или атаковать, в то время как есть более простые способы спрятать монеты. Во-вторых, это аргумент в пользу широко распределенных, в том числе и географически, команд разработчиков. В третьих, они подразумевают, что при создании основанных на консенсусе протоколов необходимо принимать во внимание не только экономическую модель, но и модель устойчивости к ошибкам.

Сопротивление сговору

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

Простой пример – антимонопольное законодательство с его преднамеренными регулятивными барьерами, затрудняющими участникам одной части рынка возможность объединяться и действовать как монополист с целью получения прибыли за счет другой части рынка и общего социального благоденствия. Другой пример – правила против активной координации между кандидатами и специальными комитетами политических действий в США, даже если их практическая реализация и оказалась сложной. Менее известный пример – правило в некоторых шахматных турнирах, запрещающее двум игрокам играть слишком много матчей друг против друга с целью повышения рейтинга игроков. Куда бы мы ни посмотрели, попытки помешать нежелательной координации присутствуют везде.

В случае блокчейн-протоколов, математические и экономические аргументы в пользу надежности консенсуса часто полагаются именно на некоординированную модель выбора или на предположение, что вся игра строится на большом количестве небольших участников, принимающих решения независимо. Если один из участников завладевает более чем одной третью майнговой мощности в системе proof-of work , он может получать непропорциональную прибыль. Однако можем ли мы действительно говорить о реалистичности некоординированной модели выбора, когда 90% майнговой мощности в сети биткоина скоординировано достаточно хорошо, чтобы появиться вместе на одной конференции?

https://forklog.com/wp-content/uploads/image00-14.jpg

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

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

Предлагаемые решения

Существует три способа ответить на все эти вызовы:

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

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

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

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

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

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

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

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

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

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

https://forklog.com/vitalik-buterin-o-d … -of-stake/