Софт-форк (Soft Fork)

Soft fork - це сумісна зі старими версіями зміна протоколу блокчейну, де лише дійсні блоки за новими правилами вважаються дійсними старими вузлами.

Soft forks вводять нові правила, які є суворішими за попередні. Це означає, що старі вузли, які не розпізнають нові правила, все одно вважатимуть блоки, створені за новими правилами, дійсними. Ця зворотна сумісність є ключовою особливістю, що дозволяє поступово оновлювати мережу, не вимагаючи одночасного оновлення всіх вузлів. Soft forks часто використовуються для впровадження нових функцій або виправлення помилок у протоколі блокчейну, зберігаючи консенсус мережі.

По суті, soft fork звужує набір дійсних блоків. Вузли, які не оновилися, просто бачать нові правила як підмножину старих правил. Це контрастує з hard forks, які розширюють набір дійсних блоків і вимагають, щоб усі вузли оновилися для підтримки консенсусу.

        graph LR
  Center["Софт-форк (Soft Fork)"]:::main
  Rel_hard_fork["hard-fork"]:::related -.-> Center
  click Rel_hard_fork "/terms/hard-fork"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простими словами

Це як оновлення текстового редактора. Якщо додали новий шрифт, користувачі зі старою версією все одно зможуть відкрити файл, але побачать текст стандартним шрифтом. Вони залишаються в грі, хоча й не мають нових функцій.

🤓 Expert Deep Dive

Технічно софт-форки часто використовують виходи 'anyone-can-spend'. У SegWit дані підпису було винесено за межі основного блоку, тому старі вузли бачили транзакцію як таку, що не потребує підпису, тоді як нові вузли перевіряли криптографічне підтвердження у полі witness.

📚 Джерела