В блокчейн технологията hard forks и soft forks са два различни начина за надграждане и актуализиране на мрежови протоколи. Те се различават значително по начина, по който се изпълняват и тези разлики могат пряко да повлияят на структурата и работата на блокчейн мрежата.
Твърда вилица
Hard fork е промяна на правило, при която новата версия на мрежата вече не е съвместима със старата версия. В резултат на това блокчейнът се разделя на два отделни клона, които работят паралелно и не си влияят един на друг.
Софт Форк
Soft fork е промяна на правило, при която възли, които приемат новите правила, все още могат да взаимодействат с възли, които не са надградени. В този случай новата версия на мрежата остава съвместима със старата версия.
Сравнение
Hard Fork
Пример: 2016 DAO
Старата версия не е съвместима с новата мрежа
Работи под различни протоколи
Soft Fork
Пример: 2017 SegWit
Новата мрежа остава съвместима със старата версия
Работи под същата обща рамка на протокола
Ситуационен анализ
Твърда вилица
Да предположим например, че половината от мрежовите възли искат да увеличат размера на блока от 2MB на 3MB. Ако 3MB блок бъде изпратен до възли със стара версия, тези възли ще го отхвърлят, защото техните правила все още определят 2MB като максимален размер на блока. В този случай мрежата се разделя на два отделни протокола и всеки клон може да използва различна валута. Всички салда по сметки се копират от оригиналната верига в новата верига. Например, ако потребител притежава 20 BTC преди разклонението, този потребител ще държи 20 BTC в оригиналната верига и 20 нови BTC в новата верига.
Софт Форк
Например, ако първоначалният размер на блока е 2MB и половината от мрежовите възли въвеждат по-стриктно правило, ограничаващо размера на блока до 1MB, блоковете, по-големи от 1MB, ще бъдат третирани като невалидни от надстроените възли. Въпреки това възлите със стара версия все още могат да получават и излъчват блокове. В тази ситуация новата мрежа все още може да покрива всички възли, без да бъде ограничавана от различни версии на правилата. Segregated Witness (SegWit) на биткойн е типичен пример за мек форк. Тази надстройка въведе нов блок и формат на транзакции по умен начин. Възлите, които не са били надстроени, все още могат да получават информация за блокове, но не участват в валидирането на новия формат на транзакция.
