Гэвин быстро понял, что это было тем, что все знали как крупнейшую потенциальную опасность для Биткойна: раскол сети, или “хард форк”. Этот термин был придуман для описания ситуации, когда компьютеры сети расходятся во мнении, какой именно добытый блок считать “правильным”. Часть майнеров признавала победителем конкурса один узел, а другая часть – другой, в результате возникали две цепочки блоков, которые начинали быстро расходиться. Это могло стать катастрофой, поскольку означало разногласия в том, какие биткойны кому принадлежат. В данный момент различие возникло только в последней паре блоков – не во всей истории блокчейна, – но если несоответствие не будет исправлено, могут появиться две конфликтующие сети Биткойна, что приведет к подрыву доверия к Биткойну в целом.
“У нас ЧП!” – написал один из пользователей через несколько минут после возникновения ошибки.
“И это мягко говоря”, – добавил другой.
“У нас произошел хард форк”, – объявил один из самых авторитетных разработчиков, бельгийский программист Питер Вуилле, спустя пару минут.
Цена биткойна за полчаса упала с 49 до 45 долларов, нивелировав все достижения прошлой недели.
Марк Карпелес присоединился к обсуждению спустя полчаса, после чего быстро приостановил все транзакции на Mt.Gox; спустя несколько минут Эрик Вурхис сообщил, что его онлайн-казино SatoshiDice также приостановит транзакции.
К тому времени, когда Гэвин вступил в разговор, уже было очевидно, что проблема была вызвана не чьими-либо злонамеренными действиями, а расхождением между версиями программного обеспечения Биткойна. Компьютеры, которые загрузили последнее обновление ПО, создавали блоки, которые отвергались старой версией программного обеспечения, все еще установленной на некоторых компьютерах. Обычно, если блок принимался большинством узлов, он принимался всей сетью, но в старом ПО (версия 0.7) было правило, которое запрещало тот особый тип блока, разрешенный новой версией 0.8.
Решение проблемы было очевидным: все узлы сети должны были договориться перейти на одну из двух версий и принять признанный ею блокчейн. Однако на тот момент не существовало правил принятия решения, какую версию выбрать, и никто не знал, сколько времени понадобится всем узлам для того, чтобы перейти на новую версию, как только таковая будет выбрана.
После обдумывания всех вариантов Гэвин пришел к выводу, что самым фундаментальным правилом Биткойна всегда был демократический принцип: официальным должен считаться более распространенный блокчейн. В данном случае созданная новым ПО версия блокчейна поддерживалась большей частью сети. Причиной этого было то, что опытные майнеры, особенно операторы крупных пулов, одними из первых перешли на новую версию ПО. Гэвин посчитал, что остальные должны к ним присоединиться. Помимо большей части вычислительной мощности, использующие новое ПО майнеры уже получили свежесгенерированные биткойны, от которых они едва ли отказались бы.
Но Гэвин оказался в меньшинстве, почти все остальные участники обсуждения считали, что только крупные майнеры способны отреагировать достаточно оперативно, чтобы решить возникшую проблему. Удивительным было то, что операторы крупнейших майнинговых пулов быстро согласились вернуться к старой версии ПО. Оператор BTCGuild заявил, что перевод одного его пула на предыдущую версию программы сможет вернуть большую часть вычислительной мощности версии 0.7. В этом случае все биткойны, сгенерированные после выхода версии 0.8, были бы потеряны. Но потери были бы гораздо больше, если бы вся сеть Биткойн потеряла доверие пользователей.
“В такой ситуации блокчейн версии 0.8 не может продолжать существование”, – сказал оператор BTCGuild, пишущий под ником “Eleuthria”.
Присутствовавшие в чате разработчики поблагодарили его, понимая, что он жертвовал своими интересами ради всеобщего блага. Когда спустя час Eleuthria закончил переход, он подсчитал свои потери.
“Все могло быть хуже, если бы я не начал возврат к версии 0.7 сразу же, – написал он. – Этот форк обошелся мне в 150–200 ВТС”, то есть более чем в пять тысяч долларов по актуальному на тот день курсу.
Что касается курса биткойна, за несколько часов неразберихи он упал до 37 долларов – на 20 %.
“Это черный день для Биткойна. Последствия для обменного курса будут, очевидно, плачевными”, – объявил сайт TheBitcoinTrader.
Этот инцидент на самом деле показал те неожиданные проблемы, которые часто возникают в децентрализованных сетях, полагающихся на множество различных участников, действующих независимо друг от друга.
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии