2016年に入り、ますますブロックチェーンが巷をざわつかせるようになりました。

今年はいよいよ実証実験を終え、プロダクトフェーズに移行するというのが識者の見解で、金融をはじめ、IoTや流通など様々なトランザクション基盤にブロックチェーンが応用され始める年になると期待されています。

最近では、ブロックチェーンの技術概念を解説する日本語記事も少しずつ見られるようになりましたが、ビットコインのパブリックな分散帳簿としてのブロックチェーンと、プライベート型、コンソーシアム型のブロックチェーン派生がないまぜに語られていることがままあります。

さらに、用語としての「ブロックチェーン」に含まれる意味はあまりにも肥大化しており、単にビットコインを言い換えただけのように思える解説も見られます。結局のところ、問題はブロックチェーンという言葉にどれだけの実装を含めるかなのですが、今のところ明確な答えは得られていません。さて、ブロックチェーンとは一体何なのでしょうか。

「ブロックチェーンとは何か」という問いに答えるとすれば、原義的には、ハッシュとノンス、データ（ビットコインの場合、トランザクション）を格納し、時系列に連なるブロックを連結させるためのデータ構造であると言えます。また、中央管理主体を必要としないP2Pによる電子マネーシステム「ビットコイン」を実現するために考案されたデザインパターンのひとつだとも言えるでしょう。

以前、「なぜ今ビットコインではなく、ブロックチェーンなのか」という記事を書いた際には、ブロックチェーンはトランザクションを一時的にプールし、一定周期毎にブロックに書き込むデータベースであると説明しました。しかし一方で、識者の中ではブロックチェーンはデータベースではなく、リンクトリストのデータ構造であるとの主張も見られています。

ここでは、今もなお結論が出ていない「ブロックチェーン」というバズワードについて、少しばかりのエッセンスを提示したいと思います。

目次

ブロックチェーンにトークンは必要か

ブロックチェーンをデータ構造として見た場合、「ビットコインのように」と言うまでもなく、ビットコインに代表されるようなトークンは含まれません。

ビットコインにおけるトークンの役割とは、決済通貨でありながら、P2Pのネットワークの維持管理に携わるインセンティブ（発行益）を持たせることです。ビットコインでは、維持管理作業者のことをマイナーと呼び、Proof of Workというルールのもと不特定多数の人々に計算競争を行わせることでネットワークの堅牢性を保っています。

つまり、トークンは「トラストレスなP2Pネットワーク」についての要素であり、ブロックチェーンには含まれません。

ブロックチェーンにスマートコントラクトは含まれるか

スマートコントラクトは今のところ、ブロックチェーン有りきの概念として語られます。しかしながら、単にブロックチェーンという技術要素を切り取るのであれば、答えは「あってもいいし、なくてもいい」です。

スマートコントラクトとは、一言で言えば「当事者間で有効な、自力執行力のあるデジタル形式の約束事（契約）」のことです。紙面契約やサービスの利用規約のように、当事者が合意に至り、事前に定められた条件のトリガーが実行された時のみ執行される実世界の契約とほぼ同義です。

最も簡単な例は、ビットコインで実装されているマルチシグの仕組みだと言えます。マルチシグは2of2や1of2などで表され、2of2ならば同一のトランザクションに対して2人中2人が電子署名を行ってはじめてトランザクションが執行されます。

これまでの契約との最も大きな違いは、仲裁者を挟まずに自動的に執行される点に尽きると言えましょう。IoTや金融デリバティブ、法律、保険などの領域で最も有力視されているのも、このスマートコントラクトです。

ブロックチェーンはデータベースか

オリジナルのブロックチェーンにはトランザクションの履歴が含まれていながらも、どちらかと言えばやはりリンクトリストに近い性質を持っており、データベースとして見ることは不適切のように思えます。なぜならば、ブロックチェーンを直接データベースとして扱うことはあまりにも非効率なためです。通常、ビットコインなど暗号通貨においてブロックチェーンエクスプローラを実装する場合には、ブロックチェーンを直接参照せず、RDBにデータを移して利用します。

Open AssetやCounterparty、Proof of Existenceなどは、ビットコインのブロックチェーンをメタデータの保存先として利用しています。サイドチェーンの実装においても、独自でチェーンを持ちながら、ビットコインのブロックチェーンに「杭打ち」をすることで、ネットワーク効果を最大限に活かすことが考えられています。

