仮想通貨、特にビットコインと合わせて広く知られているのが、
リプレイアタックというワードです。
「聞いたことはあるけど、意味まではよくわかっていない」
という方も、実は多いのではないでしょうか?
今回は、そんな方のために仮想通貨におけるリプレイアタックの意味を、
わかりやすく解説しました。
ぜひ参考にしてみて下さい。
そもそもリプレイアタックとは?
本来、リプレイアタックとは、IT用語の1つであり、
不正に情報を取得して、誰かに攻撃を加えるという意味があります。
あるサービスサイトにAさんがログインする時、
その時のログイン情報をそのまま盗むなどが例に挙げられます。
これによって、第三者は何度でもAさんとして、
サービスサイトを利用することが出来るようになり、
特に、オンラインバンキングなどの場面ではとても危険と言えます。
仮想通貨とリプレイアタック
仮想通貨、特にビットコインにおけるリプレイアタックとは、
ハードフォークをうまく利用して、
際限なくビットコインを引き出すというものでした。
ハードフォーク(分裂)とは、文字通り、
仮想通貨のブロックチェーンが分岐し、全く別の仮想通貨が誕生することです。
ビットコインキャッシュの誕生は、まさにこの例の1つですね。
ちなみにハードフォークが発生すると、
分岐前の通貨の保有相当の通貨を無料で貰うことができます。
例えばビットコインを10BTC持っている状態で、
ハードフォークが発生し、ビットコインキャッシュが誕生した際は、
10BTC相当のビットコインキャッシュが貰えるというものです。
こうすることで新通貨の利用者は増えますし、
利用者としては通貨は変わっても、資産が増えるだけですので、
まさに稼げるチャンスです。
しかし、ハードフォークに対応していない取引所は、
大変危険に晒されることになります。
例えばビットコインの分裂により、
ビットコインキャッシュが誕生したものの、
ある取引所Aでは、その2つを別個の通貨として認識できない場合、
リプレイアタックが生じます。
つまり、BTCを引き出せれば、全く同じものと認識しているBCHを
取引所から引き出せてしまうようなものです。
ここで問題となるのが、BCHは手元においておき、
BTCを再度取引所に戻した時です。
取引所Aとしては、出金されたBTCがまるまる戻ってきたと勘違いするので、
そのBTCを引き落とし時、同時にBCHも引き出すことができます。
そしてまた、BCHを手元においておき、BTCを取引所に戻して、
また引き落とす、このような作業を永遠と「繰り返せば」
いくらでもBCHを稼ぐことができます。
リプレイアタックの対策とリプレイプロテクション
当然ですが、このような問題はしっかりとした対応策があります。
リプレイプロテクションとは、文字通り、
リプレイアタックによる不正出金を防止する対応策です。
事実、ビットコインキャッシュには、このリプレイプロテクションを行う
「SIGHASH_FORK_ID」というものが実装されています。
これは、トランザクション(取引内容)の中に書き込まれるタグのようなもので、
このタグがあるか、無いかで、ビットコインかビットキャッシュかを
見極める、非常にシンプルな仕組みです。
ビットコインにはタグがなく、ビットコインキャッシュには「0」のタグを付与されます。
ちなみに、このSIGHASH_FORK_IDは、ビットコインが派生して生まれた、
ビットコインゴールドにも採用されており、ビットコインゴールドには、
金の原子番号である「79」がタグとして利用されています。
また、ビットコインは、Segwit2xという通貨にも分裂しましたが、
こちらはリプレイプロテクションのために、
「オプトインリプレイプロテクション」というものを採用しています。
これは、あかかじめ指定されているアドレス(ブラックリスト)に、
少額のビットコインを送金し、記録することで、目印をつけることができます。
このアドレスに少額のビットコインを送ることで、
送金されたビットコインがオリジナルであり、Segwit2xとは別のものと認識されます。
ただし、これには手数料がかかるという問題もあります。
まとめ
いかがだったでしょうか?
リプレイアタックとは、分裂した通貨のブロックチェーンを
取引所側が区別できないことから繰り返し行われる不正送金のことでした。
いくつか対応策が出ていますが、
ハードフォークに対応している取引所を慎重に選ぶのが無難でしょう。
ただし、仮想通貨取引所は投資家を保護する部分はまだまだ弱い部分があると思うので、
ハードフォークが行われる時は、その取引所の利用を避けるのが一番良いかと思います。
また、ハードフォークの前には、仮想通貨そのものを、
オフラインウォレットであるペーパーウォレットや、
ハードウォレットに入れておくという選択を取るのもいいでしょう。
以上、今回の記事、ぜひ参考にして貰えればと思います。