Coin Lab

0 1007 0
Почему со спорным хардфорком необходимо бороться

На самом деле, название “хард форк” вводит в заблуждение. Оно ассоциируется с поездом, идущим по путям, когда машинист принимает решение о переводе стрелки, чтобы перевести поезд на другой путь. И хотя маршрут поезда изменяется, с грузом и пассажирами все в полном порядке. Все наслаждаются поездкой. Возможно, происходит изменение пункта прибытия. Но в сущности, больше ничего. Можно представить себе, что эта метафора описывает текущую ситуацию Биткойна, но на самом деле это совершенно не так.

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

В мире протоколов, к которым относится Биткойн, хард форк это то, что инженеры по обслуживанию оборудования в разговорной речи называют “выбросить и заменить”. В ту минуту, когда вы измените единственное правило, которое требует полного обновления сети, у вас на самом деле появится совершенно новая сеть. И хотя оборудование не изменилось, да и игроки все те же, изменяются правила игры. Тогда оказывается, что каждый участник начинает игру с нуля в совершенно новой для него области.

Хотя мы понимаем различие между хард и софт форком, Питер Тодд (Peter Todd) проделал большую работу, объясняя, в чем разница. Я опишу, почему порождение хард форка, которое некоторые славословят как воплощение устойчивости Биткойна, губительно и опасно для децентрализованной сети. Особенно, если меньшинство принимает его по принуждению. Хард форки должны быть последним средством, то есть являться чем-то абсолютно и очевидно необходимым для сети. Если же они таковым не являются, то меньшинство, в случае необходимости, может начать угрожать разрушить сеть.

Но прежде, чем мы станем утверждать, что меньшинство все-таки должно бороться, необходимо учесть следующее:

Жесткое ветвление децентрализованного протокола означает, что он на самом деле он не слишком-то децентрализован.

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

Для примера, возьмите дебаты о шифровании в Интернете. Шифрование возможно с использованием множества различных протоколов, к которым некоторые правительства сейчас хотели бы получить доступ через черный ход. Кроме того, что для них нет никакой возможности получить доступ ко всем системам, потому что технология шифрования является децентрализованной и развивается, так же нет никакого способа просигнализировать всем участникам принять какой-то определенный стандарт. Нет никакого способа сделать “хард форк” даже для одного стандартного протокола шифрования. Даже если все правительства мира одновременно смогут этого захотеть. Это, кстати, не значит, что они не попытаются, но такова природа действительно децентрализованной системы. Хард форки в децентрализованной системе не могут навязываться. Они должны появляться как крайнее средство, без которого уже никак невозможно обойтись.

Вероятность успеха любого навязанного хард форка обратно пропорциональна уровню децентрализации сети.

Напомним о проблеме Y2K. Она была потенциальным багом в развивающемся стандарте (не навязанном или установленном кем-то!) о том, как дОлжно хранить данные в компьютерных системах. Однажды развернутые компьютерные системы существуют и работают в децентрализованной глобальной системе. В описываемом случае было нормальной практикой обходиться двумя последними цифрами года для экономии памяти. Так что документ, датированный 26 октября 1985 года, сохранился бы с датой в формате 102685. Это прекрасно работало около сорока лет, особенно в те времена, когда память и дисковое пространство измерялись в байтах и килобайтах. Потом примерно в 1995 (хотя специалисты в некоторых кругах заявляли о проблеме несколькими годами ранее) профессионалы в сфере IT начали понимать, что в 2000 году некоторые компьютеры могут ошибочно прочитать дату 010100 как 1 января 1900 года. Подумаешь, дата съедет. Не конец света.

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

Это был приемлемый хард форк, несмотря на то, что последствия ошибки 2000 были переоценены. Исходя из теории игр было очевидно, что это не была попытка одной стороны получить преимущество над другими, но все стороны могли пострадать в равной степени. И возможно, фатально. Такое действительно случилось раз в жизни. Выбор “сделай или умри”. Ситуация, которая требовала хард форка. Это должно стать стандартом для хард форков. Причиной хард форка должно являться какое-то неизвестное ранее событие (потому что в децентрализованной сети, где все стороны равны, это либо внешнее событие, либо угроза), о котором никто не имеет возможности просигнализировать, чтобы все участники применили одинаковые изменения. Если же все не так, то можно сделать вывод, что сеть не децентрализована.

Всем стоять!

Противостояние по Тарантино

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

Рассмотрим простой консенсус в сети с тремя участниками. Все участники находятся в равном положении относительно власти, как они её понимают. Участники не идентичны, но каждый из них получают выгоду от сети.

Сторона A участвует за получение награды Ar.

Сторона B участвует за получение награды Br.

Сторона C участвует за получение награды Cr.

Общая стоимость вознаграждения выражается как Аг + Br + Cr.

И тут сторона B вдруг понимает, что если сможет изменить одно правило в системе, то получит награду Br + 1, тем самым увеличив её для себя и для С, даже если это не пойдет на пользу А.

Сторона А видит изменение как Ar – 1, то есть для нее изменение выразится в потерях.

Сторона С видит изменения как Cr + 1, что означает, что она присоединится к B, чтобы надавить на А.

Полученное значение вознаграждения от сети будет (Ar-1) + (Br + 1) + (Cr + 1)

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

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

