Форк в блокчейне криптовалюты — не редкость. Одних только форков биткоина за последний год было более 40. Cryptonomist рассказывает, какими бывают форки и чем они друг от друга отличаются.
Виды форков
Форк — это разделение цепочки блоков в блокчейне на две. После форка часть майнеров намеренно игнорирует блоки, которые с точки зрения остальной части являются верными.
Пользователи придерживаются правил, которые описаны в алгоритме консенсуса и требуются от всех блоков. Если эти правила их не устраивают, то пользователи могут поддержать другую цепочку.
Возможен и вариант, когда майнеры решают игнорировать определенные блоки, но он применяется крайне редко. Бывает, что в новой цепочке поддерживается два набора правил консенсуса.
Здесь и далее обозначим исходные правила красным цветом, изменённые — желтым, а оранжевым — сочетание исходных и новых правил (блоки, включенные в цепочку, соответствуют обоим наборам правил).
Разделение цепочек делят на хард- и софт-форки.
- После хардфорка обновление несовместимо с прежней версией программного обеспечения. Узлы блокчейна считают новые блоки, сгенерированные по старым правилам, недействительными.
- При софтфорке есть обратная совместимость: узлы считают правильными блоки, которые сгенерированы и по старым, и по новым правилам. Если необновленные узлы будут продолжать майнить, то их блоки будут подтверждаться обновленными. Вот почему софт-форки нуждаются в большинстве хэш-мощности в сети.
Несовместимый хард-форк
При несовместимом хард-форке группа майнеров на определенном блоке решает внедрить новый набор правил. От исходных правил новые совершенно не зависят.
После проведения такого хард-форка в блокчейне образуются две цепи, которые, кроме единого предка, не имеют ничего общего. Когда происходит несовместимый хард-форк, одна часть майнеров начинает добывать блоки по новым правилам, другая же придерживается старых правил. Блоки, добытые по новым правилам, неверны с точки зрения старых, и наоборот. Объединить цепочки вновь невозможно.
Частично совместимый хард-форк
После проведения такого хард-форка часть правил в старом и новом наборах совпадает, другая часть отличается. В результате в цепочках после форка встречаются блоки, которые верны только для своего блокчейна.
Майнеры могут предотвратить частично совместимый хардфорк, если будут производить блоки, которые соответствуют старому и новому наборам правил. Но как только будет добыт блок, который соответствует только одному набору правил, блокчейн разделится.
Объединить цепи можно, если в определенный момент начать строить оранжевую цепочку — создавать блоки, которые соответствуют обоим наборам правил. Причём мощность майнинга в оранжевой цепочке должна быть выше, чем суммарно в красной и желтой цепочках.
Совместимый хард-форк
В таком варианте набор правил расширяется, и новые блоки фактически удовлетворяют исходным правилам. Разделение продолжается до тех пор, пока мощность майнеров для желтых блоков будет выше, чем для оранжевых.
Но если оранжевая цепочка привлечёт большую вычислительную мощность, жёлтая будет заброшена. Поэтому майнерам, которые поддерживают новые правила, нужна уверенность в том, что их цепочка не только получит большую часть вычислительной мощности изначально, но и удержит её.
В зоне риска совместимого хард-форка — пользователи, поддержавшие желтые правила. Им стоит убедиться, что значительная часть майнеров — на их стороне. В противном случае стоимость оранжевых блоков окажется выше, и майнеры станут добывать их.
Софт-форк
После софт-форка набор правил ограничивается. Фактически в наборе оригинальных правил содержатся все новые правила, но новых правил меньше, чем оригинальных.
Цепочка разделится, если майнеры будут добывать блоки по оригинальному набору правил. Если же в какой-либо момент большая часть майнеров начнёт поддерживать оранжевые правила, красная цепочка будет заброшена.
Какие риски влекут форки
Расколы цепочки блоков опасны и для майнеров, и для пользователей. Из-за масштабной реорганизации ранее принятые транзакции могут исчезнуть, а значит, кто-то из пользователей может лишиться средств. В результате доверие к криптовалюте может быть подорвано, и её курс устремится вниз.
После разделения Ethereum непосредственно на Ethereum и Etjereum Classic на рынке возникла путаница. Это негативно повлияло на пользователей и привело к падению курса оригинальной криптовалюты.
Но если две группы пользователей преследуют совершенно разные интересы, им лучше разделиться с помощью форка. Людям с различными взглядами на будущее криптовалюты лучше идти своим путём, чем искать компромиссы.