詳細レポート「マイクハーンのビットコイン失敗宣言は本当か?(全23ページ)」を配信中です。ご入会いただけますと過去の17本のレポートもすべてお読みいただけます。詳細へ
真面目な記事です。ブロックチェーンという言葉が、いろいろな意味で使われています。用語の定義がはっきりしないので、ビットコインを指したり、2.0を指したり、はたまた、銀行コインまで、さまざまなものがブロックチェーンだといわれています。
さて、このブロックチェーンですが、どこまでをどうブロックチェーンと呼べばいいのでしょうか?
ブロックチェーンの性質を分解することで、議論のベースを提案したいというのが本記事の趣旨です。
さて、原点にまず戻ると、元祖のビットコインのブロックチェーンはどのような性質があるのでしょうか。いくつかの重要な性質を挙げます。
ビットコインのブロックチェーン
①ハッシュポインタの連続によるデータ構造をもつアペンドオンリーの(追加のみしかできない)データベース。
②パブリックであり、インターネット上で誰もがアクセスできる
③トランザクションの順番について、ネットワークが単一の合意をするために、ハッシュパワー投票による合意アルゴリズム(Pow)を採用し、管理者を不要とした
④採掘者へのインセンティブとして、価格のつくトークン(ビットコイン)を発行して、報酬とした
⑤ノードは分散型であり、誰でも参加、離脱できる
⑥管理者がいない(いわゆるP2P)
ほぼ、これがビットコインのブロックチェーンの重要な特徴だとおもいます。この5つが満たされているものを、フルブロックチェーンとでもいいましょうか。
さて、昨今の派生型ブロックチェーンでは、ネットワークをプライベートに閉じたり、管理者を儲けることによって、電気代の無駄となるマイニングを行う必要がなかったり、結果としてトークンが不要となったりします。
フル・ブロックチェーンから、一つづつ、要素を落としていっているわけです。それを図にしたものがこれになります。
コンサルチックな図ですが、ちょっと我慢して良く見てほしいです。(クリックで拡大)
コンソーシアムチェーン
これは、企業が連合して運用するネットワークで、たとえば、取引所間サイドチェーンのLiquidなどがそれに当たります。それぞれの企業がノードを管理し、一般公開しません。
このいうタイプのチェーンだと、先ほどのフルブロックチェーンのうち幾つかが不要になります。
まず、PoWが不要になります。信頼できる仲間内だけで運用しているため、外部からの攻撃を想定しなくてもよく、そのため、電気代の無駄となるマイニングは不要です。その代わり、信頼できる管理ノードの間で、合意をとるための高速アルゴリズムが利用できるようになります。
一般に、ビザンチンアグリーメントと呼ばれるタイプのもので、分散データベースなどで利用されており、ノードの故障やネットワーク障害への耐障害性をもちつつ、高速に分散ノード間で合意が形成できるタイプのプロトコルです。
ハイパーレジャーとかが、秒間何万トランザクション可能といっているのは、こうした高速アルゴリズムを採用しているからです。(裏を返すと、外部の攻撃が想定される環境ではこうした高速アルゴリズムは使えません)
また、マイニングが不要になるので、インセンティブとして換金性のあるトークンを発行する必要がなくなります。(インセンティブとしてのトークンがなくなるだけで、任意の権利を表彰したトークンを発行しても構いません。例えば不動産の権利や、データのアクセス権やなど)
このタイプのブロックチェーンでは、
ハッシュポインタのデータ構造 + コンセンサスプロトコル(外部の攻撃を想定しなくてもよい) + 分散ノード運用(管理者あり)
この3つが残ります。
プライベートチェーン(独占運用)
さらに削っていくとどうなるでしょうか。プライベートチェーンは、一社だけが運用するチェーンです。こうなると、何が省略できるでしょうか?
一つは、コンセンサスアルゴリズムを省略できます。1社だけが運用するので、極端なことを言えば、すべて自社の権限で、承認すればいいわけです。
極端にいうとノードも分散の必要がありません。分散DBでなくなります。
こうなると残るのは、
ハッシュポインタのデータ構造
だけになります。こうなると、データベースと何がちがうの?というツッコミが出てきます。それに対する一般的な回答は、「ハッシュの計算によって、連続性が保たれているので、監査がしやすく、改ざんが発見しやすい」という答えです。
いちおうこれもブロックチェーンだと言っています。
となると、すべて削ぎ落とした結果は、ハッシュポインターのデータ構造のことが、ブロックチェーンだということになってしまいます。
(細かい話)
さて、プライベート運用ですが、流石に、1社で運用するとしても、ノードが一つだけというのは本当にDBと変わらないし、ひどいんじゃないとという感じをうけます。
なので、一社で運用するんだけどデータの安全のために冗長性をもたせましょうという分散データベース的な運用を取り入れるのが普通と思います。
となると、コンソーシアムチェーンと同じく、
ハッシュポインタのデータ構造 + コンセンサス + 分散ノード運用(管理者あり)
というコンボになるとおもいます。なお、ここのコンセンサスアルゴリズムは、外部からの攻撃からの防御ではなく、どちらかと言うと、ノードが落ちたり、故障したりといった古典的な分散システムにおける障害をクリアするために導入されるコンセンサスの仕組みです。
なお、ハッシュポインタのデータ構造のほうも突き詰めると、ブロック単位で纏める必要がありません。プライベート運用などで、一つ一つのトランザクションを高速に承認出来る場合、ブロックを廃止し、トランザクションごとにすべて番号を振って並べても問題ないわけです。
分散データベース
さて、では、時折比較される分散データベースはどうでしょうか?これは、DBのデータ構造が違います。しかしながら、分散ノードがコンセンサスを取りつつデータを保持するところは一緒です。ですから、
DB + コンセンサス + 分散ノード運用(管理者あり)
というのが分散データベースということになります。
ブロックチェーンとは何処までか?
上記の議論を踏まえて、ブロックチェーンとは何処までのことを指すか?という議論をします。
①極論の考え方
まず、極論を言いますと、現在ブロックチェーンと呼ばれているたぐいのもので、プライベートなものに残っている要素は、
・ハッシュポインタのデータ構造
だけなのですから、これをもってブロックチェーンとする定義です。
信条的な角度からみても、普通のDBと、ブロックチェーンの違いというところだけが守りたい防衛ラインとして、やっぱりそこを突き詰めると、データ構造の持ち方の話になります。
データをハッシュツリーなどにまとめて、ハッシュのポインターを使って、時系列の連続性を持たせて、改ざんとかに強く、検証がしやすいデータ構造でして、これは、すごいでしょ。
ここを防御ラインとして、他に関しては、あらゆる派生形もブロックチェーンとよびましょうということ。
②分散していて欲しい
データ構造だけでブロックチェーンというのは流石に・・と思う人がおおいでしょう。
ブロックチェーンとは、とにかく分散型の技術であるというところが防御すべき最後のポイントだと考えれば、
ハッシュポインタのデータ構造 + コンセンサス + 分散ノード運用(管理者あり)
この3つのコンボが揃った次点でブロックチェーンとするというものです。コンセンサスは、外部の攻撃者を想定した厳密なものでなくてもよく、分散DBのような古典的なノードの障害に対応するものであっても構いません。
この3つが揃って、ブロックチェーンだという定義。
おそらくこれが今は一般的に受け入れられているものに近いのではとおもいます。
③公開型、P2Pでなければ、何がブロックチェーンか?(お叱りの声)
最後の考え方は、パブリックであり、管理者いない完全なP2Pで運用されるといったところに重きをおくものです。ビットコインの意義を考えるとき、、中央の管理者を排除することに成功したという点が画期的なわけで、それを抜かしてしまったら、ブロックチェーンといっても画期的でもなんでも無いでしょうという信条です。
ネットワークをパブリックにするということは、必ず維持するマイナーが必要で、その経済的なインセンティブとして換金性のあるトークンの導入が必須となります。
つまり、
パブリック、マイニング、経済インセンティブ
この3つはセットでないと成り立たないわけです。ですので、パブリックを目指すとすると、この3つが一気に加わります。
ハッシュポインタのデータ構造 + パブリック・ネットワーク + マイニングによるコンセンサス(PoW) + 経済インセンティブとしてのトークン + 分散ノード(管理者なし)
というフルコンボだといえます。パブリックな運用の場合、これのどれが欠けてもエコシステム的にダメで機能しません。
ナカモトサトシがブロックチェーンを発明したというのはみなさんご存じのとおりですが、彼は、このフルコンボを一体のものとして発明しました。フルコンボでないと動きませんので。
ですから、これらのうち都合のよいものを幾つかを取り出して、サトシの発明はブロックチェーンだ!とするのは間違いとおもいます。ナカモトサトシは、ビットコインを実現するにあたって、これらの仕組みをフルコンボで一体のものとして考案したわけです。なんどもいうように、パブリックで、中央の管理者なく、P2Pで動かすには、これらすべてが必要です。
(おまけ)なお、ビットコインとはだいぶ違っているイーサリアムですが、こちらもこの点に注目してみると、コンボは同じになっています。データ構造はビットコインのものとは違ってもっと複雑なのですが、分散ハッシュテーブルとハッシュポンタによりデータの一貫性を保つという構造は一緒ですし、コンセンサスのためにPoWを採用しています(POSに移行予定)。経済トークンとしてETHというトークンが存在し、マイニングの報酬として与えられます。
結論
結局は用語の問題なので、何を持ってブロックチェーンと呼ぶかというのは、無理して定義をしなくても良いとはおもいますし、日本だけで何か定義をしたところで、国際的な用語なので意味は無いでしょう。
じゃあなんでこんなブログ書いたんだというと、こうした分析を通して、ブロックチェーンといわれるものに必要な要素はどういうものがあり、何処までを取り入れるか、取捨選択や、設計といった話の整理に役立つことができるのではないでしょうかということです。
何でもブロックチェーンではなく、このシステムは、具体的に、これとこれとこれが入っているコンボですと、中身を指し示して議論できるということが大事なんじゃないかと思っています。ちゃんとコンボを示して話しましょうということです。そうしますと、ちょっと曖昧なまま感覚でトークしているブロックチェーン界隈の話が、もうちょっと洗練されたものになれるんじゃないかと考えてます。
なお、こちら議論のたたき台ですので、ぜひ、ご意見などございましたらおねがいします。
追記
ちょっと思いついたので追記します。追記にしては長いのですが、お読みください。
ちょっと引き算してみることが出来るんじゃないかと思いまして。
②の要素: ハッシュポインタのデータ構造 + ビザンチンコンセンサス + 分散ノード運用(管理者あり)
分散DBの要素: RDB + ビザンチンコンセンサス + 分散ノード運用(管理者あり)
すると、違いは、結局、「データベース構造のところだけじゃん」
ってことになりません?
とすると、極論と一緒じゃんってことになりませんか?要するに、違いは、やっぱりデータ構造のところしかないんですよ。
だから、論理的に考えたら、ブロックチェーンとは、極論のデータ構造のみをさすか、そうでなければ、フルコンボのどちらかだといえませんかね。
今週のレポート「イーサリアムの購入方法、ウォレットなどの基礎知識、過去の3度の上昇時のケーススタディ、現在の材料や次期バージョンの見通し、トレード戦略など(全15ページ)」を配信中です詳細へ