前回はソフトフォークについて解説しました。
今回はハードフォークについて、
・仕組み
・メリットデメリット
・危険性や注意事項(リプレイプロテクション)
について解説します。
ハードフォークの知識を持っておくことで、いざ自分の保有している通貨がハードフォークする時の対応に困ることはなくなることでしょう。
https://bitcoin-fx.jp/?p=8118
もくじ
ハードフォークとは

ハードフォークとは、ブロックチェーンで使用されていたルールが新たに変更され、以前のルールが無効になった結果に発生する永続的なフォークのことです。
ハードフォークでは、ルールが変更されてしまったことにより旧ノードはルールに適応ない新トランザクションを受け取れません。(図①)
※新トランザクションでも旧ルールに適応しているものであば受け取れます。詳しくはリプレイアタックの記事で説明しています。

また旧ノードは新ルールに対応していないので旧ブロックを新チェーンに追加できません。(図②)

その結果、旧ノードは引き続き旧チェーンを組立て続けます。
しかし一方で新ノードは新チェーンを組み立て続けます。
それにより新旧2本のブロックチェーンが独立して存在することになり、ハードフォークが発生します。
ではハードフォークのメリットデメリットをみてみましょう。
ハードフォークのメリットデメリット
ハードフォークはプロトコル(仮想通貨)自体が別々になるのでソフトフォークと比べてメリットデメリットがはっきりしています。
【メリット】
- ソフトフォークに比べ大幅な機能(ルール)変更ができる
- ユーザーにとっては新たな通貨が無料で手に入る
【デメリット】
- 旧ブロックチェーンが組み立てられ続けてしまうと、ユーザー視点では仮想通貨が2種類に分裂してしまう
- ユーザーは、ブロックチェーンの分岐を利用した悪意のある行為(例:リプレイアタック)等の対策が必要
ではハードフォークした後にどのように悪意ある行為から仮想通貨を守れば良いのでしょうか?
次の項目で詳しく解説します。
ハードフォークした後のリプレイアタック(replay attack)の危険性
リプレイアタックとは、ハードフォークした後もそれぞれのトランザクションはお互いのブロックチェーンで有効になってしまうこと、を利用した不正行為です。
最初の項目のハードフォークの解説では、新旧のトランザクションの非互換性について解説しました。
しかし仮に新旧ノード共に有効なトランザクション作られた場合は、互換性が生まれます。
その仕組みを利用した不正がリプレイアタックです。
例えばAさんがBさんにビットコインを送ったトランザクションを、悪者がコピーしてビットコインキャッシュのブロックチェックに流したとします。
そうすると、Aさんはビットコインを送ったつもりなに、ビットコインとビットコイン キャッシュの2つを送ったことになってしまうのです。
仮想通貨を守るリプレイプロテクション(replay protection)とは
リプレイアタックへの代表的な対策として、【リプレイプロテクション】という機能があります。
リプレイプロテクションとは、どのブロックチェーン上で作られたトランザクションなのかを区別できるようにすることで、リプレイアタックによる不正を未然に防ぐことです。
よって先ほどの例のようにトランザクションがコピーがされても、それが正しいブロックチェーンのトランザクションでなければ無効とされ不正な送金はされません。
ユーザーは自身が持っている仮想通貨がハードフォークするときは、その仮想通貨にきちんとリプレイプロテクションがされているかの確認が必要です。
もしされていなかった場合には、送金をしなければリプレイアタックを受けることもありません。
またリプレイアタックへの対策がされるのを待つのも、被害に合わない一つの方法です。
ハードフォークのまとめ
この記事ではハードフォークの仕組みから注意事項までを解説しました。
最後に大事なポイントを挙げます。
-
ハードフォークとはプロトコルの仕様変更によって永続的に発生するフォークのことです。
-
ハードフォークした後は、リプレイアタックに注意!
-
防犯対策として、リプレイプロテクションの有無の確認をしましょう
-
ハードフォークした後は、送金をしないのもリプレイアタック対策の一つの手です
ユーザーにとってハードフォークは、価値が増えるのでメリットだと思われていることが多いのですが、リプレイアタックなどの不正によって両方の通貨の価値が落ちてしまうことも考えられます。
ソフトフォークと比べてハイリスクハイリターンなフォークと言えるでしょう。
次回はリプレイアタックについて例を用いて解説します。