近年ブロックチェーンを利用して展開されているサービスが増えています。
仮想通貨、NFT、Web3.0など、これらを理解するために前提として知っておかなければならないのが、このブロックチェーン技術です。
この記事では、入門者向けにブロックチェーンについて解説をしていきます。
記事を書いている水無月は一応小説家ですので、イメージしやすくなるように記事の要所で短話を挟んでみようと思います。少しでも解りやすくなれば幸いです。
ブロックチェーンとは何なのか
さて、”インターネット”あるいは”Webサービス”と聞いて、どんな物を思い浮かべるでしょうか。
一般的にWebサービスを利用するならば、サイトを管理するWebサーバー。メールを送受信するならばメールサーバーといったように、インターネット上のネットワークとは”サーバー”を介して行われます。
しかし、ブロックチェーンとはこのような形態とは異なったネットワークです。
ブロックチェーン上には、サーバーのような”管理者”が存在しないのです。
それはどういう事なのか。なぜそれが成り立つのか。以下で詳細に解説していきます。
取引記録を分散させる”分散型台帳”
上の画像のイメージのように、一般的なネットワークサービスを”縦の繋がり”と表現するならば、ブロックチェーンは”横の繋がり”です。
ブロックチェーン上で繋がったパソコンは、全てが対等な役割を担うことになるからです。
(細かい事を言えばパソコンだけではなくスマホでの参加者なども含まれるため、参加者の事を”ノード”と言います。当記事では分かりやすさを優先し、以下パソコンで統一します)
しかし、それは個々が別々に役割を与えられるという意味ではありません。全てのパソコンが、全ての取引のデータを、同じ内容で記録していくのです。
そこに何のメリットがあるかと言えば、”非常に安全性が高い”という事です。言い換えれば”悪意ある第三者の介入に強い”。
ブロックチェーンはシステム上、以下のような事を行っています。
例
- Aさんが、○○店へ商品を10個納入した
- 当日中に3個が売れた
- 取り寄せ依頼があったので、△△店へ2個送った
など。例ですので、イメージしやすい店での取引を参考とします。
全ての取引の過程がデータとして溜まっている状態
取引を、1→2→3の順番になるように整理し、箱に詰めていく。
書類を順番通りにファイリングするようなもの。
入っている物に間違いがないか参加者が全員で確認し、”確認した。この箱には商品の取引データが入っている”という情報を全員が所持する。
封をし終わった箱は、以前に作られた箱と順番が入れ替えられないように鎖で一列に繋がれる。
この状態になった箱にはそれ以上触れない。”改ざん不可能なデータ”として蓄積されていく。
大まかではありますが、これがブロックチェーンにおける一連の流れです。
箱が鎖(チェーン)で繋がっているイメージから、”ブロックチェーン”です。
先ほど、「ブロックチェーン上で繋がったパソコンは、全てが対等な役割を担う」と申し上げましたが、STEP4を見て頂くと”全員が同じ情報を所持している”という事がわかるかと思います。これが”対等”と表現した理由です。
取引記録の台帳を、多数のパソコンに分散させる。”分散型台帳”とは、ブロックチェーンの仕組みを端的に表現した言葉です。
ですが、これが何故安全性に繋がるのか。伝わりやすいよう、ここで短話を挟んでみようと思います。興味の無い方は読み飛ばしても問題ありません。
「お疲れー。会議終わった?」
「あ、お疲れ様です。終わりましたよ。先輩は今戻りですか?」
「そうそう。で、どうすることになった?」
「議事録ありますよ。どうぞ」
「お!サンキュー!じゃあ、ちょっと借りるわ」
「はい。俺この後残ってる仕事しないといけないので、失礼しますね」
「げ。俺が先方怒らせた事まで会議で話題にされたのかよ。バッチリ載ってんじゃん…」
この議事録って、後で提出されるんだろうか。そうだとすると確実に査定に影響が出る。それは正直避けたい。
「いやでも、ここから抹消しちまえば証拠は残らないし…」
魔が差したと言えなくもないけど、元はと言えばこんな細かい事まで記録取ってるアイツが悪い。別にこの一文は無くても特に影響が出ることは無いだろう。
俺はその部分を消去して、議事録が入ったUSBメモリを返しに行った。
「君、データ改ざんしたでしょ」
「え!?いやいや、そんな事は…」
「すっとぼけても無駄。きっちり証拠あるからね」
「証拠!?」
「あの議事録ね。会議出てた10人全員が同じやつ保管してたの。でも、君に議事録渡した田中君のデータだけ、一部の記録が違ってたんだよねぇ…。おかしいね?」
10人全員が同じデータを持っているはずなのに、その内1人のデータだけが違っていたとなれば、”これは誰かが、このデータだけを書き換えた”とわかりますね。
例として10人としましたが、これがインターネット上で膨大な人数が関わるとすればどうでしょう。
データの書き換えをしようとするならばその膨大なデータの全てを書き換えなければ、”おかしい”とわかってしまうのです。
仮に全ての書き換えを試みたとして、その書き換えを行っている最中にも次々と新たな箱が出来上がっていきます。更にその全てが順番通りに並べられている為、一部を改ざんすれば、必ずどこかに綻びが生じます。
つまり、事実上”改ざん不可能なデータ”という事になります。
ブロックチェーンの運用
先ほどの短話では、データを改ざんした彼は悪事がバレてしまい、上司に追及されることになってしまっています。
ですが、実際はブロックチェーンに”犯人を特定する”という能力はありません。
ブロックチェーンは参加者をIDでしか認識しておらず、”そのIDの所有者が何者であるか”までは把握していないのです。
では実際のところ、ブロックチェーンはどのように運用されているのでしょうか。仮想通貨を参考に例を挙げます。
仮想通貨の場合
”暗号資産”とも呼ばれます。意味としては同一ですが、詳しい事に興味のある方は別の記事をご参照下さい。
当記事では伝わりやすさを優先し、より浸透している”仮想通貨”の呼称を使用します。
仮想通貨で有名なものと言えば”ビットコイン”でしょう。
ビットコインは発行機関を持っていません。では、流通しているビットコインはどこから生み出されているのでしょう?
答えは”ブロックチェーンネットワーク上”です。
ビットコイン取引の一連の流れを簡単に説明すると、
- 取引注文を出す
- 取引注文が全ての参加者に承認される
- 承認された記録が箱に詰められる
となります。
ビットコインがブロックチェーンネットワーク上にて取引されている以上、取引の記録は上記の手順を踏んで蓄積されていきます。
しかし、その記録は勝手に整理されて自動で保存されているわけではありません。その処理を行っている人間がいるのです。
そしてこの、3の”箱に詰める”という作業が完了した段階で新規のビットコインが発行されるのです。では、誰に対して?
この、箱に詰める作業を”マイニング”と呼び、マイニングをする人を”マイナー”と呼びます。
ブロックチェーンネットワーク上にいる沢山のマイナー達にマイニングの速さを競わせ、一番早く作業を終えた人が新規ビットコインを手に入れる。
この”システムを利用して競わせる”というのが、ビットコインにおける取引記録の安全性に繋がります。
スピード勝負になれば、それだけ早いスピードで新たな箱が出来上がっていくという事。上記で述べた、”後から一部を変えれば綻びが生じる”という特性が遺憾なく発揮されます。
ブロックチェーンを利用しているデータの改ざんをしようとするならば、新たな箱が出来上がる前に全てのデータを書き換えてしまわなければ、前後の整合性が取れなくなるのです。そんな中、新規ビットコインを得るために全速力で新たな箱を作っているマイナー達が大勢いる。これに勝つことはまず無理でしょう。
「ちょっと!またそれやってんの!?そのでっかいパソコン邪魔だし、電気代めちゃくちゃかかるんだけど!」
「ちょッ…、今集中してんだから話しかけないで…」
この野郎…。先月の電気代いくらかかったと思ってんだ。ビットコインだか何だか知らないけど、ほんとに収入になってんの?
「あんたそれ、ビットコインだっけ?貰えたところで使える訳?実際支払いに使えるようなとこなんてほとんど見たことないんだけど!?」
「いや、そりゃあ価値が上下するもんだから使えるところは少ないけど…。あーッ!負けた…」
「全く、普通に働いた方がよっぽど稼げるんじゃないの?」
「クソッ!どこまで書き換えていきゃあ良いんだよ!?記録上ビットコインの支払先を変更したところまでは良かったけど…」
書き換えたデータが前後のものと続きになってたとは。まあ、それだけだったら面倒だが全部書き換えれば済む話だった。
誤算だったのは、書き換えてくそばからどんどん新しいデータが出来上がっていく事だ。当然その新しいデータってのは、俺が書き換える前の正常なデータの方と繋がってるもんだから、やってもやっても終わらない。何でこんなスピードで新しいのが出来上がってくんだよ!?
どう考えても俺の作業スピードより新規データが出来上がる方が早い…。これは…、流石に無理だ…。
管理人不要のシステム
ここまでブロックチェーンに関して解説してきましたが、システムの”管理”という面に関して人間が関わっていない事にお気づきでしょうか。
先ほど述べたマイナー達は、報酬を得ることを目的にシステムに与えられたタスクをこなしていましたが、これは決まった処理を行っているだけであって、これをしたからといってシステムに影響を与えることはありません。マイニングを行った前後でシステムの仕様が変わったり、ネットワーク上の動作が変わったりすることは無いのです。
ブロックチェーン技術とは、一度システムが稼働を始めれば、それ以降人間の管理を必要とせずに動作し続ける事が可能なシステムです。
”○○の条件を満たしたとき、△△の処理を実行する”というように、条件付けを行いそれが満たされれば自動で実行される。
先ほどのビットコインを例に挙げるならば、”箱詰め作業が終了したら、終了させた人に新規ビットコインを発行する”というのが勝手に実行されるという事です。
ブロックチェーンを活用した技術は増えている
冒頭でも述べていますが、Web3.0やETFなど、近年のIT分野においてその仕組みを理解するためにはブロックチェーンに関する知識を持っておく必要があります。
当記事での解説は皆さまのお役に立てましたでしょうか?
他の記事では、ブロックチェーンを利用した技術について具体的に解説しております。宜しければそちらもご覧ください。
感想・意見