見出し画像

文系もわかるブロックチェーン概要

こんにちは~、かわしまです。
私の記事を開いていただいてありがとうございます!

大変お待たせしました!
今回は「文系もわかるブロックチェーン概要」というタイトルでやらせていただきたいと思います。
2017年ほどから話題になりつつある「ブロックチェーン」に関してさわりの部分だけになりますが、ある程度皆さんに理解していただけるような内容にしたいと思います。
予想以上に難しくかなり簡潔な内容になる予定ですので、
コテコテの開発系専門用語バリバリの本格的な記事は
もう少し待っていただけると嬉しいです。

それでは本題…

概要

ブロックチェーンはサトシナカモトの「Bitcoin: A Peer-to-Peer Electronic Cash System」(ビットコイン:P2P電子キャッシュシステム)という論文で発表された技術となっております。

概要としては
既存の複数の技術を組み合わせることで金融機関を介さずにユーザ間の直接オンライン取引を行うことを可能にするP2P電子マネーシステムとなっております。

P2Pとは論文タイトルの通り「Peer-to-Peer」の略であり、個人から個人という意味となります。P2Pは参加している人全てが主催者であり参加者であるモデルです。民主主義みたいなもんです。このP2Pにも様々な発展形がありますがそれについてはそのうちまとめますので、本投稿では「個人間」のことなんだなっとざっくり覚えておいてください。

P2Pと逆で「サーバークライアントシステム」というものがあり、現在のWebサービスの大半がこれです。ソシャゲ(ソーシャルゲーム)などでサーバーメンテナンスという表記が出るのはこのシステムモデルを利用しているからです。
雑に言うのであれば君主制ですね。サーバーという王様が管理していて私達ユーザーは養われている民です。
これについては「偉い人が運営している」程度の認識で大丈夫です。


分散型取引台帳とは?

ブロックチェーンはよく「分散型取引台帳」という表現のされ方をしますが
「こんな言い方で分かるか!」
ってなることがほとんどなので噛み砕きます。(私はなりました笑)

「分散型」
これは名前の通りですね。分散しています。上記したP2Pモデルを用いることで1箇所がデータを保持するのではなく、
「多くのノード(端末)が同一のデータを持つことで不正が起こりにくいようにしましょう」ということです。

学校などでみんなに同じものが配られていて、
「何もしないでください」
と先生に言われているのに隣の子が落書きを始めたらわかりますよね?
それによって金銭的な損があったら流石に注意するでしょう?
それをデータの世界で行っているわけです。


「取引台帳」
冒頭でお話したようにブロックチェーンは、金融機関の代用ができるシステムとして提案された技術です。ブロックチェーンは本来、金融取引の記録を残すための技術であるわけです。その取引記録(トランザクションとも言われます)をブロックのようにひとまとめにして保存していくというわけです。

AさんからBさんに1000円送金しました

という取引記録をP2Pネットワーク参加者全員に送信します。
P2Pネットワークに参加しているのはAさんBさんだけでなくZさんやαさんやかわしまさんなど非常に多くの人がいるため、数分の間に非常に多くの取引記録がP2Pネットワーク内に拡散されていくため、それをまとめていくわけです。

その取引記録のまとまりを保存していくことから
「取引台帳」と言われているわけです。

分散型取引台帳とは…?
「めっちゃたくさんのノード(端末)で全く同じ金融取引のデータを保持することで参加者がお互いを監視しあって金融機関が不要な金融取引を成立させる!」
これがブロックチェーンの本質になります。


利点

ブロックチェーンの利点は以下の2点を抑えておけば大丈夫です。

・データの正当性が保証されている
・データを改ざんすることが非常に困難である


データの正当性が保証されている

ブロックチェーンは名前の通り「ブロックを鎖のように繋いでいる」ことからその名前が付きました。
実はサトシナカモトの論文には「ブロックチェーン」という単語は出てきていないんです。(豆知識として自慢してください笑)

どうしてお金は紙なのに価値があるんでしょうか?
それは、日本銀行という国の金融機関がその紙の価値を保証しているからです。

ではブロックチェーンの価値はどのように保証されているのか?
ブロックチェーンでは
「最初のブロックに繋がっている」から価値が保証されています!

お金の方に合わせて説明すると
日本銀行が認定しているブロックに繋がっているからこのデータは正しい
ということになります。

ブロックチェーンには日本銀行のような機関はありませんので、ビットコインの例に取るのであれば
ビットコインのサービスが開始されたときに
最初に設定されたブロックに繋がっている

ということが正当性を表しています。


では「繋がっている」とはどういうことでしょうか?
データが繋がっているなんて想像がつかないですよね。
所詮データなんて0と1の集合体でしかないわけですから笑

ブロックチェーンは取引記録をブロックのようにひとまとめにして保存していくと説明しました。そのブロックごとに他のブロックの情報を含めることでブロックを繋げるということを疑似的に行っています。


さてそうなるとまとめ方が問題になってきますね。
ブロックには以下の情報が含まれています。