例えば、これはMMORPGなどのシステム脆弱性を突いたアビューズ行為などに対しても有効な考え方です。悪意をもったユーザーはマップ移動やログアウトなど、特定のローディングのタイミングでアイテムを移動しデータベースの不整合を狙いデータの複製を試みるわけですが、ブロックチェーンにおいては、「トランザクションが電子署名で保護され、前回のトランザクションに続くものでなければならない」ようにデータの持ち方を設計している限り、データの不整合が起こることはありません。

ブロックチェーンがデータベースではないと述べたもうひとつの理由は、Openchainの存在です。Openchainはいわば「ブロックチェーンに最適化されたデータベース」（引用：coinandpeace）です。

Openchainはブロックチェーンの親戚とも言うべき存在ですが、ブロックを持っていないこと、データベースとして遜色がない性能であること、企業などがそれぞれでインスタンスを管理することが前提になっている点で、ブロックチェーン自体とは一線を画すオープンソース・ソフトウェアです。Openchainにおいてはトランザクションをブロックにまとめることはせず、10分おきにビットコインのブロックチェーン（あるいは他のblockchains）に直接記録される仕組みで動いています。

Openchainのドキュメントにおいても「ブロックチェーンはトランザクションを取りまとめ、暗号ハッシュでリンクするデータ構造である」と説明されているため、やはりブロックチェーン自体はデータベースとは異なる概念であると言えそうです。

ブロックチェーンはトラストレスか

信用がいらない、あるいはトラストレス（trustless）という単語は、この世界ではよく使われていますが、そもそもトラストレスという言葉もなんだか曖昧なものです。ここではまず、トラストレスとは何を意味するものなのかを明らかにすることから始めたいと思います。

信用がいらないなどと言うと、「他人を信用できないなんて薄情なやつだ」と言われることがあるようですが、ここでの信用とは、社会システムとしての脆弱性、特定のエンティティが管理する上で避けられない単一障害点を信用するか否かが論点となります。

脆弱性 ＝ ヒューマンエラー、アプリケーションのバグ、悪意を持った利用者による攻撃への耐性

こうした脆弱性に対する信用は、ソフトウェアの世界において「trust as the vulnerability」と定義されており、システムを開発、運用する中央管理機関を信用するといった意味になります。

その点では、ビットコインのネットワークにおいても完全にトラストレスであるとは言えません。例えば、ビットコインウォレットの開発者を信用しなければなりません。ウォレットを動かすOSを信用しなければなりません。インターネットのプロバイダも信用しなければなりません。サービスを利用するなら、サービスの運営者もです。

また、プライベート型の分散型帳簿において、ユーザーはトランザクションの正しさに関して、そのネットワークを運営する中央管理機関を信用する必要が出てくるでしょう。

ブロックチェーンはあらゆる脆弱性に対する信用の必要性を最小化するソリューションですが、ブロックチェーンがトラストレスな仕組みであるということを論じるには、どの領域に対してトラストレスであるかを細分化して論じる必要があります。

ブロックチェーンは〇〇のインターネットか

本稿のこれまでの考察から、この問いに関しては明らかに違うと断言できます。

ブロックチェーンはトークンは必須ではなく、データベースではなくデータ構造であり、トラストレスも必須要件ではありません。単に技術概念で見れば、ブロックチェーンはやはりビットコインの目的のために作られたアーキテクチャであって、特定のエンティティを必要としないネットワークを構築するために必要不可欠な要素技術にすぎません。

あまりに多くの意味をブロックチェーンに持たせることは、この技術の発展にとっても危険であり、固定観念に囚われ何も実現できずに終わってしまう可能性も孕みます。

EthereumやEris、ColoredcoinやOpenchain、IPFS、mijin、Orbなどブロックチェーンを派生させた実装は今後も無数に分岐することになるでしょう。もし本当にブロックチェーンという技術の革新を信じるのであれば、ブロックチェーンという言葉で一緒くたにして説明するのではなく、違う言葉でビットコインのそれとそれ以外とで明確に分類したほうが混乱も少なくなるのではないでしょうか。

ブロックチェーンに関するリファレンス：BTCN - なぜ今ビットコインではなく、ブロックチェーンなのかHashingit - Blockchain, What Art Thou?コンセンサスベイス - 「ブロックチェーン」とは? 意味や定義の変遷次世代ブロックチェーン研究所 - ブロックチェーンにできること、できないことQiita - ブロックチェーンについての所感コインテレグラフ - ブロックチェーンでよくある7つの誤解