Новые перипетии обсуждения необходимости хардфорка

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

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

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

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

Прошлое лето уже ознаменовалось показательным случаем, когда произошло непреднамеренное разделение на две части Эфириума. Причиной послужило изменение программного кода, с чем не были согласны отдельные пользователи. Однако при осуществлении двух последующих hard fork в сети Ethereum все прошло согласно намеченному плану. Это объясняется тем, что данные изменения являлись не спорными, и вводились они ради предотвращения возможных хакерских атак. А значит, если существует согласие всех участников, то они могут проводиться, и при этом не возникает никаких проблем.

В то же время, невзирая на вероятность протекания процесса по негативному варианту, от некоторых пользователей сообщества уже неоднократно поступали призывы увеличить интенсивность масштабирования Биткоина, за счет наращивания размера блока. Этот параметр, по их мнению, должен вырасти до 2 Мб, а может и больше. Команда Bitcoin Unlimited думает, что увеличение стандартного размера блока блокчейн, будет способствовать исполнению призыва к активному действию.

Проблема заключается в отсутствии единого мнения по поводу целесообразности изменения стандартного объема структурной единицы блокчейна, а значит, с Биткоином может произойти повторение инцидента, имевшего место в случае с Эфиром. Достижение инженерного консенсуса, учитывая это, возможно после проведения большего количества исследований. По мнению Джеймса Хилларда, тестировавшего код Bitcoin Core, это будет полезно для изучения возможности проведения hard fork безопасно.

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

Новые предложения хардфорков

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

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

Так вот он утверждает, что его продукт нельзя активировать непосредственно сейчас, не собрав консенсуса. Иначе это приведет к негативным результатам. Последствием запуска в Testnet станет наложение бан-запрета пользования, а в Mainnet, если не дожидаться консенсуса, может привести к потере денег.

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

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

Люком-младшим, разработчиком Bitcoin Core, были опубликованы два предложения, в одном из которых говорилось об уменьшении размера блока, с тем, чтобы в последующем постепенно увеличить его до 31,0 Мб.

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

Повышение безопасности хардфорков

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

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

В случае разделения блокчейна возможна атака повторением (replay attack), возникшая при такой ситуации в Эфириуме. История денежных переводов в каждой из цепей была идентична, что позволяло участникам проводить транзакции в обеих, а это влекло за собой возникновение затруднений. И так продолжалось до момента устранения проблемы. Господа Люк-младший и Лау предложили каждый свой вариант решения этой задачи.

Разногласия возникли даже в ходе обсуждения деталей данной превентивной меры. Так, программистом Мэттом Коралло оспаривалось предложение господина Лау, согласно которому защиту от атаки повторением включали по умолчанию. Он считал, что это должно было делаться исключительно в добровольном порядке.

Хардфорк — препятствует масштабированию

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

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

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