Софт-форк (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

Важнейшие примеры — SegWit (исправление пластичности транзакций) и Taproot (повышение конфиденциальности). Активация может быть MASF (сигнализация майнеров) или UASF (активация пользователями/экономическим большинством).

📚 Источники