ブロックチェーンとは何かを説明してみた

するこんにちは、いいだりょう(@aviciida)です。
実は私、2018年5月 ~ 9月くらいで幻冬舎のあたらしい経済というブロックチェーン関連のメディアでライターをしてました。
その時に「ブロックチェーンの説明記事書こうかな」と思って下書きまで終わらせてそのまま世に出さずに終わった記事があるので、せっかくなので恥ずかしながら公開したいと思います。
細かい部分で多少の間違いはあるかと思いますが、「ブロックチェーンって何やねん」レベルの人の理解は多少進むかもしれません。

この記事の目的

この記事の目的は「ブロックチェーンは何か」という概要を、ブロックチェーンのことをよく知らない人でもわかるように噛み砕いて説明することです。

この記事を読み終わる頃には
・ブロックチェーンとは何であるか
・ブロックチェーンの特徴は何か

が説明できるようになっているはずです。
でははじめましょ〜。

ブロックチェーンの概要

ブロックチェーンとは何でしょうか?
ざっくりいうと「鎖状に繋がれた(チェーン)情報が蓄えられた塊(ブロック)」です。

もう少しわかりやすくいうと
誰もが管理者であり(=分散型の)、多数決で「正しい」と承認された情報が、改ざんがほぼ不可能な状態で入っているデータベース
です。

f:id:aviciida:20190407134025p:plain

(自作)ブロックの中身はこんな感じっぽい。ナンスというのは任意の文字列らしいけどむずいので一旦無視。前のブロックの情報はハッシュ値とも言われるらしい

ポイントは

・誰でも管理者になれる(≒中央管理者がいない≒分散型)
・正しいものとして承認される情報が「多数決」で決まる
・過去の情報の改ざんができない

ということです。

これを、「中央管理者がいる場合」と「いない(分散型の)場合」で比較して説明していきます。

中央管理者がいる場合

中央管理者がいないブロックチェーンを理解するためには、
そもそもどんな問題を解決するためにブロックチェーンが誕生したかを理解する必要があります。

まずは中央管理者がいる場合はどんな問題があるか、見ていきましょう。
中央管理者がいる場合、情報が正しいことはどう決まるでしょうか?

皆さんの馴染み深い「お金」を例に話していきます。

さて質問ですが、「Aさんの口座に100万円入っている」ことや「AさんがBさんに5,000円を送金した」という情報は、誰が証明・承認してくれるのでしょうか。
答えはAさんのお父さんでもお母さんでも、Bさんでもどの日本国民でもなく
「銀行」が証明・管理しています。

「ATMの残高画面が証明してるんだよ!」「通帳に送金履歴があるんだよ!」と思うかもしれませんが
究極的にそれらを保証しているのは銀行です。

日本では極端にこのシステムがうまくいっているので実感がわかないかもしれませんが、

それらの情報を銀行のみが管理するのは色々なリスクがあります。

例えば
・そんな事実は実際ないのに、銀行員がAさんが50万円入金したと記録する
・過去にあった送金履歴を消去・改ざんする
・銀行が倒産して残高が消え去る

こんなリスクがあります。

次は「土地所有の証明」を例に挙げましょう。

「Aさんが渋谷区のこの土地を100㎡持っている」という証明は誰がするのでしょうか。
これも、AさんやAさんの親戚でもなく「政府」が発行する登記書類が証明します。

Aさんの土地所有の証明を担保するのは「政府」ということです。

これに関してはどんなリスクがあるかというと
・政府職員がその登記書類を書き換えて、その土地をBさんのものとする書類を発行する
・政府機関が爆撃され政府が機能しなくなったら、土地の所有証明ができない

こんなリスクがあります。

つまりどういうことかというと、

管理するのが単体の人や機関である場合(上の例だと「銀行」や「政府」)

彼らがその気になれば、いくらでも「正しくないこと」を「正しいこと」として承認したり、自分の都合のいいように改ざんすることができてしまうということです。

私たちが住む日本においては「銀行」や「政府」が非常にうまくワークするので、無意識に信頼してしまっていますが、
アフリカなどでは政府が腐敗しているのはよくあることだし、銀行が潰れてしまってお金が引き出せなくなるということもヨーロッパで起きています。

ブロックチェーンの場合

どうやって情報が正しいと言えるのか

ブロックチェーンでは、全てをまとめる中央管理者は存在せず、ネットワーク参加者全員が同列に繋がっています。

f:id:aviciida:20190407134422p:plain

https://blog.wiredelta.com/decentralized-apps-vs-web-apps/

ブロックチェーン上で正しい情報として承認されるプロセスは、簡単にいうと「多数決」です。
ネットワークに参加している人の過半数が「正しい」と認めるものが「正しい」情報として承認されます。

もし正しくないものを正しい情報として承認させるためには、同じような企みを持つ仲間をネットワーク参加者の51%分集めなければいけません。
参加者が10~20人なら可能かもしれませんが、100人、1000人という規模になると、悪い企みをする仲間を過半数集めるのはほぼ不可能です

中央管理者がいるネットワークでは、不正をするために必要なのはその管理者単体でしたが、
ブロックチェーンはその管理者が存在せず、ネットワーク参加者全員の多数決で承認するため、不正をするためには
過半数の仲間が必要です。

なぜ改ざんされないのか

最初に述べたように、ブロックチェーンとは「一定数の情報がつまったブロックが、生成された順番に一つの鎖状にいくつも繋がれているもの」です。

上記のプロセスによって承認された情報は一定数になるまで一つのブロックに貯められ、上限数まで貯まったら、次のブロックが今あるブロックの次に繋がれるように生成されます。

このブロックの中身に、ブロックチェーンの改ざんがほぼ不可能な秘密があります。

ブロックには承認された情報だけでなく、前ブロックの情報を電子署名化した情報も入っており、さらにスパコン何台分ものパワーを必要とする計算の結果の数字の計3つが含まれています。

だから、過去に生成されたブロックのある情報を改ざんしようとしたら、それ以前とそれ以降のブロックの情報も辻褄が合うように全て書き換えて、さらにスパコン何台もを必要とする計算を、書き換える必要のあるブロック分だけ解かなければいけません。

簡単にいうと、ほぼ不可能なわけです。

 

今の内容がわかりづらい場合、

情報のブロックが1つの鎖状に繋がっているため、ある部分の情報を書き換えたら、その前後全てのブロックの情報も書き換えなければいけない。さらに複雑な計算をそのブロックの数だけとかなければいけないので、現実的に不可能である

とだけ覚えておいてください。

まとめ

今まで紹介した内容をおさらいすると

ブロックチェーンとは
誰もが管理者であり(=分散型の)、多数決で「正しい」と承認された情報が、改ざんがほぼ不可能な状態で入っているデータベース

ブロックチェーンの特徴
・ネットワーク参加者の多数決で正しいとされた情報が承認される
・情報の入ったブロックが1列の鎖状に繋がっているため、特定の部分のみの改ざんはほぼ不可能である

という点です。

 

求人

ヤバイくらい話が変わりますが、私が今フルで働いている英単語アプリmikanでは、

  • iOS/Androidエンジニア
  • コンテンツマネージャ
  • QAやCSのアルバイト

を募集中です!
300万DLを突破し多くのユーザーに使われるアプリをほんの少数で回していて、非常に面白い仕事になると思います!
「話だけ聞きたい」とかでも全然okなので、
ご興味のある方は、お気軽にDMください!

Ryo Iida/飯田 諒 (@aviciida) | Twitter

www.facebook.com