Больше денег: что такое Ethereum и как блокчейн меняет мир - Виталий Дмитриевич Бутерин
Шрифт:
Интервал:
Закладка:
▒ Традиционные корпорации централизованы политически (один СЕО), архитектурно (один головной офис) и логически (не будет работать, если разделить на две части).
▒ Гражданское право опирается на централизованный законодательный орган, а общее право – на многочисленные прецеденты судебных процессов. У гражданского права наблюдается некоторая архитектурная децентрализация, поскольку каждый суд выносит решение самостоятельно, однако у общего права ее больше. И оба логически централизованы («закон есть закон»).
▒ Языки логически децентрализованы: Алиса с Бобом говорят на том же английском, что и Чарли с Дэвидом, и все они поймут друг друга без предварительных договоренностей. Языки спокойно существуют без централизованной инфраструктуры, а правила английской грамматики не подконтрольны какому-то отдельному человеку или организации (в свою очередь, эсперанто был изобретен Людвиком Заменгофом, хотя сейчас это скорее живой язык, который развивается самостоятельно и бесконтрольно).
▒ BitTorrent, как и английский язык, логически децентрализован. Сети доставки контента похожи на них, но подконтрольны одной конкретной компании.
▒ Блокчейны децентрализованы политически (их никто не контролирует) и архитектурно (у них нет центральной точки отказа), но логически они централизованы (есть одно общепринятое состояние, и система ведет себя как единый компьютер).
Перечисляя преимущества блокчейна, люди часто упоминают удобства «единой центральной базы данных» – проявления логической централизации. Такой вид централизации во многих случаях считается полезным (хотя Хуан Бенет из IPFS выступает за тотальную логическую децентрализацию, поскольку логически децентрализованные системы хорошо переносят разделение сети, работают в регионах с плохой связью и так далее).
Архитектурная централизация часто приводит к политической, хотя и не всегда: при формальной демократии политики встречаются и голосуют в конкретном физическом помещении, но это не значит, что весь персонал этого помещения получает право голоса. В компьютеризированных системах может сложиться архитектурная, но не политическая децентрализация: например, онлайн-сообщество для удобства может использовать какой-то централизованный форум, но договориться коллективно перейти на другой в случае злонамеренных действий со стороны владельцев этого форума (с большой вероятностью так будут поступать сообщества, объединенные борьбой с тем, что они воспринимают как цензуру).
С логической централизацией сложно достичь архитектурной децентрализации, но не невозможно: сети децентрализованного консенсуса уже доказали свою эффективность, хотя поддерживать их сложнее, чем BitTorrent. Также с логической централизацией сложно добиться политической децентрализации – в таких системах непросто разрешить все разногласия по принципу «сам живи и другим не мешай».
ТРИ ПРИЧИНЫ ДЕЦЕНТРАЛИЗАЦИИ
Следующий вопрос: чем хороша децентрализация? Вот несколько самых популярных доводов.
▒ ОТКАЗОУСТОЙЧИВОСТЬ – децентрализованные системы менее подвержены случайным сбоям, поскольку полагаются на множество отдельных и независимых составляющих.
▒ СОПРОТИВЛЕНИЕ АТАКАМ – попытки взломать, уничтожить или взять под контроль децентрализованные системы обойдутся дороже, поскольку у таких систем нет уязвимых центральных точек, атаковать которые будет дешевле относительно стоимости окружающей их экономической системы.
▒ СОПРОТИВЛЕНИЕ СГОВОРУ – участникам децентрализованной сети гораздо сложнее сговориться между собой и нажиться за счет других участников, в то время как лидеры государств и корпораций постоянно вступают в сговоры, пользуясь менее скоординированными гражданами, клиентами, работниками и просто людьми.
Все три довода важны и обоснованны, однако они ведут к совершенно другим и весьма интересным заключениям, если рассмотреть их в контексте протоколов. Присмотримся к каждому повнимательней.
В случае отказоустойчивости ключевой аргумент довольно прост. Что произойдет с меньшей вероятностью: откажет один компьютер или одновременно откажут 5 компьютеров из 10? Принцип вполне логичный и часто используется в реальной жизни, например для реактивных двигателей, источников бесперебойного питания в местах вроде больниц, военной инфраструктуры, диверсификации финансовых портфелей и, само собой, компьютерных сетей.
Однако этот несомненно эффективный и важный вид децентрализации, вопреки наивной математической модели, часто оказывается далек от того, чтобы стать панацеей. Причина тому – отказ общего характера. Конечно, один двигатель откажет с большей вероятностью, чем одновременно сразу четыре, но что, если все четыре были изготовлены на одном заводе и по вине конкретного недобросовестного работника вся эта партия вышла с браком?
Могут ли блокчейны в сегодняшнем виде защититься от отказа общего характера? Не факт. Рассмотрим следующие сценарии.
▒ Все ноды блокчейна выполняют программу одного клиента, и в коде программы обнаруживается баг.
▒ Все ноды блокчейна выполняют программу одного клиента, но группу разработчиков этой программы подкупили.
▒ Исследовательскую группу, предлагающую апгрейды протокола, подкупили.
▒ 70 % майнеров блокчейна на базе proof of work находятся в одной стране, правительство которой принимает решение конфисковать майнинговые фермы в интересах национальной безопасности.
▒ Бóльшая часть майнингового оборудования производится одной и той же компанией, которую подкупом или угрозами заставляют встроить в оборудование бэкдор, позволяющий его отключить.
▒ В блокчейне на основе proof of stake 70 % монет, сданных в стейкинг, хранятся на одной и той же бирже.
Целостный взгляд на децентрализацию отказоустойчивости помогает учесть все эти аспекты и постараться их минимизировать. Отсюда несколько очевидных заключений.
▒ Критически важно иметь множественные, конкурирующие между собой реализации протокола.
▒ Необходимо демократизировать информацию о технических аспектах обновлений протокола, чтобы люди могли спокойно участвовать в исследовательских обсуждениях и критиковать откровенно неудачные изменения.
▒ Главные разработчики и исследователи должны работать в разных компаниях и организациях (или, как вариант, многие могут быть волонтерами).
▒ Дизайн майнинговых алгоритмов должен быть ориентирован на минимизацию рисков централизации.
▒ В идеале с помощью proof of stake мы хотим полностью избавиться от риска аппаратной централизации (но не стоит забывать, что proof of stake чреват другими рисками).
Нужно отметить, что простейшие требования отказоустойчивости связаны с архитектурной децентрализацией, но в вопросе отказоустойчивости сообщества, которое управляет продолжением разработки протокола, мы переходим к не менее важной политической децентрализации.
Теперь поговорим о противодействии атакам. В некоторых чистых экономических моделях децентрализация не так уж и важна.
Если протокол гарантирует, что валидаторы потеряют 50 миллионов долларов в случае атаки 51 % (то есть отмены завершенных транзакций), то не так важно, одна или сто компаний контролируют валидаторов, ведь риск потери 50 миллионов долларов в любом случае гарантирует экономическую безопасность. На самом деле в области теории игр существуют основания[38] полагать, что централизация может даже максимизировать экономическую безопасность (эту мысль отражает модель выбора транзакций в существующих блокчейнах, поскольку включение транзакции в блоки через майнеров / инициаторов блока есть не что иное, как диктатура с очень высокой ротацией).
Но как только мы внедряем более развитую экономическую модель, в частности такую, которая допускает возможность принуждения (или более деликатные методы вроде прицельных DoS-атак против нод), децентрализация становится куда важнее. К примеру, когда злоумышленник угрожает валидатору убийством, если тот не совершит определенных действий, перспектива потери 50 миллионов долларов отходит на второй план. Однако если эти 50 миллионов распределены между десятью валидаторами, злоумышленнику придется угрожать всем десяти, причем одновременно. Во многих случаях асимметрия атака/защита склоняется в пользу атакующего