レポート「ビットコインキャッシュの取り出し方&送金方法」を配信。画面付きで丁寧に解説
レポート「アルトコイン図鑑」では30種類以上のコインの概要と見通しを解説レポート内容へ
真面目な記事です。ブロックチェーンという言葉が、いろいろな意味で使われています。
用語の定義がはっきりしないので、ビットコインを指したり、2.0を指したり、はたまた、企業内で使われるものや、銀行コインまで、さまざまなものがブロックチェーンだといわれています。
それどころか、むしろブロックチェーンという言葉は、金融機関が利用する許可型のシステムという意味で、ビットコインとは違うというニュアンスが強調されつつあるようにさえ思います。
そうした現状を踏まえ、ブロックチェーンの用語を考察します。どこまでをどうブロックチェーンと呼べばいいのでしょうか?
議論アプローチとして、ブロックチェーンの性質を要素分解するアプローチをとります。
スタート地点として、原点にまず戻りましょう。元祖のビットコインのブロックチェーンはどのような性質があるのでしょうか。いくつかの重要な性質を挙げます。
ビットコインのブロックチェーン
①ハッシュポインタの連続によるデータ構造をもつアペンドオンリーの(追加のみしかできない)データベース。
②パブリックであり、インターネット上で誰もがアクセスできる
③トランザクションの順番について、ネットワークが単一の合意をするために、ハッシュパワー投票による合意アルゴリズム(Pow)を採用し、管理者を不要としている
④採掘者へのインセンティブとして、価格のつくトークン(ビットコイン)を発行して、報酬としている
⑤ノードは分散型である。
ほぼ、これがビットコインのブロックチェーンの重要な特徴だとおもいます。この5つが満たされているものを、フルブロックチェーンとでもいいましょうか。
さて、昨今の派生型ブロックチェーンでは、ネットワークをプライベートに閉じたり、管理者を設けることによって、電気代の無駄となるマイニングを行う必要がなかったり、結果としてトークンが不要となったりします。
フル・ブロックチェーンから、一つづつ、要素を落としていっているわけです。それを図にしたものがこれになります。
コンサルチックな図ですが、ちょっと我慢して良く見てほしいです。(クリックで拡大)
コンソーシアムチェーン
これは、企業が連合して運用するネットワークで、たとえば、取引所間サイドチェーンのLiquidなどがそれに当たります。それぞれの企業がノードを管理し、一般公開しません。
このいうタイプのチェーンだと、先ほどのフルブロックチェーンのうち幾つかが不要になります。
まず、PoWが不要になります。100%信頼できる仲間内だけで運用しているため、外部からの攻撃を想定しなくてもよく、そのため、電気代の無駄となるマイニングは不要です。その代わり、信頼できるノードの間で、合意をとるための高速アルゴリズムが利用できるようになります。
一般に、ビザンチンアグリーメントと呼ばれるタイプのアルゴリズムで、分散データベースで利用されており、ノードの故障やネットワーク障害への耐障害性をもちつつ、高速に分散ノード間で合意が形成できるタイプのプロトコルです。
ハイパーレジャーとかが、秒間何万トランザクション可能といっているのは、こうした高速アルゴリズムを採用しているからです。(裏を返すと、不特定多数の信頼出来ないノードが自由に接続可能な状況では、高速アルゴリズムは使えません)
また、マイニングが不要になるので、インセンティブとして換金性のあるトークンを発行する必要がなくなります。(インセンティブとしてのトークンがなくなるだけで、任意の権利を表彰したトークンを発行しても構いません。例えば不動産の権利や、データのアクセス権やなど)
このタイプのブロックチェーンでは、
ハッシュポインタのデータ構造 + コンセンサスプロトコル(外部の攻撃を想定しなくてもよい) + 分散ノード運用(管理者あり)
この3つが残ります。
独占運用(プライベートチェーン)
さらに削っていくとどうなるでしょうか。独占運用のチェーンは、一社だけが運用するチェーンです。こうなると、何が省略できるでしょうか?
一つは、コンセンサスアルゴリズムを省略できます。1社だけが運用するので、極端なことを言えば、すべて自社の権限で、承認すればいいわけです。
極端にいうとノードも分散の必要がありません。分散DBでなくなります。
こうなると残るのは、
ハッシュポインタのデータ構造
だけになります。こうなると、データベースと何がちがうの?というツッコミが出てきます。それに対する一般的な回答は、「ハッシュの計算によって、連続性が保たれているので、監査がしやすく、改ざんが発見しやすい」という答えです。
いちおうこれもブロックチェーンだと言っています。
となると、すべて削ぎ落とした結果は、ハッシュポインターのデータ構造のことが、ブロックチェーンだということになってしまいます。
さて、一社による運用ですが、流石に、1社で運用するとしても、ノードが一つだけというのは本当にDBと変わらないし、ひどいんじゃないとという感じをうけます。
なので、一社で運用するんだけどデータの安全のために冗長性をもたせましょうという分散データベース的な運用を取り入れるのが普通と思いますし、実際の実装はそうなっております。ですから、
となると、コンソーシアムチェーンと同じく、
ハッシュポインタのデータ構造 + コンセンサス + 分散ノード運用(管理者は自社のみ)
というコンボになるとおもいます。違いは、ノードを全部自社が管理するというところになります。
なお、ここでのコンセンサスアルゴリズムは、あくまで信頼できる特定の数のノードを前提としたもので、ノードが落ちたり、故障したりといった古典的な分散システムにおける障害をクリアすることを目的としています。
なお、ハッシュポインタのデータ構造のほうも突き詰めると、ブロック単位で纏める必要がありません。プライベート運用などで、一つ一つのトランザクションを高速に承認出来る場合、ブロックを廃止し、トランザクションごとにすべて番号を振って並べても問題ないわけです。
分散データベース
さて、では、時折比較される分散データベースはどうでしょうか?これは、DBのデータ構造が違います。しかしながら、分散ノードがコンセンサスを取りつつデータを保持するところは一緒です。ですから、
DB(KVSなど) + コンセンサス + 分散ノード運用(管理者あり)
というのが分散データベースということになります。
ブロックチェーンとは何処までか?
上記の議論を踏まえて、ブロックチェーンとは何処までのことを指すか?という議論をします。
①極論の考え方
まず、極論を言いますと、現在ブロックチェーンと呼ばれているたぐいのもので、プライベートなものに残っている要素は、
・ハッシュポインタのデータ構造
だけなのですから、これをもってブロックチェーンとする定義です。
信条的な角度からみても、普通のDBと、ブロックチェーンの違いというところだけが守りたい防衛ラインとして、やっぱりそこを突き詰めると、データ構造の持ち方の話になります。
データをハッシュツリーなどにまとめて、ハッシュのポインターを使って、時系列の連続性を持たせて、改ざんとかに強く、検証がしやすいデータ構造でして、これは、すごいでしょ。
ここを防御ラインとして、他に関しては、あらゆる派生形もブロックチェーンとよびましょうということ。
②分散していて欲しい
データ構造だけでブロックチェーンというのは流石に・・と思う人がおおいでしょう。
ブロックチェーンとは、とにかく分散型の技術であるというところが防御すべき最後のポイントだと考えれば、
ハッシュポインタのデータ構造 + コンセンサス + 分散ノード運用(管理者あり)
この3つのコンボが揃った次点でブロックチェーンとするというものです。コンセンサスアルゴリズムは、参加するノードが信頼できる前提で動く、ビザンチンアグリーメントのような高速アルゴリズムでも構いません。
この3つが揃って、ブロックチェーンだという定義。
おそらくこれが今は一般的に受け入れられているものに近いのではとおもいます。
③公開型、P2Pでなければ、何がブロックチェーンか?(お叱りの声)
最後の考え方は、パブリックであり、管理者いない完全なP2Pで運用されるといったところに重きをおくものです。参加するノードが不特定多数で、それらの接続を制限・管理できず、信頼出来るとも限らないといったまさにインターネット的な状況でも、ちゃんと動くということに意義があるとする考えです。
ビットコインの意義を考えるとき、、中央の管理者を排除することに成功したという点が画期的なわけで、それを抜かしてしまったら、ブロックチェーンといっても画期的でもなんでも無いでしょうという信条です。
ネットワークをパブリックにするということは、必ずこれを維持する採掘者が必要で、彼らがハッシュパワーを投入する経済的なインセンティブとして換金性のあるトークンの導入が必須となります。
つまり、
パブリック、マイニング、経済インセンティブ
この3つはセットでないと成り立たないわけです。ですので、パブリックを目指すとすると、この3つが一気に加わります。
ハッシュポインタのデータ構造 + パブリック・ネットワーク + マイニングによるコンセンサス(PoW) + 経済インセンティブとしてのトークン + 分散ノード(管理者なし)
というフルコンボだといえます。パブリックな運用の場合、これのどれが欠けてもエコシステム的にダメで機能しません。
ナカモトサトシがブロックチェーンを発明したというのはみなさんご存じのとおりですが、彼は、このフルコンボを一体のものとして発明しました。フルコンボでないと動きませんので。
ですから、これらのうち都合のよいものを幾つかを取り出して、ブロックチェーンだ!とするのは間違いとおもいます。ナカモトサトシは、ビットコインを実現するにあたって、これらの仕組みをフルコンボで一体のものとして考案したわけです。なんどもいうように、パブリックで、中央の管理者なく、P2Pで動かすには、これらすべてが必要です。(Ethereumほか、多くのパブリック型のチェーンも同様です)
私の意見
断り書きをしておきますが、この記事は、現在ブロックチェーンという言葉がどう使われているかということに対しての分析です。決して、この現状が望ましいと主張しているわけではなく、議論のための前提の整理と捉えてください。
というまえがきの上で、私の意見を書いておきます。
私は、ブロックチェーンとは、フルコンボの③番のみを指すということが望ましいと考えています。
中本サトシは、フルコンボのセットを発明して、それが新しいからです。とりわけPowによる分散型のコンセンサスと経済インセンティブの部分がビットコインの核心で、それにより特定の管理者を排除したP2P支払いシステムを実現しました。
それ以外の要素は過去にすでに存在していたもの[1]であり、特に管理者の再導入は、サトシ論文の否定で、退化ともいえるのではないでしょうか。
ですが、現状を観察しますと、どちらかというと、ブロックチェーンの使われ方の主流は、パブリックでないもの、金融機関内のチェーンといった意味で使われていることが多いように思います。どうやら、意味が逆になってしまったように思います。
結論
結局は用語の問題なので、何を持ってブロックチェーンと呼ぶかというのは、無理して定義をしなくても良いとはおもいますし、日本だけで何か定義をしたところで、国際的な用語なので意味は無いでしょうし。
じゃあなんでこんなブログ書いたんだというと、こうした分析を通して、ブロックチェーンといわれるものに必要な要素はどういうものがあり、何処までを取り入れるか、取捨選択や、設計といった話の整理に役立つことができるのではないでしょうかということです。
何でもブロックチェーンではなく、このシステムは、具体的に、これとこれとこれが入っているコンボですと、中身を指し示して議論できるということが大事なんじゃないかと思っています。ちゃんとコンボを示して話しましょうということです。そうしますと、ちょっと曖昧なまま感覚でトークしているブロックチェーン界隈の話が、もうちょっと洗練されたものになれるんじゃないかと考えてます。
<役に立つ記事>
[1]たとえば、ハッシュポインタの連続により一貫性を保つデータ形式は「ヒステリス署名」と言われ、過去に存在していました。
詳細日本語マニュアル付きTrezorの購入は
初心者向け「使って勉強!ビットコイン」