・取引記録
・マークルルート
・ナンス値(ノンス値 or nonce とも呼ばれています)
・前ブロックの情報

専門用語が増えてきましたね。ちゃんと噛み砕きます。

・取引記録
上で説明した通り、「AさんからBさんに1000円送金しました」といったような送金の記録になります。これを規定のデータ量(確か100MB程度)になるまで集めていきます。100MBは少なく見えますが、ただのテキストなのでかなり多く集められます。Wordで100MBになるまで文字を書いてみると分かるかなと思います。
取引記録には識別ナンバーのようなものが割り振られているのでそれをかき集めています。


・マークルルート
ぶっちぎりの専門用語ですね。取引記録の識別ナンバーをひとまとめにしたものです。実際はハッシュ処理を施したアルファベットや数字の集合なのですが、色で説明するとわかりやすいと思うのでそっちで説明します。

それぞれの取引記録には唯一無二の色が割り振られています。赤とか青とかですね。
沢山の色を絵の具のように混ぜ合わせると一つの色が出てきますよね?
赤と青を混ぜると紫になるように。
その沢山の色を混ぜ合わせて出てきた最後の色がマークルルートと呼ばれるものになります。

色だと被りが出るんですが、実際は英数字でやっているので同一のものが出てくる可能性は限りなく低いです。私は被りが出たという話を聞いたことはありません。

マークルルートとは
識別番号を混ぜて混ぜて出来上がった識別番号!


・ナンス値
もうめっちゃ簡単に行きます。ズバリ、「好きな値」です!
色んな参加者がテキトーにブロックを作ってしまったら、正当性の保証なんてできるわけありませんよね?
そのため、繋げられるブロックとして認めるためには条件があります。
色で言うなら「赤系であること」といったこと感じです。
沢山の色を混ぜ合わせたあと好きな色を混ぜて「赤系」にするための色が
ナンス値
ということになります。


ビットコインでは「00000~」と0が何個続いているか
が条件となっています。


掛け合わせた取引記録の英数字が指定された条件に合うように値を設定する

これがナンス値の概要になります。


・前ブロックの情報
前のブロックのマークルルートです!
以上!


データの正当性が保証されているとは…
特定の条件を満たした取引記録の集合体を、指定されたブロックに繋がっている前のブロックと繋がっているから!


データを改ざんすることが非常に困難である

「データの正当性が保証されている」という話で、
特定の条件を満たしたブロックが繋がっているという話をしました。

この特定の条件を満たしたブロックになるように
「ナンス値(好きな値)」を見つけるという話でしたが
この見つけるという作業が曲者です。

この条件を満たしているかどうかは
混ぜてみないとわからないんです!

つまり、特定の条件を満たしているかどうかを
ひたすらに混ぜ合わせて確認し続ける作業が必要ということになります。
この作業のことを「マイニング」と呼びます。
この色を見つけてくれた人に
報酬として一定のお金が支給されることになっています。
これがマイニングを行う理由です。

この世に存在するたくさんの色を混ぜて混ぜて特定の色にする作業
どれだけ果てしないかはわかっていただけると思います笑

これをビットコインなら10分ごとに行っています。
世界中の人がお金のためにこの作業を行っているので
競争率が半端じゃないわけです。

先ほどの説明の通り
各ブロックごとに特定の色を持っていて
その色を導き出すためにその前のブロックの情報を混ぜているので、
昔のブロックの色が変わると次のブロックの色が変わってしまいます!

そのためブロックを改ざんするためには
改ざんしたいブロック以降の全てのブロックのナンス値(好きな値)を
もう一度見つけ直す作業
が必要になるというわけです。

世界中の人よりも早く10分以内に改ざんを完了しなければなりません。

難易度が高すぎますよね?笑
これによって、ブロックチェーンはデータを改ざんすることは困難であるということになります。不可能ではないということが重要です。
めちゃくちゃ難しいということをご理解いただければと思います。

データを改ざんすることが非常に困難であるとは…
世界中の人よりも早く
改ざんしたいブロックとそれ以降のブロックにおける
特定の条件を満たすためのナンス値(好きな値)を
見つけ出す必要があるから


まとめ

今回はブロックチェーンの概要と利点についてかなり簡潔にまとめさせていただきました。
この内容は本当に簡潔です。
問題点や使用技術に関しては全く触れておりません。
その辺の話はまた別の記事で行いたいと思います。

まとめとしては

ブロックチェーンとは
沢山のノード(端末)で取引記録を保持し、
取引記録をひとまとめにして、特定の条件を満たすような
ナンス値(好きな値)を見つけることでデータをブロックのようにまとめ、
鎖のようにブロック同士を繋ぐことで、データの正当性を確保しつつ、
改ざんが困難なデータの集合体を作る技術

ということになります。

この記事で皆さんがブロックチェーンの理解を深め、ご友人に自慢できるような知識が得られることを願っております。
次回は「文系もわかるブロックチェーンの使用技術と問題点」という題名で行わせていただきたいと思います。

間違いなどありましたら教えていただけると幸いです。

それではまた。

いいなと思ったら応援しよう!