⛓️

ブロックチェーンが必要になるお話

2023/01/08に公開

注意点

有識者に添削をしてもらっていないので、誤った情報が入っているかもしれません。わかりやすくするために多少言葉の正確さを下げております。

誤った情報がありましたらご指摘いただけると幸いです。

ブロックチェーンとは何か?

ブロックチェーンとは、データの保存方法のことだと考えてます。(自分の解釈)

こんなことを言っても、抽象的すぎて、何がすごいのかが伝わらないと思います。

例えるなら、今右手にあるパッションティーを説明してと言われて、「これは飲み物です」と回答するようなものです。味、見た目、材料の何一つわかりません。

そこで、以下のブロックチェーンの特徴を例にそって話していこうと思います。

  • 信頼できる第三者が不要なトラストの実現
  • 電子通貨の二重使用問題の解決
  • デジタル署名による送金
  • 時系列的ハッシュチェーンによる共有台帳
  • 共有台帳への合意
  • 単一障害点がないP2Pネットワークシステム

お金を管理したい仲良し4人組

あるところにAlice,Bob,Charlie,Jonnyの4人のお友達がいます。彼らは、お金の貸し借りをBobの家にあるパソコンで管理しています。

デジタル署名による送金

ある日、AliceとBobが争っていました。BobはAliceから1万円を借りてないはずなのに、AliceがBobに1万円を借したと書かれているのです。実は、Jonnyがこっそり共通台帳に書いていたのです。このような問題が発生したので、4人はお金を貸す時は、貸す側が共通台帳にサインをする決まりになりました。(このサインは暗号化技術により偽造できません)

これが、デジタル署名による送金です。

二重支払い問題の解決

しかし、また問題が発生してしまいます。Jonnyが1万円をAliceに借していないのに、勝手に借したと共通台帳に書いているのです。

そこで、この問題を解決するために4人は、それぞれ5万円を共通の金庫にいれて、デジタル上で仮想通貨をそれぞれ5万円分づつ保有して、それを交換することにしました。4人は、誰かが送金を行った場合、その送金が正しいのかをみんながそれぞれ確認するというルールを作りました。

この正しいさというのは、例えば、JonnyがAliceに1万円分の仮想通貨を送金したときに、しっかりとJonnyの署名があるのか、そして、Jonnyから1万円分の仮想通貨が引かれて、Aliceにプラスされているかを見ています。

これが、二重支払い問題の解決です。

時系列的ハッシュチェーンによる共有台帳

しかし、また問題が発生しました。Jonnyが1万円分の仮想通貨をAliceに渡した記憶がないのに渡したことになっているというのです。

そこで、この問題を解決するために4人は、取引記録(ブロック)を保存することにしました。4人はふと思いました。後で取引記録を勝手に変えて、ごちゃごちゃいう人が出てくるのではないかと。そこで、暗号化技術によって、誰かが勝手に変更するとすぐにわかるようにしました(ブロックチェーン)

これが、時系列的ハッシュチェーンによる共有台帳(ブロックチェーン)です。

共有台帳への合意

4人はだんだん他の人が信用できなくなりました。4人は、取引履歴(ブロックチェーン)を自分で管理することにしました。しかし、そうなると、AliceのブロックチェーンとBobのブロックチェーンのデータが違う状況が出てきました。そこで、みんなのブロックチェーンデータが同じになるようなルールを作りました。

これが共有台帳への合意(コンセンサス)です。

※しかし、実際のところみんなが同じブロックチェーンを保有していません。けれども、コンセンサスによって何が正しいブロックチェーンなのかはわかります。

信頼できる第三者が不要なトラストの実現

4人の間に友情は消え、お互いが全く信用できなくなりました。しかし、今までの過程で共有台帳は信頼できるものになりました!!

これが、信頼できる第三者が不要なトラストの実現(トラストレスなトラスト)です。

青が信頼されている点であり、赤が信頼されていない点です。

単一障害点がないP2Pネットワークシステム

Bobのパソコンだけで共有台帳を管理していた場合、Bobのパソコンが壊れたら共有台帳のデータが消えてしまいます。しかし、現在4人はそれぞれがデータを管理しているので、1人のパソコンがおかしくなっても全体のシステムはおかしくなりません。

これが、単一障害点がないP2Pネットワークシステムです。

最後に

今回は、わかりやすさを重視するために細かい説明は省いております。次回は、もっと細かい説明の記事を書ければと思います。

読んでくださりありがとうございました。

Discussion