Форки

Форки

Форк (fork)

Форк (англ. fork — вилка, ответвление) — изменение кода блокчейна (криптовалюты) для создания новой ветки ее развития с новыми характеристиками. Каждая новая ветка может развиваться независимо от основного проекта и в новой ветке могут быть реализованы возможности, которых не было в основном проекте.

Форк (разветвление) происходит на определенном блоке, при этом все транзакции происходившие до этого блока будут видны во всех новых ветках.

Например, с момента появления bitcoin уже произошло большое количество форков, но большинство из них не несут в себе ничего нового - либо являются точной копией Bitcoin, либо отличия ограничиваются только значениями предела и скорости эмиссии и/или алгоритмом хеш-функции. Однако, есть и удачные примеры форка биткоин, такие как BCH (bitcoin cash), которые были широко признаны сообществом и нашли свое дальнейшее развитие.

Более того, есть яркий пример того, когда второстепенная ветка после форка стала основной — это эфириум (ETH) Виталика Бутерина. Основная ветка под названием эфириум классик (ETC) также функционирует, однако имеет много меньшую поддержку сообщества.

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

Стоит отметить, что существую хард-форки и софт форки. В чем же их разница?

Софтфорк (soft fork)

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

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

Пример софтфорка - внедрение SegWit. Биткоин-сообщество уже давно обсуждало, какой способ увеличения скорости биткоин-транзакций является лучшим. Поскольку новый блок транзакций добывается в среднем каждые 10 минут (и этот момент не был обсужден), идея заключалась в том, чтобы увеличить количество транзакций, которые могут быть включены в каждый блок. Для этого сообщество предложило решение под названием Segregated Witness (сокращенно SegWit).

После запуска примерно 20% сервисов перешли на использование новых адресов. Но при этом, кто активировал SegWit и кто этого пока не сделал, могут и дальше без проблем взаимодействовать в сети биткоин. Новая криптовалюта в результате софтфорка не появляется. То есть, обновление протокола было обратно совместимым.

Хардфорк (hard fork)

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

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

В качестве примера успешного хард форка можно привести пример ответвления от основной сети биткоина - Bitcoin Cash. Новая криптовалюта биткоин кэш (BCH) была запущена не с нуля, а с учетом данных своего родителя Bitcoin. Но после вилки отправка BCH на адреса BTC и наоборот является невозможной, т.к. блоки разных цепочек не могут быть приняты блокчейном родителя или хардфорка. При этом, оба проекта успешно развиваются и поныне

Клоны блокчейнов (форк с нулевого блока)

Как правило блокчейн использую открытый исходный код. Это значит, что любой может его ипользовать для создания собственной новой сети (криптовалюты). Можно ли назвать такое использование форком? Теоретически да. Использование исходного кода криптовалюты для запуска нового проекта с нуля, с внесением некоторых изменений - это форк с нулевого блока.

Один из самых известных подобных примеров - Litecoin, который является аналогом Bitcoin с внесенным в его код некоторых изменений.

Некоторые считают, что клоны блокчейнов не являются форками. Но это уже вопрос терминологии, не влияющий на суть.