ブロックチェーンが安全ではない理由 ~その2~

サミ・ミアン
ヘデラ・ハッシュグラフ日本代表

前回の記事では、ブロックチェーンへの攻撃やハッキングが増えてきている中でその安全性について示唆した。51%攻撃という種類のものがあれば悪さができると言われているが、実際は34%が悪意を持てば不正な取引を行うことができる。思った以上にセキュリティーに関して敏感になる必要性があるということでもある。

なぜ51%ではなく34%で不正な取引は行えるのだろうか?

下記の例を取り上げて見てみよう。


51%攻撃

合計19のノード(コンピューター)があるとしよう。その内12は正直で7は悪意を持ったノード。

民主的な投票をすれば7つ(7/19=37%)の悪意を持ったノードが不正な取引を行おうとしていも半数以上ある正直ノードには勝てない。

これを見るとやっぱり51%が悪意を持たないと悪さは出来ないように見える。

ここで思い出してほしい。前回の記事で記載している通り、ビザンチン将軍は戦場に散らばっているのでメッセンジャーを通してしかコミュニケーションが取れない。つまり、メッセンジャーが囚われたり、殺されたり、ただ混乱している場合のことも想定しなければいけない。

この想定が抜けているから51%攻撃という言葉が独り歩きしている。

悪意のあるノードが正直ノード同士のコミュニケーションを妨げたらどうなるだろうか?

正直ノードを二つに分断(ファイアウォール)することに成功した図を見てみよう。

34attackpic2
悪意のあるノードは正直ノードとコミュニケーションを取ることは出来るが、正直ノード同士のコミュニケーションは分断されている。

例えば分断されていない状況だと正直ノードは悪意ノードが悪さ(同じお金を二回つかうとか)しているのは認識できるが、分断された状態でそれぞれの正直ノードグループが受け取る情報が違えば悪意のあるグループが不正の取引を行うことができる。

つまり、ブロックチェーンのみならず全ての分散型台帳は34%のノードが悪意を持っていれば不正な取引が行える。

この業界が大きくなるにつれ、多額の資金がブロックチェーン上で取引されるようになり、セキュリティー問題についてはより真剣に向かわなければいけない。

分散型台帳を活用する場合はセキュリティーに関しての譲歩は命取りになる可能性が高く、aBFT(非同期ビザンチンフォルトトラレント)という業界最高レベルのセキュリティーを提供できるプラットフォームの中から検討すべきだ。