ブロックチェーンがよ〜くわかる本②
前回はビットコインと、ブロックチェーンの関係性について書いた。
簡単に言うと、ビットコインはインターネット上のお金であり、そのお金を銀行のような第三者機関なしで受け渡ししようとするのに必要な仕組みがブロックチェーンだ。
ブロックチェーンの役割は
①取引履歴を記録する
②取引履歴を全員で共有する
③取引履歴を改竄させない
の3点である。
今回は実際にその仕組みについて書いていきたい。
ブロックチェーンの仕組みは非常にざっくり言うと、
①トランザクション(取引内容)の収集
⇩
②ブロックの形成
⇩
③トランザクションの収集
⇩
④ブロックの形成
・
・
である。要するに、一定時間にあった取引のトランザクション情報を集めて、それらを一つのブロックと呼ばれるデータの塊にするだけである。
本当はもっともっと複雑な仕組みがあるのだが、一旦はこれだけわかっていれば良いと思う。これからその詳細について書いていく。
それでは、トランザクションから。
まず、預金通帳を思い浮かべてほしい。
自分の預金口座1つに、預金通帳は何枚あるだろうか。1枚である、当たり前だ。
預金通帳には、その講座のお金やりとりが全て記録される。(1ページに20件ほど記録が残ったと思う。)
これは信頼できる第三機関が管理しているからこそ、成せる方法である。
というのも、第三者が記録を全部管理しているから、改竄も容易に出来ないからだ。
それでは、ここから第三者機関を無くしたらどうなるか。そう、誰も見ていないので、預金通帳の値を改竄できまくりである。
という事で、ブロックチェーンには預金通帳のようなお金のやり取りを一つにまとめるようなものは存在しない。それではビットコインをどのように管理するのか。
それは、1度お金のやり取りを1トランザクションという形で記録するのだ。どういうことか。
例えば、Aさんが所持金の1000円をBさんに200円あげるとしよう。
この場合、預金通帳があれば、
残高 1000円
引出 -200円
残高 800円
と、だいたい3行くらいのお金のやりとりが記録される。
しかし、ブロックチェーンの場合、このようなデータの記録となる。
インプット アウトプット
1000円 → 200円・・・Bさんへ
→ 800円・・・Aさんへ
~~~~~~~~~~~~~~~~~~~~~
↑ 1トランザクション
インプットとアウトプットという形で、一度のお金のやりとりが1トランザクションとして残るのだ。特筆すべきは、アウトプットには、自分へ送金するという記録を残すことだ。
ここからさらに、Aさんがお金のやり取りをしたとすると、このようになる
インプット アウトプット インプット アウトプット
1000円 → 200円
→ 800円 → 800円 → 200円・・・Cさんへ
→ 600円・・・Aさんへ
~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
もうわかっていただけたと思うが、このようにトランザクションが連なっていく。
そして、この連なったトランザクションがブロックとなってまた別のブロックが連なる。
このような仕組みから、ブロックチェーンと呼ばれているのだ。
しかし、この方法だと確かに取引記録は数珠つなぎになっていくので、全ての記録は残せるが、改竄はどのように防ぐのだろうか。
本気を出せばできるような気もしてしまう。
その点については、次回ブロックの説明の時に詳しく書いていきたい。