Тогда A обозначает, что готов пойти на еще большее уменьшение своей награды, если существует какой-либо способ негативно повлиять на награду одного из других участников, равно как и на награду сети в целом. Так что теперь, например, она станет (Ar-2) + (Br + 1) + (Сr), где даже ожидаемое вознаграждение C может снизиться. В настоящий момент А эффективно создал вероятный сценарий, в котором вся сеть в целом потеряет в вознаграждении. Обратите внимание, что B все еще может продвигать свою идею, потому что все еще будет в прибыли за счет сети, но теперь C не видит выгоды для себя, зато начинает видеть возможное будущее негативное воздействие на сеть.

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

Причина того, что такое поведение законно, в том, что все три стороны изначально присоединились к системе, чтобы играть по одним и тем же правилам. Но B и C измененяют правила. Возникает уже новая система. А теперь должен выбрать: он остается, уходит, или показывает В и С, что они не правы. В последнем случае А должен продемонстрировать B и С насколько же не верны их расчеты.

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

Любой результат, где меньшинство уступает нападавшим, позволяет сделать заключение о том, что сеть централизована, потому что либо А идет на уступки и остается в сети, тем самым обозначая то, что на самом деле B и C владеют сетью, и будут вводить все дальнейшие изменения в свою пользу, или же A выходит из сети, что ведет к тому же результату в виде централизации сети посредством B и C. Единственной возможностью вернуть сеть в децентрализованное состояние будет, если A вразумительно даст понять, что атака приведет к потерям для всех.

Пристрели заложника!

В 90-х вышел культовый фильм Скорость (Speed) с Киану Ривз (Keanu Reeves) и Сандрой Баллок (Sandra Bullock). В фильме был злодей, которого играл Деннис Хоппер (Dennis Hopper), который постоянно разрабатывал безвыигрышные сценарии в схватке разумов с персонажем Кеану, офицером спецназа по имени Джек. Джек должен был придумать как поймать негодяя, избежать его ловушек, разминировать поставленные им мины, и в процессе всего этого не убить мирных жителей. В знаменитой сцене, вынесенной в основную иллюстрацию статьи, Джек использует нестандартную тактику стрельбы в колено заложника (своего партнера), чтобы плохой парень больше не мог держать его в заложниках.

Перед описанными выше событиями, между Джеком и его партнером происходит следующий диалог:

Партнер: Все нормально. Небольшой тест. Аэропорт. Преступник взял заложника и использует её для прикрытия. Уже почти добрался до самолета. Ты в 30 метрах.

Джек: Пристрели заложника.

Партнер: Что?

Джек: Выведи её из уравнения. Рань хорошенько. Тогда он не сможет попасть с ней на борт. Нужен меткий выстрел.

Партнер: Ты совершенно спятил. Знаешь об этом? “Пристрели заложника…”

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

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

Один из возможных сценариев, обсуждавшихся на Reddit, заключался в выпуске альтернативного форка на основе PoW с решением всех накопившихся проблем по сценарию, предложенному Core. По результатам, у рынка появится два совершенно конкретных выбора:

  • остаться с желающими увеличить размер блока до 2Mb путем спорного форка
  • перейти на монету с PoW от Core, которая будет нести в себе серьезные улучшения относительно текущего протокола Биткойна, запланированные Core, и где будет использоваться иной протокол майнинга, чем текущий SHA256. Что сделает невозможным использование с данным форком всех майнинговых чипов, созданных на текущий момент.

Это сделает невозможным использование майнингового оборудования, в которое были проинвестированы сотни миллионов долларов, но в то же самое время, этот путь откроет возможность возврата устаревших хэш-мощностей (FPGA, GPU), которые сейчас выключены или майнят альткойны. Поскольку такой хард форк будет крайним средством (ядерной кнопкой), единственной причиной, почему должна быть предпринята попытка такого хард форка, так это показать всему рынку, что новая монета станет более децентрализованной альтернативой, чем XT или Classic.

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

Еще раз: до тех пор, пока не возникает сам собой разумеющийся самоочевидный консенсус по типу “О Господи! Приближается Гигантский Метеорит!”, – нет никаких причин вмешиваться хард форком в работающий протокол консенсуса. А раз так, меньшинство имеет полное право использовать любую возможность для достижения своей цели, так же как это делает большинство.

Я сейчас не защищаю преднамеренное вредительство или что-нибудь незаконное. Но я верю в то, что в такой децентрализованной системе как Биткойн, децентрализация должна поддерживаться любыми средствами. И дело каждого участника системы защищать её. Любой, кто действует с целью оказать влияние на других вне правил консенсуса, фактически осуществляет атаку на сеть, вне зависимости от того, какую хэширующую мощность он представляет. Если люди оценивают действия Core как централизующую силу, они имеют полное право децентрализоваться от них. Однако, стоит обратить внимание на то, что Core никогда ничего не навязывали сети. Они играли только по правилам уже установленного консенсуса.

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

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

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

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

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

Из спорного хард форка не выйдет ничего хорошего. “Безобидное” увеличение лимита размера блока до 2 мегабайт может нанести Биткойну непоправимый вред в его качестве децентрализованной цензуроустойчивой криптовалюты.

Источник: Bitledger

Источник

Теги

Блокчейн глазами IBM: зачем нужен проект HyperLedger и когда мир перейдёт на новую технологию В четверг, 10 ноября, IT-гигант IBM представит своё видение того,…
admin by admin
0 8284 0
Взгляд Microsoft на блокчейн-технологию: от слов к коду Представляем одного из ключевых спикеров Blockchain & Bitcoin Conference Russia…
admin by admin
0 4722 0
Блокчейн в банковской системе: взгляд Сбербанка Сбербанк России – один из лидеров банковского рынка по внедрению…
admin by admin
0 5724 0

Leave a Reply

Войти
Регистрация
Отправить сообщение