デジタル資産

ハードフォークとは何か?

mm
Securities.io を Google の優先ソースに追加
開示: Securities.ioは、レビュー製品へのリンク利用により報酬を受け取る場合があります。これは当社の編集評価に影響しません。 当社は登録投資顧問ではなく、これは投資助言ではありません。 アフィリエイト開示をご覧ください。

ブロックチェーンのルール変更は、利用者、開発者、トレーダー、投資家に影響し得る。重要な概念の一つがハードフォークだ。これは古いソフトウェアと互換性のない合意ルールの変更を指す。

すべての更新にハードフォークが必要なわけではない。ソフトフォークや合意ルールを変えないソフトウェア改善もある。違いを知ると、新ルールをどのソフトウェアが検証するのか、ネットワークがいつ分岐し得るのかを理解しやすい。

ハードフォークとは

ハードフォークは、ノードがブロックや取引の有効性を判断するルールを変える。

新ルールで有効なブロックを、旧ルールに従うノードが拒否する場合がある。新機能の導入やプロトコルの制限変更などに使われるが、重要なのはコード変更の大きさだけでなく、合意ルールの互換性である。

新ルールのチェーンを検証したいノード運用者は、対応するソフトウェアを使う必要がある。全員が技術的に参加を強制されるわけではなく、旧ルールを使い続けることもできる。旧チェーンが存続するかは参加者の支持や合意方式に左右される。

開発者やコミュニティの参加者は、新機能、問題の修正、開発方針の変更などのためにハードフォークを提案できる。提案だけでネットワークが変わるわけではない。参加者がソフトウェアを採用し、有効化を調整する必要がある。

ハードフォークで何が起こるか

新ルールは通常、決められたブロック高や時刻に有効になる。未更新のノードは新しいノードが受け入れるブロックを拒否する場合がある。ただし、必ず二つの永続的なネットワークや通貨が生まれるわけではない。参加者がそろって移行すれば、旧チェーンは停止し得る。

異なる集団が互換性のないルールでブロックを作り続けると、長期的な分裂が起こり得る。これは、有効な二つのブロックがほぼ同時に見つかった後、ネットワークが一つの履歴に収束する一時的な分岐とは異なる。

存続する二つのチェーンは分岐点までの履歴を共有し、その後は別々に発展する。旧チェーンが自動的に無意味になるわけではない。どちらも利用者、開発者、ノード運用者、マイナーやバリデーターの支持に依存する。

分岐後、どちらが元のチェーンなのか

ハードフォークはビットコインやイーサリアムだけのものではない。分岐後の名称やアイデンティティーは、コミュニティや市場での利用と認知に左右される。最新のコードを採用した側が必ず元の名称を得るという普遍的なルールはない。

ルールの更新とプロジェクトのアイデンティティーは別の問題だ。調整された更新後もネットワークは名称を維持できる。反対する参加者が別の名称で別チェーンを継続することもある。これはビットコインの更新がすべてハードフォークだという意味ではない。

ビットコインキャッシュとビットコインゴールドは、ビットコインに関連する分岐から生まれた例だ。ビットコインSVは後にビットコインキャッシュの分岐から生まれた。いずれも同じビットコインソフトウェアのバージョン名ではなく、別のネットワークである。

ハードフォークを提案する理由

新機能、合意のパラメーター変更、脆弱性修正などが理由になり得る。多数の支持は調整を助けるが、すべてのノードを強制的に変更する中央の決定ではない。参加者は実行するルールを選ぶ。

大規模なチェーンや多数のノードがあっても、攻撃に自動的に免疫ができるわけではない。スマートコントラクト、ソフトウェア、合意方式の脆弱性はそれぞれ異なる問題だ。特定の状況でコミュニティがネットワークの状態変更を支持することはあっても、取引履歴を自由に消せるという意味ではない。

ルール変更はプラットフォームの移行とも区別する必要がある。後者についてはPolymathとイーサリアムに関する関連記事で扱っている。ハードフォークによる状態変更の例が、2016年のDAO攻撃に対するイーサリアムの対応である。

2016年7月20日、ブロック1,920,000でDAOフォークが有効になった。Ethereum Foundationの報告は、関係するDAOコントラクトから復旧用コントラクトへの資金移動を説明している。大きな支持があっても、コミュニティ全体の一致ではなかった。一部は変更を拒み、フォークしないチェーンをイーサリアムクラシックとして継続した。

フォークは攻撃の取引を履歴から消さなかった。状態変更で資金を新しいコントラクトへ移し、DAOトークン保有者が権利に応じて引き出せるようにした。復旧はこのコントラクトを通じて行われ、全員への自動的な同時払い戻しではなかった。

ハードフォークとソフトフォークの違い

どちらも合意ルールを変更できるが、互換性が異なる。ソフトフォークはルールを厳しくするため、新ルールを満たすブロックは古いノードにも受け入れられる。ただし古いノードは追加された制限をすべて検証するわけではない。

ハードフォークでは、新ルールが認めるブロックを古いノードが拒否する場合がある。双方が各自のルールを維持すれば二つのチェーンが存続し得る。ソフトフォークは互換性のある一つのチェーンを目指すが、調整や実装の失敗によって問題や分裂が起きる可能性は残る。

新ルールをすべて検証したい運用者はソフトウェアを更新する必要がある。ソフトフォークでは、古いノードも追加制限をすべて理解せずに新ブロックを追える。ハードフォークではそれを拒否し得る。したがって両方式が必ず同じ分裂を起こすわけではない。

ハードフォークが本質的にソフトフォークより安全ということはない。安全性は設計、実装、テスト、有効化の調整、ネットワークの支持に左右される。ソフトフォークも時代遅れではない。ビットコインのTaprootは2021年に有効化されたソフトフォークだ。ハードフォーク自体が大幅に多い計算資源を必要とするわけでもなく、資源の要件は実際のプロトコル変更によって決まる。

結論

ハードフォークは、古いノードと互換性のない合意変更を可能にする。開発計画の一部にも、緊急の問題への対応にもなり得るが、すべての新機能に必要な方法ではない。

結果は変更内容と参加者の支持に左右される。調整された更新は一つのネットワークを維持できる一方、意見の相違は別々のチェーンを生み得る。利用者は、選んだルール、ソフトウェア、ネットワークを理解することが重要だ。

Aliは、暗号通貨市場とブロックチェーン業界を扱うフリーランスのライターです。彼は、8年の間、暗号通貨、テクノロジー、取引について執筆しています。彼の作品は、CCN、Capital.com、Bitcoinist、NewsBTCを含む様々な高プロファイルの投資サイトで見ることができます。