Soft Forkとは何ですか?
Soft Forkは、後方互換性を保ったブロックチェーンルールの変更です。古いソフトウェアでも新しいブロックを読み取ることができますが、新ルールはより厳しくなります。現在のメンバーを追い出すことなくクラブがドレスコードを厳しくするようなイメージです。
Soft Forkが全員にアップグレードを強制し、しないと排除されるという誤解があります。完全にそうではありません。新しいブロックは旧ルール下でも有効なため、古いソフトウェアでもチェーンを追跡できます。
Soft Forkの仕組み
署名形式の追加やスクリプト検査の強化など、ルールを厳しくする更新が展開されると想像してください。大半のユーザーはほとんど気づきませんが、ネットワークには影響があります。
- ステップ1:誰かがルール変更を提案し、有効化計画を含むコードを公開します。
- ステップ2:オペレーターはノードを更新し、マイナーやバリデーターが支持を示し始めます。
- ステップ3:閾値が達成されると、新ルールが確定し、設定されたブロック高で有効化されます。例としては、トランザクション容量の改善などがあります。
- ステップ4:新しいクライアントはより厳しいルールを適用します。古いクライアントはそれらのブロックを引き続き有効と判断するため受け入れ続けます。
- ステップ5:もしブロックが新ルールに違反すると、更新済みクライアントはそれを拒否し、マイナーに有効なブロックを出し続けるよう促します。
静かですが効果的です。まさにそれが狙いです。
Soft Forkが重要な理由
単なるプロトコルの専門的な話だけではありません。チェーンが大きな混乱を起こさずに機能を追加する方法だからです。
- 利点:アップグレードは、すべてのウォレットやサービスが初日から切り替わることを強制せずに行うことができます。
- 視点:これはハードフォークより穏やかな手法で、古いソフトが受け入れられない形でルールを変更するハードフォークとは対照的です。
- 関連性:Bitcoinなどのチェーンで新しいスクリプト機能、プライバシーの調整、手数料効率の改善を行う際に、Soft Forkのアップグレードが議論されます。
自分でフルクライアントを運用している場合は、リリースノートで有効化ブロック高とシグナリングの状況を確認し、自分のソフトが何を適用するか把握してください。
Soft Forkの主な特徴
違いを簡潔に確認できる点は次の通りです:
- 互換性:新しいブロックが旧ルール下で有効なため、古いソフトウェアは引き続き動作します。
- 厳格化:変更によって有効と見なされる条件を制限し、緩めることはありません。
- 有効化:多くの場合、シグナリングとロックイン期間を使って切り替えを調整します。
- 安全性:混乱を減らすよう設計されていますが、調整が不十分だと問題が生じることはあり得ます。
バリエーション
支持の示し方や適用方法に応じて、いくつかの種類があります:
- マイナーシグナリング:マイナーは閾値達成までブロックヘッダーで準備を示します。
- UASF:ユーザーが更新クライアントが適用を開始する日付を決めます。マイナーのシグナリングがあってもなくても行われます。
- フラグデー:全員が事前に定めたブロック高で有効化を狙います。単純ですが調整が必要です。
有効化中に十分な参加者が同じルールに従わないと、Soft Forkが一時的なチェーン分岐を生じることがあります。したがって、調整と十分な情報共有が重要です。
例
2017年のSegWitは、署名データの保存方法を変更したSoft Forkで、各ブロックにより多くの取引を収められるようになり、混雑時の手数料を下げました。
豆知識
「フォーク」という用語はソフトウェアのバージョン管理から来ており、食器のフォークからではありません。暗号通貨の会話では、ロレックスとRedditのスレッドが混ざったような使われ方をすることがよくあります。
まとめ
一言で言うと:Soft Forkは古いクライアントを壊すことなくルールを厳しくし、ネットワークがはるかに少ない混乱でアップグレードできるようにします。
