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

Хард-форк и софт-форк

U
Автор: UKey Wallet

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

Хард Форк

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

Софт-форк

Мягкая вилка — это изменение правил, при котором узлы, принявшие новые правила, по-прежнему могут взаимодействовать с узлами, которые не были обновлены. При этом новая версия сети остается совместимой со старой версией.


Сравнение

Хард-форк

  • Пример: ДАО 2016.

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

  • Работает по разным протоколам

Софт-форк

  • Пример: СегВит 2017

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

  • Работает в соответствии с той же общей структурой протокола


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

Хард Форк

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

Софт-форк

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

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