К основному содержимому

Hard Fork & Soft Fork

Обновлено сегодня

В технологии блокчейн хардфорки и софтфорки — это два разных метода для обновления и модернизации сетевых протоколов. Они имеют существенные различия в реализации, влияющие на структуру и работу сети блокчейн.

Хардфорк — «хардфорк» относится к изменению правил, при котором новая версия сети больше несовместима со старой версией, что приводит к двум ветвям блокчейна (параллельным и не влияющим друг на друга).

Софтфорк — «софтфорк» относится к изменению правил, при котором узлы, реализующие новые правила, по-прежнему могут взаимодействовать с узлами, которые не приняли изменения. Новая версия сети остается совместимой со старой версией.

Хардфорк

Софтфорк

Например, DAO 2016

Например, Segwit 2017

Старая версия несовместима с новой сетью.

Новая сеть совместима со старой.

Различные протоколы

Одинаковые

Анализ ситуации

Хардфорк Софтфорк

Например, если половина сетевых узлов хочет увеличить размер блока с 2 МБ до 3 МБ, отправка блока размером 3 МБ узлам старой версии приведет к отклонению, поскольку узлы старой версии имеют правило, предписывающее 2 МБ как максимальный размер блока. В этом сценарии сетевой протокол разветвляется на два, каждый из которых использует разные валюты. Все балансы счетов клонируются из исходных записей в новую цепь. Пользователи, у которых было 20 BTC до форка, будут иметь счет с 20 BTC и еще один — с 20 новыми BTC в обеих цепях.

Например, если исходный размер блока составляет 2 МБ, а теперь половина сетевых узлов внедряет новое ограничение в 1 МБ и считает блоки большего размера недействительными, узлы старой версии по-прежнему могут получать или транслировать блоки. В этом случае новая сеть может охватывать все узлы, не будучи ограниченной версиями правил. Segregated Witness (SegWit) в Bitcoin является примером софтфорка. Этот форк эффективно представил новый формат для блоков и транзакций. Узлы, которые не были обновлены, могут продолжать получать информацию о блоках, но не участвуют в проверке новых транзакций.

Нашли ответ на свой вопрос?