▒ Гражданское право опирается на централизованный законодательный орган, а общее право – на многочисленные прецеденты судебных процессов. У гражданского права наблюдается некоторая архитектурная децентрализация, поскольку каждый суд выносит решение самостоятельно, однако у общего права ее больше. И оба логически централизованы («закон есть закон»).
▒ Языки логически децентрализованы: Алиса с Бобом говорят на том же английском, что и Чарли с Дэвидом, и все они поймут друг друга без предварительных договоренностей. Языки спокойно существуют без централизованной инфраструктуры, а правила английской грамматики не подконтрольны какому-то отдельному человеку или организации (в свою очередь, эсперанто был изобретен Людвиком Заменгофом, хотя сейчас это скорее живой язык, который развивается самостоятельно и бесконтрольно).
▒ BitTorrent, как и английский язык, логически децентрализован. Сети доставки контента похожи на них, но подконтрольны одной конкретной компании.
▒ Блокчейны децентрализованы политически (их никто не контролирует) и архитектурно (у них нет центральной точки отказа), но логически они централизованы (есть одно общепринятое состояние, и система
Перечисляя преимущества блокчейна, люди часто упоминают удобства «единой центральной базы данных» – проявления логической централизации. Такой вид централизации во многих случаях считается полезным (хотя Хуан Бенет из IPFS выступает за тотальную логическую децентрализацию, поскольку логически децентрализованные системы хорошо переносят разделение сети, работают в регионах с плохой связью и так далее).
Архитектурная централизация часто приводит к политической, хотя и не всегда: при формальной демократии политики встречаются и голосуют в конкретном физическом помещении, но это не значит, что весь персонал этого помещения получает право голоса. В компьютеризированных системах может сложиться архитектурная, но не политическая децентрализация: например, онлайн-сообщество для удобства может использовать какой-то централизованный форум, но договориться коллективно перейти на другой в случае злонамеренных действий со стороны владельцев этого форума (с большой вероятностью так будут поступать сообщества, объединенные борьбой с тем, что они воспринимают как цензуру).
С логической централизацией сложно достичь архитектурной децентрализации, но не невозможно: сети децентрализованного консенсуса уже доказали свою эффективность, хотя поддерживать их сложнее, чем BitTorrent. Также с логической централизацией сложно добиться политической децентрализации – в таких системах непросто разрешить все разногласия по принципу «сам живи и другим не мешай».
Следующий вопрос: чем хороша децентрализация? Вот несколько самых популярных доводов.
▒ ОТКАЗОУСТОЙЧИВОСТЬ – децентрализованные системы менее подвержены случайным сбоям, поскольку полагаются на множество отдельных и независимых составляющих.
▒ СОПРОТИВЛЕНИЕ АТАКАМ – попытки взломать, уничтожить или взять под контроль децентрализованные системы обойдутся дороже, поскольку у таких систем нет уязвимых центральных точек, атаковать которые будет дешевле относительно стоимости окружающей их экономической системы.
▒ СОПРОТИВЛЕНИЕ СГОВОРУ – участникам децентрализованной сети гораздо сложнее сговориться между собой и нажиться за счет других участников, в то время как лидеры государств и корпораций постоянно вступают в сговоры, пользуясь менее скоординированными гражданами, клиентами, работниками и просто людьми.
Все три довода важны и обоснованны, однако они ведут к совершенно другим и весьма интересным заключениям, если рассмотреть их в контексте протоколов. Присмотримся к каждому повнимательней.
В случае отказоустойчивости ключевой аргумент довольно прост. Что произойдет с меньшей вероятностью: откажет один компьютер или одновременно откажут 5 компьютеров из 10? Принцип вполне логичный и часто используется в реальной жизни, например для реактивных двигателей, источников бесперебойного питания в местах вроде больниц, военной инфраструктуры, диверсификации финансовых портфелей и, само собой, компьютерных сетей.
Однако этот несомненно эффективный и важный вид децентрализации, вопреки наивной математической модели, часто оказывается далек от того, чтобы стать панацеей. Причина тому – отказ общего характера. Конечно, один двигатель откажет с большей вероятностью, чем одновременно сразу четыре, но что, если все четыре были изготовлены на одном заводе и по вине конкретного недобросовестного работника вся эта партия вышла с браком?
Могут ли блокчейны в сегодняшнем виде защититься от отказа общего характера? Не факт. Рассмотрим следующие сценарии.
▒ Все ноды блокчейна выполняют программу одного клиента, и в коде программы обнаруживается баг.
▒ Все ноды блокчейна выполняют программу одного клиента, но группу разработчиков этой программы подкупили.
▒ Исследовательскую группу, предлагающую апгрейды протокола, подкупили.