クリプト

ブロックチェーンはどうやって嘘の情報を排除しているのか

yoshihiro's icon'
  • yoshihiro
  • 2018/07/24 12:11

 こんにちは、yoshihiroです。短期集中ブロックチェーン講座も後半戦、Part 5です!

 前回はビザンチン将軍問題について解説し、ブロックチェーンがPoWという仕組みでこの問題を解決したということをお話しました。

 今回は、なぜPoWにより嘘の情報を排除することができるのかについて、少し踏み込んでみたいと思います。


最初から読む >> Part 0:導入

前回の記事 >> ビザンチン将軍問題ってなに?ブロックチェーンとの関連は?


Content image
アイキャッチはみりんさんに描いてもらいました。

※本講座では、最も基本的なビットコインで使われるブロックチェーンを想定して解説しています


 ビットコインのブロックチェーンにおいて、問題となる嘘つきの存在は大きく分けて以下の3つです。

① 嘘の取引情報を申告する
② ブロックに記載する時に取引情報を改ざんする
③ すでにブロックチェーンに記載されている昔の取引情報を改ざんする

 ③については、不可能であることをすでに解説しましたね(Part 3をご覧ください)。この記事では①と②をどう防いでいるのか解説します。


電子署名により正しい取引情報だけを集める

Content image

 ビットコインは世界中で取引や決済がなされ、それらの情報がブロックチェーンの参加者(マイナー)へ申告されてきます。この時に申告される取引情報は例えば、

AからBへ1BTCを送った

というような情報です。

 この時、この情報を申告できるのは、BTCを送る側の人(A)だけです。もし受け取る側の人(B)や、第三者がこの情報を申告できてしまっては、送り主(A)の了承なしにいくらでもBTCを送れてしまいますからね。

 そのため、取引情報が本当に送り主(A)により申告されたものであるのかどうかを、電子署名という方法を使って確かめています。

Content image


 電子署名とは、公開鍵(=ウォレットのアドレス)と秘密鍵(=ウォレットのシークレットキー)を使って、自分が本当にウォレットの持ち主であると証明する方法です。

 記事の本筋からずれるのでかなり省略して説明しますが、公開鍵を知っていれば誰でも解読できるけど、秘密鍵を持っていないと作れない暗号文を作成してみんなに確認してもらうことで、自分が秘密鍵を持っている(=ウォレットの持ち主であることを証明します。

Content image


 この仕組みにより、嘘つきの人がいたとしても彼らは嘘の取引情報を申告することができないのです。

※ただし、秘密鍵(シークレットキー)が流出してしまっている場合は別ですよ!秘密鍵の管理は安全に行ってください!!


 電子署名自体は昔から使われている技術です。しかしブロックチェーンでの電子署名では、楕円曲線暗号という新しい暗号化の手法が使われています。これにより暗号化にかかる手間が減少し、さらに強度は高くなっています(下の記事も参考にしてください)。


取引情報をブロックに正しく記載する

Content image

 次は、新しいブロックに取引情報を正しく記載する工程です。

 この時に、誰が新しいブロックを作るのかを決めるために使われるのがPoWですね。マイニングにより一番初めに条件に合ったナンスを見つけた人が新しいブロックを生成し、報酬を受け取るという仕組みです。

 でも、新しいブロックを生成する権利を得た人が悪い人だったら?悪い人は自分の思うように取引情報を改ざんしてブロックに記載できるのでしょうか?みていきましょう。


 まず、自分以外の人の取引情報を改ざんするには、それらの人の秘密鍵が必要になるので、不可能です。

 次に自分の取引情報ですが、こちらは2重取引などの手法により改ざんすることが可能です。例えば、本当は1BTCしか持っていないのに、1BTCを送金したという取引情報を2つ申告することで、2BTC分送金したことにするといった手法です。

Content image


 しかしこのような不正は、マイニングに参加しているほかの参加者にすぐにばれ、正しいブロックを作っていないとみなされます。そしてほかの参加者は、不正なブロックを無視して正しいブロック生成のためのマイニングを続けます。

 なぜなら、以下のようなブロックを作る際のルールがあるからです。

ブロックチェーンは枝分かれしても良い
枝分かれした場合は、先にブロックが長く繋がった方を正しいブロックとする

 嘘つきは不正ブロックに繋がるブロックを作り続け、ほかの参加者は正しいブロックを作り続けるとすると、通常はほかの参加者が持っているコンピュータリソースの方が大きいので、ナンスを見つけるスピードも速く、先にブロックが長く繋がっていきます

 その結果、嘘つきのブロックを棄却することができるのです。

Content image


 このルールのおかげで、ブロックに記載する取引情報を改ざんするには莫大な費用が必要になります。そんなことをするぐらいなら、「真面目にブロックを生成して報酬を受け取った方が儲かる」と参加者に思わせているのですね。


PoWの課題と新たなコンセンサスアルゴリズム

Content image

 PoWのように、みんなで合意形成を行う方法のことをコンセンサスアルゴリズムと呼びます。コンセンサスは合意、アルゴリズムは何かを行うための方法という意味ですね。

 PoWは発明された当初はその素晴らしさで世界中を魅了しましたが、現在ではいくつかの課題が指摘されています。その一つが、マイニングにより電力を大量に消費するとうい点です。省エネ化を目指す現代の世界と逆行していると批判されることがありますね。

 また、51%攻撃が可能であるという点も指摘されています。この点については、次回Part 6で解説しますね。

 これらの問題点を解決するために、PoWからさらに改良されたコンセンサスアルゴリズムが開発されています。それがPoSPoIなどといったものです。機会があればこれらの解説記事も書きたいと思います。



 長くなってしまったので、Part 5はここまでにしましょう。次回Part 6では、つい最近も界隈を賑わせた51%攻撃について、詳しく解説していきます。


↓この記事を書いた人↓


公開日:2018/07/24
獲得ALIS:131.83
yoshihiro's icon'
  • yoshihiro
  • @yoshihiro
ブロックチェーン技術をなるべく分かりやすく正確に伝えられる解説記事を書けるよう頑張ってます。

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

CoinList(コインリスト)の登録方法

Like token Tip token
15.55 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

Polygon(Matic)で、よく使うサイト(DeFi,Dapps)をまとめてみた

Like token Tip token
235.30 ALIS
Eye catch
クリプト

Uniswap(ユニスワップ)で$ALISのイールドファーミング(流動性提供)してみた

Like token Tip token
59.99 ALIS
Eye catch
クリプト

バイナンスの信用取引(マージン取引)を徹底解説~アカウントの開設方法から証拠金計算例まで~

Like token Tip token
3.50 ALIS
Eye catch
クリプト

UNISWAPでALISをETHに交換してみた

Like token Tip token
39.40 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
クリプト

コインチェックに上場が決まったEnjin Coin(エンジンコイン)コインを解説

Like token Tip token
21.49 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
クリプト

【初心者向け】$MCHCの基本情報と獲得方法

Like token Tip token
31.32 ALIS