ブロックチェーンの仕組みと攻撃

インキュベーション

 

ブロックチェーンの仕組みと攻撃

当社ではブロックチェーン普及に伴って革新されるネットワークの未来のために、新しいセキュリティやサービスの開発に取り組んでいます。
今回はブロックチェーンの基本的な仕組みとブロックチェーンに対して行われる攻撃手法例について説明します。

■ブロックチェーンの基本的な仕組み

ブロックチェーンの基本的な要素は分散台帳と、コンセンサスです。

分散台帳は過去の取引をすべてたどることができるようなブロックのつながりで、ネットワーク上で共有されています(公開されない仕組みのブロックチェーンもあります)。ブロックのつながりのことをブロックチェーンと呼びます。各ブロックをつなぐ際には、分散台帳を共有する複数の人から承認をもらわなければなりません。これをコンセンサスといいます。
各ブロックには複数の取引やデータを記録することができます。取引以外のデータも記録することができます。各ブロックにはヘッダと呼ばれるブロックチェーンにかかわる情報が記録される箇所があり、ひとつ前のヘッダから計算したハッシュ値と、現在のブロックに記録されている「ひとつ前のブロックのハッシュ値」を比較し、値が等しければ正しいブロックであると判定されます。正しいブロックであり、かつ複数の承認者から承認を受ければ、ブロック同士をチェーンでつなぐことができます。

もし過去の取引を改ざんした場合、改ざんを行ったブロックの「現在のハッシュ値」が変わってしまうため、チェーンが切れてしまいます。
この仕組みを利用し、ブロックチェーンは改ざんを防止しているのです。

これが基本的なブロックチェーンの仕組みです。

■多数派攻撃

安全だといわれるブロックチェーンでもすでにチェーンの書き換えを行う攻撃が発生しています。そのひとつが多数派攻撃です。
通常、ブロックチェーンの承認プロセスは複数の善意の監視者によって支えられています。

通常の場合

しかし悪意の承認者が51%以上いると 、「半数以上が承認すればブロックをチェーンに追加する」という仕組みが破綻します。この結果、ブロックをチェーンでつないだツリーが乗っ取られます。

本来追加されるべきブロックが承認されず、恣意的なブロックが追加される

注意していただきたいのは、これによって行われるのは過去の取引の改ざんではないということです。この攻撃で行われるのは取引の乗っ取りであり、不正な取引をあたかも正しい取引のようにチェーンに追加できてしまったり、正常な取引の妨害が行われたりすることが問題とされています。

■Block withholding attack によるチェーン乗っ取り

ブロックチェーンにブロックを追加する際に、稀に分岐が発生します。この時、より多くの取引がある方がチェーンに追加され、そうでない方はなかったものとして取引が中止されます。これはブロックチェーンの現在の仕様です。

この仕組を悪用し、すでに行われた取引をなかったものにしてしまう攻撃が存在します。

現在までに承認されているブロックから昔の取引を探し出し、都合のよいブロックからわざと分岐をさせます。そしてそのブロックから現在までのブロックよりも長いチェーンを追加すると、合法的にそちらが採用されます。この時すでに承認がすんでいるブロックや承認を待っているブロックはすべてなかったものとされてしまいます。

この攻撃はマイニングの収益を独占するために行われていることが多いですが、今後二重送金や送金した仮想通貨が消えるなどの被害が出る可能性があります。この攻撃を防ぐために現在もアルゴリズムの改善が行われています。