​リプレイプロテクション(リプレイアタック対策)とは

リプレイプロテクションとは、ハードフォークが起きた時に生成される似た性質を持つ二つのブロックチェーンにおいてそれぞれのランザクション情報がはっきりと区別可能にする技術のことを言います。別名"リプレイアタック対策"とも言われています。

この説明では、いきなりは理解できないと思うので以下でじっくり解説していきます。

そもそもリプレイアタックって?

リプレイプロテクションを理解するにあたって、リプレイアタックについてはっきり理解しておく必要があります。リプレイアタックとはハードフォークが起きた際に、一方のブロックチェーンに向けて書かれたトランザクション情報を丸ごとコピーして、もう一方のブロックチェーン上にそれを書き込み送金者が意図してなかった送金を行うことです。ハードフォークが起こると基本的にはかなり似たような性質を持つブロックチェーンが生成されてしまうため、公開鍵を使って正しいトランザクションかどうか確認する行程を踏んでも、どちらのノード(トランザクション情報を正しいか誤っているかを見極め、正しい場合ブロックチェーン上に書き込む役割を担っている人)​にも正しいと認識されてしまい、このようなことが起きるんですね。

ここで気づいた方もいるかもしれませんが、もちろんトランザクションをそもそも書き込みさえしなければ、つまり取引さえしなければリプレイアタックに遭遇することもないということです。これは個人でできるリプレイアタックへの対処法ですが、リプレイプロテクションとは異なります。

もっと詳しく知りたい方はコインオタクの記事をご覧ください。

リプレイアタックは、ビットコインなどの仮想通貨のハードフォークの際によく話題になるものです。これはどういう仕組みでどのような危険があるのでしょうか?実際に採用されている対策、自分でできる対策までコインオタクが徹底的に解説します!

 

仮想通貨市場全体を揺るがすビットコインのハードフォーク。どうして起きるのか?大荒れの相場でリスクを軽減する方法とは?今回はハードフォークの対処法、仕組みや過程についてくわしく説明します!

 リプレイアタックへの技術的対抗策:リプレイプロテクション

先ほども言ったとおり、リプレイアタックに対する対処法とは、そもそも取引を行わなければ良いのです。ハードフォーク後に何らかの形に仮想通貨界が落ち着くまで取引しなければ、自分のトランザクション情報を悪用されることもなく、リプレイアタックの危機は回避できます。しかしこれはリプレイプロテクションとは異なります。リプレイプロテクションとは、二つのブロックチェーンにおいてトランザクションを違うものだとノードに正しく認識させる技術的対抗策のことです。

ではリプレイプロテクションの具体的な例を見ていきましょう。

リプレイプロテクションの具体的な例

SIGHASH_FORK_ID

双方向リプレイプロテクション(Strong 2-way replay protection​)​と呼ばれるリプレイプロテクションについて説明します。これはビットコインゴールドやビットコインキャッシュで採用されているシステムで、その原理はいたって簡単です。SIGHASH_FORK_ID​と呼ばれる目印のようなものをトランザクション署名の際にくっつけることによってそれぞれのブロックチェーンで認識区別します。具体的にいうと、トランザクションにおけるSighash Typeと言われるパラメータにBTCでは何も目印を書かず、BCHには0を、BTGには79(金の原子番号)を目印に付けます。そして、それぞれのブロックチェーンにおいて、対応していない目印が来たら誤ったトランザクションだと認識リプレイアタックを防ぐことができます。非常にシンプルでわかりやすいシステムですよね。

オプトインリプレイプロテクション

オプトインプロテクションとは、ビットコインゴールドなどで採用されているリプレイプロテクションのことです。これはビットコインを送金する際に​ブラックリストアドレスと言われるアドレスに、少額のビットコインを送金することで、ビットコインとビットコインゴールドの差別化を図る方法です。ブラックリストに少額送金した情報法を含むビットコインのトランザクション情報をコピーしてビットコインゴールドのノードに送ったとすると、ビットコインゴールド側のノードはそのトランザクション情報を確認した際にブラックリストに少額送金をしている情報を見てビットコインゴールドのトランザクションではないと判断し承認しません。逆もまた然りです。このようにリプレイアタックを防いでいます。オプトインリプレイプロテクションがStrong 2-way replay protection​と異なるのは、選択可能(オプトイン)という点です。Strong 2-way replay protection​では必ず一つのトランザクションは一つのブロックチェーンにしか対応していないのに対して、オプトインリプレイプロテクション​では、ビットコイン送金時に少額ブラックリストアドレスに送金するかどうかは選択できるのです。そのため、オプトインリプレイプロテクション​しかなければ、ビットコインとビットコインゴールドを同時に送るということも可能になるのです。オプトインリプレイプロテクション​の問題点としては、今はハードフォークの数が少ないですが将来的に起こるであろう全てのハードフォークに対して、毎回ブラックリストアドレスを設定して少額送金させるのは果たして現実的なのかということです。これを解決できなければ、なかなかオプトインリプレイプロテクション​は難しい技術だと言わざるをえません。

ビットコインキャッシュとビットコインゴールドに関するコインオタクの記事は以下になります。

2017年8月にビットコインはビットコインキャッシュと呼ばれる通貨と分裂しました。突然生まれたビットコインキャッシュですが、一体何のために作られて、どんな価値があるのでしょうか?また今後のビットコインキャッシュはどうなっていくのでしょうか?

 

ビットコインからビットコインキャッシュが分裂するなど開発者とマイナーによるビットコインの分裂騒動が起きている中、突如分裂したビットコインゴールドですが、分裂騒動との関係や、将来性はどうなんでしょうか?配布時期や仕組み、将来性を解説しました!


リプレイプロテクションまとめ

​リプレイプロテクションとは、リプレイアタックに対する技術的対抗策のことです。ハードフォークのたびに、しっかりとしたリプレイプロテクションの機能を有しているかが争点になります。Segwit2Xでは、リプレイプロテクションがほとんど搭載されていないという仮想通貨全体の価値を揺るがしかねない大問題として、多くの仮想通貨著名人が反発していました。このようにハードフォークが多く起こり始めるであろう未来にはこのリプレイプロテクションは必ず話題に出てくると思います。仮想通貨用語をしっかりと押さえておくことは、話題に取り残されないためにも必要です!一つ一つ賢くなっていきましょう!!