ハードフォークとソフトフォーク、それぞれ何でどう違う?|DApps(ブロックチェーンを活用したアプリケーション)のことなら

TOP  コラム  ハードフォークとソフトフォーク、それぞれ何でどう違う?

ハードフォークとソフトフォーク、それぞれ何でどう違う?

2018.08.17

コラム

ハードフォークとソフトフォーク、それぞれ何でどう違う?

コイン分裂?ハード?ソフト?
暗号通貨(仮想通貨)に多少の関心を抱いている方であれば、ハードフォーク、ソフトフォークといった言葉を耳にしたことがあるでしょう。とくに2017年8月に大きく報道された、ビットコイン分裂の危機に関するニュースの解説では、このワードが頻繁に登場していました。

ハードフォークやソフトフォークといった用語は、ブロックチェーンや、それを基盤技術とする暗号通貨などでは避けて通れない問題とも深く関わっているもので、この領域を考えるなら正しく知っておきたい基礎になります。そこで今回はこの2つのワードを取り上げ、理解を深めていくこととしましょう。

まずごく簡単に整理すると、ブロックチェーンでは、1つの塊であるブロックが生成され、ひとつ前のブロックを暗号化して要約したハッシュ値やタイムスタンプを格納データとして含む、新たに承認されたブロックが生まれてはチェーン状につながっていくことで維持される仕組みになっています。

しかし時に複数のブロックが採掘されたり、悪意ある参加者(ノード)がネットワークを混乱させようとしたりして、1つのブロックに対し1つのブロックがつながらない、複数のブロックが後に加えられて分岐することがあります。この分岐を「フォーク」といいます。

分岐は起こり得ますが、次のブロックのマイナーは、分岐した
チェーンの中から一番長い枝、多数に承認された真正性の高いチェーンを選んで、そこに自らのブロックを加えるよう計算を開始します。こうして長さに一定以上の差がつくと、短い方の枝は廃棄され、そちらにつくマイナーはインセンティブを受けられなくなるため、結果的に過半数のマイナー、ノードが支持する方へすぐに収束、分岐が続くことはなく分裂もしない、結果的に1つのチェーンが保たれるようになっているのです。

スケーラビリティ問題の技術的対処として実施
ところで、ビットコインの分裂危機が騒がれたのは、そもそも何が原因となっていたかというと、背景にはブロックチェーンに特有のスケーラビリティ問題があり、これにどう対応するか意見が分かれていたことがありました。

スケーラビリティ問題というのは、ブロックに格納できる容量は限られており、多くの取引利用が発生すると、ブロック生成の方が間に合わなくなる、その結果、処理に遅延が発生し、さまざまな悪影響が及ぶというものです。

ビットコインの場合ではとくに、そのブロック容量が1MBと小さいことから、かつては即時取引が可能であったところ、着金などが遅れるようになってしまっていたのです。そこで、問題の解決・改善を図る技術的な対処法として、ハードフォーク、ソフトフォークの実施が話題になりました。では、それぞれの意味と違いをみていきましょう。

互換性のあるソフトフォーク
まずソフトフォークですが、これは既存のブロックチェーンの改善に向けた仕様変更にあたるものです。使うブロックは変更せず、格納する取引データを圧縮してよりたくさん入れられるようにするといった例が典型的で、実施後も使うブロックが同じですから、サービスに互換性があり、大きな混乱なく継続できるメリットがあります。

暗号通貨でも、ソフトフォークの場合、一時的な分岐が発生し、適用されるルールは新しくなりますが、旧ルールと新ルールには互換性がありますから、最終的に1つのチェーンに収束し、その暗号通貨の基本的仕組みが保持されます。

スケーラビリティ問題に対する解決策として、データの縮小・圧縮が目的で実行される場合が大半ですが、論理的にはさまざまなルールの削除や追加を検討することが可能で、AのパターンとBのパターンで分岐を起こすことにより、皆が使い始めた利便性の高い方の枝が伸びていきますから、結果としていずれかが選択され、そちらを適用したかたちで収束、1つのチェーンが再び続いていくことになります。

まったく新しくなるハードフォーク
一方、ハードフォークは、一時的分岐のソフトフォークと異なり、ブロックチェーンそのものを変えるもので、永続的な分岐、分裂が発生するものです。よってチェーンの収束は起こらず、実施前と実施後に互換性がありません。

ソフトチェーンと同様の例で説明すれば、ハードフォークでは使うブロックそのものを新しい違うブロックに変えてしまいます。これまで使っていたブロックより、大きなサイズのブロックを採用して、より多くのデータを格納できるようにするといった手法です。

サポート機種の変わらないバージョンアップならば、アプリやソフトを同じ端末で使い続けることができますが、サポート機種を変える新リリースならば、これまでの端末では動作しなくなります。端末を買い替えるしかありません。たとえるなら、前者がソフトフォーク、後者がハードフォークということです。

ソフトフォークの場合、暗号通貨ならそれ自体がなくならないため比較的リスクを抑えて、取引速度の改善やセキュリティ向上を図れる可能性があります。

一方ハードフォークは、互換性がないまったく新たなブロックチェーンが誕生することとなるため、暗号通貨も新しいものに変わってしまいます。同量の新暗号通貨を受け取れたり、分裂したばかりで高い取引ニーズが発生し、価値が大幅に上がった状態で新暗号通貨を受け取るために、かえって資産価値を増やせたりするメリットもありますが、バグの発生や取引所の停止で保有する暗号通貨が失われたり、信用性が低下して価値が下落したりといったデメリットもあります。

ソフトフォークではカバーしきれない問題点をクリアできるのは、やはりハードフォークですが、ハードフォークには大きな混乱の発生や、価値・信用度における高いリスクがあることを理解しておかねばなりません。

いかがでしたか。ハードフォークとソフトフォークを理解すると、ブロックチェーン関連の議論がよく分かるようになります。ぜひ基礎として身につけておきましょう。

(画像は写真素材 足成より)