ハードフォークとソフトフォーク:実際的な違いを解説
ハードフォークとソフトフォークがブロックチェーンプロトコルをどのように変更し、ユーザーに影響を与え、暗号通貨エコシステムにどのような影響を及ぼすかを探ります。
ブロックチェーン技術において、フォークとは、ブロックチェーン ネットワークのプロトコルまたはコードベースの分裂を指します。この分裂により、パスが分岐し、一方は既存のルールを継承し、もう一方は変更を導入します。フォークは、分散型ネットワークの維持、アップグレード、または管理において重要な役割を果たします。フォークは通常、次のような理由で発生します。
- ブロックチェーン プロトコルの更新またはアップグレード
- ガバナンスに関するコミュニティの合意の相違
- バグ修正またはセキュリティ上の脆弱性への対処
- スケーラビリティや取引手数料などの基本原則に関する意見の不一致
フォークは、主にハードフォークとソフトフォークの 2 種類に分類されます。それぞれ、下位互換性、コンセンサス、チェーンの継続性に異なる影響を与えます。ブロックチェーン エコシステムを理解する開発者、投資家、ユーザーにとって、それぞれの技術的な仕組みと実際の例を理解することは不可欠です。
ハードフォークとは、ブロックチェーンのプロトコルに根本的な変更を加えることで、後方互換性がないことを意味します。新しいバージョンのソフトウェアにアップグレードしていないノードやユーザーは、新しいチェーン上で生成されたブロックやトランザクションを検証したり、操作したりすることができません。その結果、ハードフォークは以前のブロックチェーン バージョンから永続的な分岐を生み出し、全会一致で承認されない場合は 2 つの別々の台帳が作成されます。
ハードフォークの主な特徴は次のとおりです。
- 後方互換性がない: 古いノードは新しいチェーンからのブロックを拒否します。
- チェーンの分割: すべてのノードがアップグレードしない場合、ブロックチェーンは 2 つに分割されます。
- 新しいトークンの作成 (多くの場合): フォークにより新しい暗号通貨が作成されることがあります。
- コンセンサスが必要: フォークの長期的な存続にはコミュニティの参加が必要です。
実例: ビットコイン キャッシュ (BCH)
2017 年 8 月、ビットコイン ネットワークでハードフォークが発生し、 ビットコインキャッシュ。当時、ビットコインコミュニティ内での主な論争は、より多くのトランザクションに対応するためにネットワークをどのように拡張するかという点でした。ビットコインキャッシュはブロックサイズを1MBから8MBに拡張し(後にさらに拡張)、ブロックあたりのトランザクション数を増やし、手数料を削減しました。
このアップグレードは下位互換性がなく、ビットコインキャッシュはビットコイン(BTC)とは異なる、独自のルールとトークン(BCH)を持つ独立したブロックチェーンとなりました。フォーク時にビットコインを保有していたユーザーは、分割後に同額の BCH を受け取りました。
その他の注目すべきハードフォーク:
- Ethereum Classic (ETC): DAO ハッキングの後、盗難の取り消しに関する意見の相違により、2016 年に Ethereum からフォークされました。
- Monero ハードフォーク: プライバシー プロトコルをアップグレードするため、または ASIC マイニングに抵抗するために定期的に発生します。
- Cardano Alonzo ハードフォーク: 2021 年に Cardano にスマート コントラクトが導入され、古いバージョンとは互換性のないプロトコル アップグレードが必要になりました。
ハードフォークは通常、ソフトフォークよりも混乱を招きますが、コミュニティが大きく分裂している場合や根本的な変更が必要な場合には、クリーンなソリューションを提供します。
ハードフォークとは対照的に、ソフトフォークはブロックチェーンプロトコルへの後方互換性のある変更です。つまり、アップグレードされていない(古い)ノードであっても、アップグレードされたノードによって作成されたブロックが古いルールに準拠している限り、そのブロックを認識し、検証することができます。ネットワークの大多数が新しいルールに同意して施行する限り、ソフトフォークによって必ずしもチェーンが分割されるわけではありません。
ソフトフォークの基本的な属性:
- 下位互換性: 古いノードは、変更されたネットワーク上で引き続き機能します。
- 新しいコインは作成されません: 既存の暗号通貨はそのまま残ります。
- 過半数のハッシュ パワーが必要: 新しいルールは、過半数のマイニング パワーによって施行されます。
- コンセンサスによるセキュリティ: ネットワーク内でのプロトコルの統一を促進します。
実例: Bitcoin SegWit のアップグレード
最もよく知られているソフトフォークの 1 つは、2017 年 8 月に Bitcoin ネットワークで Segregated Witness (SegWit) プロトコル アップグレードが有効化されたときに発生しました。 SegWitはトランザクションデータの保存方法を変更し、署名データ(witness)をトランザクションブロックから実質的に削除し、別の構造に配置しました。この変更により、ブロックサイズの制限を増やすことなく、1つのブロックに保存できるトランザクションの数を増やすことができました。
SegWitトランザクションは、古いクライアントでは十分に活用されていなかったものの、旧来のビットコインプロトコルのルールの下では依然として有効であったため、この変更は後方互換性がありました。その結果、古いノードは引き続きブロックを検証することができ、新しいコインは作成されませんでした。
その他の主要なソフトフォークは次のとおりです。
- イーサリアムのビザンチウムアップグレード:ネットワークの整合性を維持し、後方互換性を確保しながら、プライバシーと効率性の向上を実装しました。
- ライトコインのMimbleWimble統合:オプションで強制されない機密トランザクション用のソフトフォークとして実装されました。
- BIP66(ビットコイン改善提案):ソフトフォークを通じて厳格なDER署名を強制し、コンセンサスルールを安全に改善しました。
ソフトフォークは、ネットワークの一貫性を維持し、分割のリスク(およびコスト)を回避しながら、段階的な変更や最適化を行う必要がある場合に一般的に好まれます。
ただし、すべてのユーザーが同意しない場合、ソフトフォークは議論の余地があり、過去のアップグレードで見られたように、コンセンサスが得られなかった場合、ソフトフォークでもハードフォークが発生する可能性があります。
最終的に、ハードフォークとソフトフォークの選択は、アップグレードの目的、コミュニティの合意レベル、プロトコルの変更の性質によって決まります。