こんにちは、yoshihiroです。短期集中ブロックチェーン講座も後半戦、Part 5です!
前回はビザンチン将軍問題について解説し、ブロックチェーンがPoWという仕組みでこの問題を解決したということをお話しました。
今回は、なぜPoWにより嘘の情報を排除することができるのかについて、少し踏み込んでみたいと思います。
最初から読む >> Part 0:導入
前回の記事 >> ビザンチン将軍問題ってなに?ブロックチェーンとの関連は?
※本講座では、最も基本的なビットコインで使われるブロックチェーンを想定して解説しています
ビットコインのブロックチェーンにおいて、問題となる嘘つきの存在は大きく分けて以下の3つです。
① 嘘の取引情報を申告する
② ブロックに記載する時に取引情報を改ざんする
③ すでにブロックチェーンに記載されている昔の取引情報を改ざんする
③については、不可能であることをすでに解説しましたね(Part 3をご覧ください)。この記事では①と②をどう防いでいるのか解説します。
ビットコインは世界中で取引や決済がなされ、それらの情報がブロックチェーンの参加者(マイナー)へ申告されてきます。この時に申告される取引情報は例えば、
AからBへ1BTCを送った
というような情報です。
この時、この情報を申告できるのは、BTCを送る側の人(A)だけです。もし受け取る側の人(B)や、第三者がこの情報を申告できてしまっては、送り主(A)の了承なしにいくらでもBTCを送れてしまいますからね。
そのため、取引情報が本当に送り主(A)により申告されたものであるのかどうかを、電子署名という方法を使って確かめています。
電子署名とは、公開鍵(=ウォレットのアドレス)と秘密鍵(=ウォレットのシークレットキー)を使って、自分が本当にウォレットの持ち主であると証明する方法です。
記事の本筋からずれるのでかなり省略して説明しますが、公開鍵を知っていれば誰でも解読できるけど、秘密鍵を持っていないと作れない暗号文を作成してみんなに確認してもらうことで、自分が秘密鍵を持っている(=ウォレットの持ち主である)ことを証明します。
この仕組みにより、嘘つきの人がいたとしても彼らは嘘の取引情報を申告することができないのです。
※ただし、秘密鍵(シークレットキー)が流出してしまっている場合は別ですよ!秘密鍵の管理は安全に行ってください!!
電子署名自体は昔から使われている技術です。しかしブロックチェーンでの電子署名では、楕円曲線暗号という新しい暗号化の手法が使われています。これにより暗号化にかかる手間が減少し、さらに強度は高くなっています(下の記事も参考にしてください)。
次は、新しいブロックに取引情報を正しく記載する工程です。
この時に、誰が新しいブロックを作るのかを決めるために使われるのがPoWですね。マイニングにより一番初めに条件に合ったナンスを見つけた人が新しいブロックを生成し、報酬を受け取るという仕組みです。
でも、新しいブロックを生成する権利を得た人が悪い人だったら?悪い人は自分の思うように取引情報を改ざんしてブロックに記載できるのでしょうか?みていきましょう。
まず、自分以外の人の取引情報を改ざんするには、それらの人の秘密鍵が必要になるので、不可能です。
次に自分の取引情報ですが、こちらは2重取引などの手法により改ざんすることが可能です。例えば、本当は1BTCしか持っていないのに、1BTCを送金したという取引情報を2つ申告することで、2BTC分送金したことにするといった手法です。
しかしこのような不正は、マイニングに参加しているほかの参加者にすぐにばれ、正しいブロックを作っていないとみなされます。そしてほかの参加者は、不正なブロックを無視して正しいブロック生成のためのマイニングを続けます。
なぜなら、以下のようなブロックを作る際のルールがあるからです。
ブロックチェーンは枝分かれしても良い
枝分かれした場合は、先にブロックが長く繋がった方を正しいブロックとする
嘘つきは不正ブロックに繋がるブロックを作り続け、ほかの参加者は正しいブロックを作り続けるとすると、通常はほかの参加者が持っているコンピュータリソースの方が大きいので、ナンスを見つけるスピードも速く、先にブロックが長く繋がっていきます。
その結果、嘘つきのブロックを棄却することができるのです。
このルールのおかげで、ブロックに記載する取引情報を改ざんするには莫大な費用が必要になります。そんなことをするぐらいなら、「真面目にブロックを生成して報酬を受け取った方が儲かる」と参加者に思わせているのですね。
PoWのように、みんなで合意形成を行う方法のことをコンセンサスアルゴリズムと呼びます。コンセンサスは合意、アルゴリズムは何かを行うための方法という意味ですね。
PoWは発明された当初はその素晴らしさで世界中を魅了しましたが、現在ではいくつかの課題が指摘されています。その一つが、マイニングにより電力を大量に消費するとうい点です。省エネ化を目指す現代の世界と逆行していると批判されることがありますね。
また、51%攻撃が可能であるという点も指摘されています。この点については、次回Part 6で解説しますね。
これらの問題点を解決するために、PoWからさらに改良されたコンセンサスアルゴリズムが開発されています。それがPoSやPoIなどといったものです。機会があればこれらの解説記事も書きたいと思います。
長くなってしまったので、Part 5はここまでにしましょう。次回Part 6では、つい最近も界隈を賑わせた51%攻撃について、詳しく解説していきます。
↓この記事を書いた人↓