【そふとふぉーく】
ソフトフォーク とは?
最終更新:
💡 新ルールで合格するブロックは、旧ルールでも合格
ブロックチェーンで、有効と認める範囲を狭めるルール変更。新ルールで有効なブロックは旧ルールでも有効となるため、旧ノードとの後方互換性がある。
📌 このページのポイント
- 新ルールで有効な範囲を、旧ルールで有効な範囲の内側にする
- 旧ノードは新ルールの追加条件を検証できるわけではない
- ビットコインのSegWitはソフトフォークの例
- 互換性があっても、導入方法や合意形成の検討は必要
ソフトフォークはハードフォークの軽い版なの?
変更の大きさよりも、互換性の違いに注目しよう。ソフトフォークは有効と認める範囲を狭める変更だよ。新しいルールに従うブロックは、古いルールでも有効と判断されるんだ。
範囲を狭めるって、どういうこと?
仮にブロックサイズの上限を小さくする変更を考えると、新しい上限以内のブロックは古い上限も満たすよね。一方、古い上限以内でも新しい上限を超えるブロックは、新ルールでは無効になる。これは仕組みを説明する仮の例だよ。
それなら、古いノードのままで十分?
古いノードは追加された条件を検証できないよ。旧ルールでは有効でも新ルールには違反するブロックを、自分では見分けられない。後方互換性は、新ルールを自分で検証できることまで保証しないんだ。
具体的な例はある?
ビットコインのSegWitだよ。署名などのwitnessデータを従来部分から分離して扱う仕組みで、ソフトフォークとして導入された。旧ノードも受け入れられる形を保つ一方、witnessの検証には対応したノードが必要なんだ。
互換性があれば、簡単に導入できるの?
まとめ:ざっくりこれだけ覚えればOK!
「ソフトフォーク」って出てきたら「旧ルールで有効な範囲を狭める変更」と思えればだいたいOK!
📖 おまけ:英語の意味
「Soft Fork」 = ソフトフォーク(互換性を保つルール変更)
💬 Softはここでは旧ルールとの互換性を保つ変更の区別に使われるよ。「穏やかで、導入も簡単」という保証ではないんだ。