Все, кто интересуется криптовалютами, слышали о форках, но не многие понимают их суть. Форк возникает, когда участникам блокчейна нужно согласовать единые правила. В этом случае блокчейн делится на две ветви и участники должны решить, какую из них они предпочтут. Некоторые ветви — софтфорки — проходят легко, а другие из-за значительных разногласий в криптосообществе приводят к разделению сети на две части — хардфорки. В результате этого появляются два блокчейна и две независимые криптовалюты. У Биткоина открытый исходный код, что значит его дублирование или изменение может быть произведено кем угодно, а форк — это как раз модифицирование исходного кода.
Чаще всего деление на ветви возникает, когда два майнера практически единовременно находят хеш к блоку. Потом, когда к текущему блоку добавятся следующие, то победит длинная цепочка, а короткая цепочка окажется отвергнутой сетью. Также разветвление может быть проведено разработчиками специально, чтобы поменять правила, которые определяют действительность транзакции. Блок, содержащий недействительные транзакции, будет проигнорирован сетью, а майнер, сгенерировавший такой блок, потеряет вознаграждение. Поэтому майнеры стараются добывать подлинные блоки и включать их в самую длинную цепочку.
Хардфорк (hard fork переводится как «жёсткое ветвление») — обновление ПО, встраивающее в блокчейн новое правило, несовместимое со старым ПО, или расширение правил (например, для повышения размера блока с 1 МБ до 2 МБ). Новые транзакции будут считаться недействительными на нодах, работающих на старом ПО. Всем нодам придётся обновить ПО для генерации действительных блоков и перехода на новую ветку блокчейна. Здесь могут появиться проблемы, если участники разделятся во мнении и часть из них решит следовать старым правилам. Данные старой сети и её правила могут остаться ценными для них, поэтому майнеры продолжат её обслуживать, а разработчики не забросят её поддержку. Обычно хардфорки объявляются заранее, хотя иногда они могут официально не анонсироваться. Но если разработчики планируют внести серьёзные изменения в свою сеть, то информация об этом обязательно разлетится по криптосообществу задолго до реализации задуманного, ведь для этого им нужны будут большие вычислительные мощности.
Софтфорк (soft fork в переводе означает «мягкое ветвление») — совместимость нового ПО со старым. Например, новое правило может предусмотреть уменьшение размера блока с 1 МБ до 500 КБ. Новые транзакции будут считаться действительными на нодах, использующих старое ПО. Но если старые ноды продолжат добывать блоки, то они будут отклоняться участниками, обновившими ПО. Поэтому софтфорк должны поддержать участники блокчейна, контролирующие ключевую вычислительную мощность. А если мощностей не хватит, то обновлённая цепочка может оказаться короткой и сеть её отбросит. Также софтфорк может стать хардфорком, если часть участников сформирует свою собственную сеть, выйдя из основной.
Главная причина проведения форков — необходимость совершенствовать технологию. Каждая новая ветвь становится более идеальной в техническом плане. Как правило, разработчики стараются изменить следующее:
Хардфорк и софтфорк сопутствуют развитию любой крупной криптовалюты и обычным пользователям грамотное оперирование информацией о них поможет увеличить заработки при инвестициях и спекуляциях токенами форков. А для майнеров это станет возможностью начать добычу криптовалюты по более выгодным условиям, что также увеличит их прибыль.