仮想通貨は、誰でも貢献できる分散型オープンソースソフトウェアによって支えられています。このソフトウェアはブロックチェーンと呼ばれ、文字通りデータのブロックで構成されています。ブロックチェーン上で行われたすべての取引で構成された非常に長い列車を想像してみてください。そして、その列車の中では、最初の取引まで遡って追跡できるのです。
オープンソースであるため、それを使用するコミュニティが基盤となるコードを維持および開発します。コミュニティが基盤となるコードや基本的なルールセットに変更を加えることがあります。このようなことが起こると、ブロックチェーンが分岐し、最初のブロックチェーンのオリジナリティを共有する2番目のブロックチェーンが作成されます。このような形成は、暗号通貨フォークとして知られています。現在、暗号通貨フォークには主に2つのタイプがあります。 ハードフォークハードフォークとソフトフォーク。このガイドでは、ハードフォークとソフトフォークの違いを詳しく見ていきましょう。
ハードフォーク
基本的に、ハードフォークはブロックチェーンプロトコルの旧バージョンを無効にします。旧バージョンが引き続き稼働すると、新バージョンとは異なるプロトコルとデータを使用することになり、エラーや混乱が生じる可能性があります。
の例を見てみましょう Bitcoin硬いフォークで(Bitcoin Cashそうなると、マイニング難易度アルゴリズム、ブロックサイズ、追加情報の制限など、主要なパラメータが必然的に変更されます。これらのルールのいずれかが変更されると、新しいプロトコルはブロックを受け入れますが、古いプロトコルはブロックを拒否します。これは深刻な混乱や問題、さらには資金の損失につながる可能性があります。
ブロックサイズが1MBから4MBに増加した場合、新しいプロトコルでは2MBのブロックが受け入れられますが、古いプロトコルでは拒否されます。例えば、2MBのブロックが検証され、ブロックチェーンに追加されたとします。
ビットコインキャッシュ(BCH)は2017年にローンチされ、ビットコインのハードフォーク版です。ハードフォークの原則に従い、BCHはビットコインとは異なります。その違いは以下のとおりです。
- ビットコインは、ビットコインキャッシュよりもはるか以前に登場した、元祖の仮想通貨です。ハードフォーク版と比較して、ネットワークのリーチがはるかに広く、インフラも優れています。
- ビットコインのブロックサイズは1MBであるのに対し、ビットコインキャッシュのブロックサイズは32MBである。
- SegWit(Segregated Witness)はビットコインブロックチェーンのソフトフォークであり、ビットコイン取引ではトランザクション署名を破棄することができます。一方、BCHはSegWitをサポートしていません。
- ビットコインは処理速度が遅く、手数料も高い。一方、BCHは新しいブロックの検証に必要なマイニング能力が少ないため、トランザクション処理が速く、手数料も低い。
これで、新しいプロトコル(例:ビットコインキャッシュ)を持つブロックチェーンと、古いプロトコル(例:ビットコイン)のみを持つブロックチェーンという、2つのブロックチェーンが存在します。これら2つの異なるチェーンは並行して成長することができます。このフォークプロセスは「ハードフォーク」と呼ばれ、リスクが高く、二重支払いを引き起こしたり、混乱を招く可能性があります。
ハードフォークにはリスクが伴うものの、メリットも存在します。ブロックチェーンがハードフォークを実施すると、その機能が向上します。ブロックチェーンのユーザーにとっても、新しいコインを受け取ったり、新しいソフトウェアの機能を利用したりできるため、ハードフォークは大きなメリットとなります。ハードフォークの最も重要なメリットの一つは、旧プロトコルに存在していた重大なセキュリティリスクを修正し、新たな機能を追加できることです。
イーサリアムは、重大なセキュリティリスクを修正する優れた例です。 分散型自律組織(DAO) イーサリアムブロックチェーン上でローンチされたこのプロジェクトは、コードベースの脆弱性が原因でハッキングされた。
ハッキング後、満場一致で決定されたのは Ethereum コミュニティは、数千万ドル相当のデジタル資産を奪った取引を元に戻すにはハードフォークが必要だと認識した。この決定はネットワークの取引履歴を完全に元に戻すものではなかったが、DAOに関連付けられた資産を新たに作成された組織に移管した。 スマート契約その目的は、元の所有者が資金を引き出せるようにすることだった。
その後、DAOはハードフォーク後に残った余剰トークンを、組織の「フェイルセーフ保護」を提供するために、キュレーターに分配した。
次に、ハードフォークとソフトフォークの比較において、ソフトフォークを見ていきましょう。
ソフトフォーク
基本的に、ソフトフォークはハードフォークの反対で、新しい変更が古いプロトコルとの後方互換性を持つという点が特徴である。
例えば、プロトコルに変更が加えられ、開発者がルールを厳格化し、ブロックチェーンの構造に影響を与えない機能を追加した場合、古いバージョンは新しいバージョンのブロックを受け入れます。しかし、新しいバージョンは古いバージョンのブロックを受け入れません。
ビットコインは、SegWit(Segregated Witness)というプロトコル変更を経てきました。この変更が必要となったのは、膨大な数のトランザクションがビットコインネットワークに負荷をかけ、トランザクションの処理と検証に遅延を引き起こしていたためです。場合によっては、1つのトランザクションを確認するのに数時間かかることもありました。SegWitの実装により、1MBのブロック内に処理できるトランザクション数が増え、トランザクションの検証プロセスが高速化されました。
仮想通貨のソフトフォークでは、旧バージョンのマイナーは自分のブロックが拒否されていることに気づき、アップグレードを余儀なくされます。アップグレードするマイナーが増えるにつれて、孤立した旧バージョンのブロックがさらに多くのマイナーのアップグレードを促します。これは自己修正的なプロセスであり、旧バージョンとアップグレードされたノードの両方が新バージョンのブロックを受け入れるため、最終的には新バージョンが勝利します。最後に、ソフトフォークには二重支払いのリスクがありません。
ハードフォーク vs. ソフトフォーク – まとめ
ソフトフォークとハードフォークを比較すると、ソフトフォークは資金損失や二重支払いのリスクがないため、仮想通貨にとって間違いなくより良い選択肢です。この自己修正的な仕組みは仮想通貨にとって理想的ですが、最終的にはコミュニティの判断に委ねられます。