Что такое Soft Fork и Hard Fork?
04.02.2022

Что такое Soft Fork и Hard Fork?

By bit.team

Hard forks и soft forks — важные составляющие технологии блокчейн. К примеру, согласно данным Coinmarketrate.com, блокчейн Bitcoin находится на пределе своих возможностей. Примерно каждые десять минут создается новый блок, содержащий многочисленные данные о бесчисленных транзакциях. Эти блоки можно использовать для проверки действительности транзакции. Размер этих блоков не может превышать одного мегабайта в блокчейне ВТС. Чтобы обойти это ограничение, возможен форк.

Давайте разберемся в этом процессе вместе.

Что такое Soft forks?

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

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

Таким образом, мягкий форк имеет обратную совместимость, что сильно отличается от Hard forks, при котором старые узлы не воспринимают старые блоки и транзакции как действительные.

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

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

Известным мягким форком Биткойна является обновление SegWit, которое позволяет увеличить емкость блока путем удаления информации, о подписи из транзакций, и Taproot — soft forks, единодушно принятый сообществом. Если мягкая вилка не проходит, то выполняется жесткая. Но, об этом позже.

Как работает мягкая вилка

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

Чтобы добиться этого, необходимо сделать так, чтобы новая транзакция воспринималась старыми клиентами как транзакция «заплати любому» (особым образом), и заставить майнеров отклонять любые блоки, включающие эти транзакции, если они не соответствуют новым правилам.

Так в Биткойн были добавлены транзакции Pay to Script Hash (P2PH).

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

Мягкие форки не заставляют никого обновляться для поддержания консенсуса, так как все блоки с новыми правилами также следуют старым, поэтому старые клиенты принимаются.

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

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

Если 75% майнеров признают форк, 25% созданных блоков не будут соответствовать новым правилам. Последние блоки будут действительны для старых узлов, которые не знают новых правил, но будут игнорироваться новыми узлами.

Финансовые последствия soft forks

Форки могут сильно повлиять на стоимость криптовалюты. Это связано с тем, что происходят серьезные изменения в фундаментальных основах криптовалюты.

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

Если майнеры криптовалюты предпримут попытку ввести мягкий форк и потерпят неудачу, это может привести к падению цены актива. Это связано с тем, что рынок воспринимает майнинговое сообщество как негибкое и враждебное к изменениям.

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

Хотя они не так важны, как жесткие вилки, все равно видно большое влияние на рынок.

Что такое Hard Fork?

Hard Fork — это изменение консенсуса, которое не имеет обратной совместимости. Это происходит, когда поведение, которое ранее было действительным, больше не действует.

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

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

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

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

Когда в код добавляются новые правила, создается вилка, в которой:

  • Один из путей следует новым рекомендациям — обновленный блокчейн.
  • Другой путь продолжает работать с блоками, которые были действительны до этого.

Если узлы со старым программным обеспечением поймут, что новые усовершенствования не заставят себя ждать, и решат обновиться, они в конечном итоге перейдут на новый блокчейн. Может быть и наоборот: новые узлы воздерживаются от модернизации.

В любом случае, ничего особенного в этом случае не происходит.

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

Как работают жесткие вилки

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

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

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

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

Проблема с жесткими форками заключается в том, что сообщество не согласно с изменениями, и одни решают идти в одну сторону, а другие- в другую.

В процессе хард форка появилось множество криптовалют с похожими названиями. Таковым является Биткойн с Bitcoin Cash, Bitcoin Gold и др. Или Ethereum с Ethereum Classic.

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

Зачем проводить жесткую вилку

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

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

В чем разница между hard forks и soft forks?

По сути, эти два типа форков похожи тем, что происходит изменение кода платформы. Старая версия может даже продолжать существовать некоторое время.

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

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

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

Типы жестких вилок

Существует 3 широкие категории жестких вилок:

  1. Запланированный

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

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

  1. Незапланированный

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

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

Лучшим примером этого является хард форк, приведший к появлению Bitcoin Cash, который был создан теми, кто считал, что у Биткойна есть проблемы с масштабируемостью. Их решением было увеличение размера блока ВТС с 1 МБ до 8 МБ, который позже был снова увеличен до 32 МБ.

  1. SPIN-OFF

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

Эти монетные спин-оффы могут быть созданы кем угодно: просто возьмите код понравившейся вам криптовалюты и измените значения, чтобы создать совершенно другое предложение.

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

Заключение

Форк — это очень крупное изменение в протоколе блокчейна, в результате которого блокчейн может разделиться на две ветви. Один, который следует старому протоколу, и другой — адаптирующийся к новой версии.

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

Hard fork может произойти на любом блокчейне, а не только на Биткойне, который в прошлом пережил множество подобных случаев.