ブロックチェーンはもはやイデオロギー?――『Web3とは何か』by岡嶋裕史 第1章 ブロックチェーン①
過去の連載はこちら。
岡嶋さんの新書最新刊。早くも5刷です。
第1章 ブロックチェーン①
もはやイデオロギーか?
Web3の重要な要素とされているものを、個別に見ていこう。
まずはブロックチェーンである。
ブロックチェーン、そしてその成功事例であるビットコイン、イーサリアムを耳にしたことがない人は少ないだろう。だが、その切り分けとなると怪しくなり、ビットコインやイーサリアムの陰で儚く世を去ったシステムに関しては相当認知度が低くなる。これらはNFTの議論にも絡んでくるので、根っこの部分は知っておいた方がいい。
ブロックチェーンそのものは、データの保存方法、および保存手法である。特にどうということはない。名前そのものであって、「ブロック状にまとめられたデータが数珠つなぎになったもの」だ。
このしくみは特に用途が決まっているわけではないので、何に活用することもできる。ブロックチェーンを使って作られたシステムのうち、誰もが知る成功事例がビットコインとイーサリアムである。ここは混同しがちなので注意が必要だ。
ブロックチェーンのことを話しているつもりで、実はビットコイン固有の話をしていたり、イーサリアム特有の技術だと考えていたらブロックチェーン全般のことだった、などはよくある話である。
ただし、そう言ってしまうと、こんなものもブロックチェーンになってしまう。私たちは現状で、おそらくこれをブロックチェーンとは思わない。
いまやブロックチェーンはデータの保存方法や技術を指す言葉ではなく、イデオロギーであると考えてもいいかもしれない。その中心教条は次の3つだ。
1.分散型で単一障害点がないこと
2.非中央集権であること
3.書き込み専用・改ざん困難であること
1から説明していく。
分散型で単一障害点がないこと
分散型があるということは、集中型があるということだ。
データベースに限らず、コンピュータの資源(リソース)は集中型から始まった。メインフレームと呼ばれる大型コンピュータなどがそうだ。とにかくでかいし、高いので1社に1台といった使い方をしていた。そのため、メインフレームがすべての仕事を請け負う。集中しているのである。
もちろん、仕事をするたびにメインフレームが鎮座するマシンルームまで足を運ぶのではめんどうだから、メインフレームに接続するための表示端末は各フロアにある。
でも、これらの端末は本当にキーボードからの入力受付や、メインフレームが仕事をした結果を表示することのみを行っていた。あくまでも仕事をこなすのはメインフレームである。
集中型はシンプルで長所も多いが、弊害もある。その最たるものが、仕事が集中している箇所(先の説明だとメインフレーム)が壊れると、ぜんぶの仕事が止まってしまうことだ。こうした状況を指して、「メインフレームがSPOF(Single Point Of Failure:単一障害点)である」と言う。
学校で生徒会長に全部の仕事をおっかぶせていたら、その生徒会長(SPOF)がお腹を壊して休んでしまうと運動会も文化祭もできなくなるような状態である。
冗長化
それは避けたいので、システムやネットワークを構築するときはSPOFを作らないように注意する。構成要素を冗長化(redundantize)するのだ。
冗長化というと日常生活では概ねよくない言葉だ。「あなたの話は冗長ですね」と言われたら、顔を赤らめて謙遜してはいけない。「話が無駄に長くてつまらんぞ」と殺意を表明されただけのことである。
でも、システムまわりで「冗長」は良い意味で使われる。「1台で済むところを2台設置しておく余裕があったので、仮に1台が壊れても、遊ばせていた残りの1台で無事に業務を継続できた」あたりが冗長化の真骨頂だ。
1台で済むところを3台や4台設置すれば、冗長化の度合いが増し、故障や事故には強くなる。でも、無駄に遊ばせておくリソースも増える。この辺はさじ加減が難しいところでもある。
近年のコスト削減の波は人員だけでなくコンピュータの冗長構成にも及んでいる。すべてのサーバが壊れて業務が停止したときに、「削ったのは無駄ではなく、必要な余裕だった」と気づくこともある。
そのため、通常はバランスを探るところなのだが、ブロックチェーンでは振り切ったやり方を採用する。全員にデータを配るのである。分散型の極北だ。
図 全員に配るイメージ
拙著『ブロックチェーン 相互不信が実現する新しいセキュリティ』(ブルーバックス)より
確かに、参加者全員にデータを配って保存してもらえば、データをまるまる失うリスクは最小化できる。単一障害点などはどこにもない。「ブロックチェーンには永続性がある」、「一度ブロックチェーンにデータを保存すれば、未来永劫データが消えない」と言われる理由の一片はここにある。
仮に大災害や戦争が起こってあらかたのコンピュータが破壊されてしまっても、1台でも生き残っているマシンがあれば、そのマシンにはすべてのデータが保存されている。戦乱が過ぎ去った後におもむろに他のコンピュータにデータをコピーしていけばよい。一粒の種からその植物が再繁栄するように、そのブロックチェーンは息を吹き返すだろう。
中心教条には入れていないが、ブロックチェーンをめぐる言説では永続性が強調されることがある。その根拠がここだ。会社が作るシステムだと、その会社がつぶれたらおしまいだが、ブロックチェーンなら参加者が1人でもいれば後を継ぐことができる。
分散型は昔からあった
誤解して欲しくないのは、分散型のデータベースは昔から存在していたことだ。それ自体は特に革新的な話ではない。1台のコンピュータにデータベースを構築したとして、利用者数が増えてくれば1台のコンピュータでは仕事をさばききれなくなる。そこで2台、3台とコンピュータを増やす。
1つのデータベースを複数台のコンピュータで動かしているので、この時点ですでに分散型データベースと呼ぶ。
さらに利用者数が増えてグローバル展開などし始めると、ヨーロッパに置いたコンピュータではアメリカの利用者へのサービスが悪くなる(利用者が仕事を依頼して、それが完了するまでの時間〈ターンアラウンドタイム〉が長くなる)といった事態が起こるため、アメリカやアジアにもコンピュータを置こうという話になる。アジアの利用者はより速く結果を得られるようになり、アメリカのコンピュータが潰れてもヨーロッパのコンピュータは残る。
ここまでくると、私たちがふだんの会話でイメージする「分散型データベース」にかなり近くなるだろう。
この先は2で説明する「非中央集権であること」ともリンクしてくる。従来型の「分散型データベース」では、コンピュータは分散しているものの、やっぱり偉い人(偉いコンピュータ)はいるのだ。
だってデータベースにおいては、「データが整合していること」はとても重要な要素なのだ。データベースの土台になるコンピュータを特に対策もなく複数台にすると、船頭多くして船山に上る事態になる。
たとえば、鈴木さんのデータがコンピュータAにもBにも保存されているときに、鈴木さんが改名して小鳥遊さんになったのでデータを更新したとする。コンピュータAだけ小鳥遊さんにしてコンピュータBは鈴木さんのままだったなど、システム業務あるあるである。
だから複数台の力で一つのデータベースを作り上げるにしても、偉いコンピュータ(プライマリ、もしくはマスタ)とそれに従うコンピュータ(バックアップ、もしくはスレーブ)に役割を分けておく。
拙著『ブロックチェーン 相互不信が実現する新しいセキュリティ』(ブルーバックス)より
データの追加や更新、削除はプライマリに対してだけ行えばデータの矛盾は生じない。バックアップはプライマリから、複製(レプリケーション)したデータをもらうだけだからである。
違う言葉で説明すると、プライマリに権力が集まっていると言えるだろう。中央集権的なのだ。
中央集権的であることは、コンピュータの利用効率から考えれば悪いことではないのだが、プライマリを悪い人に不正利用されたらどうしようとか、プライマリがマルウェアによって汚染されてデータを壊してしまったとか、プライマリの管理者が操作ミスでデータを吹っ飛ばしたとか、中央集権であるがゆえのリスクがある。
コンピュータの役割分担はデータベースだけでなく、様々な場面で行われている。私たちがWebページを閲覧するときもそうだ。
Webページのデータを格納しているWebサーバ(サービスする側のコンピュータ)に対して、私たちは手元のWebクライアント(サービスを受ける側のコンピュータ:パソコンやスマホにWebクライアントアプリ(ブラウザ)を入れて使う)から「Webページを見せて」とお願いを送る。それに応じたWebサーバがWebページを送り返してくれることで、Webシステムは成り立っている。
このクライアント/サーバシステムは、メインフレームなどと比較して「分散型」に分類される。
近年のブロックチェーンの文脈で書かれた書籍などでは、クライアント/サーバを集中型と説明するものもあるので、新旧の本を読み比べるときなどに注意が必要である。「サービスをしてあげるほうのコンピュータ」であるサーバに大きな力が集中していることは間違いないが、「大昔の本当に中央集権だったモデルに比べると、だいぶ企業や部署、個人へと分散できた」意味がある。
サーバとクライアントが役割分担をしていることは、資源の最適配分において力を発揮するが、その力関係の格差も許容したくない場合にはP2P(Peer to Peer)を採用する。ブロックチェーンがそうだ。そのしくみに参加する全員が平等、全員が同じ役割を果たす(少なくともその権利がある)のである。
これは「全員にデータが配ってある」からできることでもある。コンピュータAにはデータC、コンピュータBにはデータDしか保存されていないとき、コンピュータAにコンピュータBの代わりをさせることは難しいだろう。
ブロックチェーンでいう「分散型」は、数ある分散型のなかでも特にP2Pを想定している。その点を記憶にとどめておいていただきたい。(続く)
過去の連載はこちら。