Кратко о криптовалютных форках

Все, кто следит за новостями мира криптовалют, знают, что последние несколько месяцев «горячей» и самой обсуждаемой темой является тема форка в сети биткоина. Даже те, кто только недавно присоединился к биткоин-комьюнити, слышали о таких терминах как хардфорк, софтфорк и UASF. В августе 2017 г. в результате хардфорка в сети биткоина образовался Bitcoin Cash, вчера 24.10.2017 г.  - Bitcoin Gold, а в ноябре вполне вероятно произойдет хардфорк Segwit2x. Давайте вместе разберемся, что же это такое.

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

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

Можно выделить два основных вида форков – хардфорк (hardfork) и софтфорк (softfork). Из названия можно понять, что хардфорк это «жесткий» вариант изменения исходного кода, а софтфорк более «мягкий».

Хардфорк – обновление программного обеспечения, которое встраивает в сеть новое правило, несовместимое со старым ПО, другими словами происходит изменение самого механизма консенсуса, и вся сеть разделяется на две части, которые больше никогда не смогут взаимодействовать.

Именно поэтому узлы (ноды), работающие на старом ПО будут считать новые транзакции недействительными, поэтому так важно всем узлам сети обновить свое программное обеспечение, чтобы перейти к новой ветке блокчейна и генерировать действительные блоки. Какие могут возникнуть проблемы? Проблема разделение мнения в сообществе, при котором часть принимает решение придерживаться старых правил. Ярким примером раскола криптосообщества из-за правил может послужить хардфорк DAO в сети Ethereum. Сейчас есть два блокчейна, которые работают на своих версиях ПО – Ethereum и Ethereum Classik.

При софтфорке в отличие от хардфорка изменение правил не требует обновления клиента (программного обеспечения) для исполнения новых правил. Если часть узлов в сети не примет новые правила, такие узлы всё равно смогут взаимодействовать с узлами, которые пользуются новыми правилами. Однако если старые узлы и дальше будут майнить блоки, они будут отвергаться теми, кто обновил ПО. Поэтому софтфорк должен быть поддержан теми членами сети, которые контролируют основную вычислительную мощность. Какие могут возникнуть проблемы? При недостаточной вычислительной мощности, обновленная цепочка может оказаться короткой и будет отвергнута сетью. Также существует вероятность того, что софтфорк может трансформироваться в хардфорк. Примером успешного софтфорка в сети биткоина можно назвать обновление BIP 66 – изменение правил проверки подписей.

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

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