Форк (от английского слова fork — вилка или развилка) — явление, которое нередко сопровождает различные блокчейн-проекты.
Блокчейн — это децентрализованная база данных, цепочка последовательных блоков, хранящих в себе информацию о транзакциях, которые совершаются в сети. Структуру блокчейна и устройство блоков определяет протокол, заложенный в программный код узлов этой сети. Изменение протокола — и есть форк.
Зачем нужны форки
Два момента, которые чаще всего указывают разработчики блокчейна в качестве причин форка, — это необходимость усовершенствования блокчейн-технологии и оптимизация сети. Самые распространенные изменения:
- увеличение размеров блока с целью повышения пропускной способности (транзакций/сек.);
- уменьшение комиссии за транзакции.
Кроме того, может быть утрачено единое видение проекта, могут возникнуть непреодолимые разногласия внутри сообщества блокчейн-проекта, и в этом случае форк также неизбежен.
Разновидности форков
В зависимости от масштабов модификации протокола блокчейна, разделяют хардфорк (дословно с англ. — жесткая вилка) и софтфорк (дословно с англ. — мягкая вилка).
- Хардфорк — существенная модификация работы алгоритмов и кода блокчейна, в результате которой сеть либо полностью переходит на новую версию блокчейна, либо разделяется на две параллельных сети. Хардфорк часто используют для запуска новых криптопроектов (криптовалюты).
- Софтфорк — незначительное изменение протокола блокчейна, в результате которого появляется две версии протокола, существующие параллельно, то есть все узлы блокчейна работают в одной сети, но часть из них по старым правилам, а часть — по новым.

Зачем нужен хардфорк
Код блокчейна может изменяться и дорабатываться: убираются существующие ошибки и уязвимости, добавляются обновления и улучшения.
Когда доработки серьезные, производится хардфорк. То есть, по сути, создание параллельной копии протокола, но с добавлением нового кода.
Хардфорки — это такая модификация, при которой узлы блокчейна (ноды) добавляют изменения, которые противоречат правилам, по которым работают старые ноды. Соответственно, новые ноды могут работать только с нодами, использующими новую версию блокчейна. Результат — блокчейн полностью переходит на новый протокол или делится на две отдельных сети: в старой действуют старые правила, в новой — новые.
Кроме того, все монеты этого блокчейна как бы раздваиваются, так как появляется новый блокчейн с новой монетой, с теми же самыми балансами на тех же самых адресах, что в старом блокчейне. При этом биржевая ценность исходной монеты, как правило, делится на неравные доли: менее популярная монета, появившаяся в результате форка, стоит меньше более популярной исходной монеты.
Такой подход позволяет сохранить стабильность текущего протокола блокчейна и избежать риска сбоев при обновлении.
Хардфорки проводятся для крупных обновлений, а также применяются для разрешения спорных ситуаций.
Простыми словами: хардфорк нужен для внесения серьезных изменений в работу блокчейна, настолько серьезных, что его приходится делить на две отдельных сети.
Участники хардфорка
Как правило, хардфорк — это результат длительных обсуждений, ведущих к консенсусу в сообществе блокчейн-проекта. Изначально выдвигается какое-то предложение, потом оно дорабатывается, тестируется и в конечном итоге реализуется.
В случае, когда обновление крупное и несет в себе не только технические изменения, а например, меняет токеномику криптовалютного проекта, обсуждение может выйти за рамки сообщества разработчиков блокчейна.
К примеру, в блокчейне Ethereum существует целая система по усовершенствованию сети (Ethereum Improvement Proposal).
Для активации хардфорка нужно не просто написать новый программный код, но и получить согласие на обновление большинства участников. Кроме разработчиков блокчейна, также очень важно мнение валидаторов сети. Ведь именно от них зависит работа блокчейна и, если они будут не согласны с предложенным разработчиками обновлением, то просто не переведут на него свои вычислительные узлы.
Важно понимать,что протокол блокчейна невозможно изменить без согласия сообщества, так как децентрализована не только сеть, но и программный уровень.
Блокчейн-проекты, образующиеся в результате хардфорков
Итак, если большинство участников блокчейн-проекта согласны с обновлением, сеть переходит на новый протокол. Если же единство мнения отсутствует, часть нод переходит на новую версию блокчейна, а часть работает по старым правилам. Результат — блокчейн разделяется на две цепи.
Для примера, крупнейшие хардфорки: Bitcoin Cash, Ethereum Classic, Merge.
Зачем нужен софтфорк
Софтфорк — вид форка, характеризующийся обратной совместимостью. То есть, это такое изменение программного протокола блокчейна, после которого новые алгоритмы без проблем взаимодействуют со старыми.
Суть обратной совместимости в том, что старые транзакции могут распознаваться новыми нодами. То есть, для обеспечения соблюдения нового протокола обновиться должна часть валидаторов, а не абсолютно все узлы, как при хардфорке.
Простыми словами: Софтфорк — это такой себе апгрейд блокчейна, выполненный для улучшения его работы, когда старый и новый протоколы гармонично функционируют в одной сети.
Софтфорки не подразумевают деление блокчейна на автономные сети, выпуск новых монет или каких-то других принципиальных изменений.
В основном, софтфорки проводятся для реализации таких задач:
- увеличение производительности сети;
- снижение комиссии;
- повышение конфиденциальности блокчейна;
- улучшение безопасности.
После проведения софтфорка участникам сети нужно обновить свое ПО и то, не обязательно, те, кто не согласен с изменениями, могут работать по старым правилам.
Софтфорки способствуют улучшению различных свойств криптовалют, устраняют ошибки в коде, стимулируют конкуренцию.
Известные софтфорки: SegWit (софтфорк биткойна, основная цель которого — увеличение размеров блока для повышения пропускной способности сети), Pay to Script Hash (P2SH) (софтфорк проводился для изменения формата биткойн-адресов), Replace-by-fee (софтфорк Litecoin, позволил участникам сети редактировать транзакции в части изменения уровня комиссии).
Форки сопровождают развитие практически любого популярного блокчейна, а пользователи криптовалюты, грамотно используя информацию о них, могут повысить свои доходы от инвестиций и торговли монетами.