サムネイル画像

Mar 15, 2018

ブロックチェーンの全体像を掴むための2つのレイヤー観|BlockchainInsight

サムネイル画像
GincoMagazine編集部
アイキャッチ画像

この記事のポイント

  • 一般的なブロックチェーンの話題はいったん「技術開発」「ビジネス・事業」「政治・規制」「市況・投資」のどこに属する話題かを考えてみましょう。
  • 専門的なブロックチェーンの話題は「OSI参照モデル」のように階層化し、どのレイヤーについての話題かを考えましょう。
  • 現在ブロックチェーンについて議論が盛んになっているのが、ビジネス領域からの要請と開発領域での課題解決とがぶつかる「スケーリング」の領域です。

はじめに

2017年、仮想通貨に世間の注目が集まるようになって以来、多くのメディア・コンテンツで仮想通貨やブロックチェーンの情報が発信されるようになりました。

しかし、それらの情報を集めれば集めるほど、自分の理解が追いつかなくなるような感覚に陥ったことはありませんか。

一般論ですが、全く未知の情報にキャッチアップしようとするとき、私たちが真っ先にするべきなのは「頭の中を整理する棚を作ること」です。

ネットワーク・通信プロトコルの世界における「OSI参照モデル」などはまさにこういった整理棚の1つです。

この記事では、ブロックチェーン・仮想通貨というテーマについて、少しでもたくさんの人と、正しく情報を交換し、共通の前提のもと議論を行えるように、みなさん一人ひとりの頭のなかに「ブロックチェーン業界を理解するための整理棚」を作っていきたいと思います。

尚、この記事では「ブロックチェーン」という言葉を「仮想通貨を含む分散型アプリケーションの基盤となるP2Pネットワーク技術体系」として説明していきます。ノード内の共有データという「狭義のブロックチェーン」とは区別してご理解ください。

ブロックチェーン環境は4つのレイヤーに分けて考えることができる

ブロックチェーンは急に注目を集めはじめた新興の事業領域ですが、それにもかかわらず「お金の流れ」「情報通信の在り方」といった世の中全体に影響を及ぼすポテンシャルを持っています。

そのため、仮想通貨やブロックチェーンにまつわる情報を読み解こうとすると、以下の問題に直面します。

・取り巻くプレイヤーが多いこと(Whoの問題)
・関係する領域が多岐にわたること(Whereの問題)
・それぞれのポジショントークが入り交じること(Whyの問題)
・バラバラの話題が同じように取り上げられること(Whatの問題)

そこで、まずこれらの問題を大きく4つの階層で整理して、ブロックチェーンについてのトピックをカテゴライズしてみましょう。

ブロックチェーン環境の全体構造

市況・投資領域(Observation Layer)

この領域のプレイヤーは、ブロックチェーン環境を眺めて楽しんだり、投資やトレードなどで利益を出そうと考えています。

そのため表面的な相場変動についての情報や、新規性のない情報が入り混じる傾向にあります。また、投資を煽るような情報も多く、本質的な理解を助ける情報を手に入れにくい傾向にあります。

ただ、最新のDappsやICOに関する情報などユーザー目線に近いところで情報が出回るため、キャッチーな話題を追いかける上では重要な領域でもあります。

政治・規制領域(Regulation Layer)

この領域のプレイヤーは、ブロックチェーン環境の外部から、いかにブロックチェーンをコントロールするかを考えています。

拡大する産業だと考えて積極的に応援する立場もあれば、既存のビジネスを脅かす存在として規制を強化する立場もあり、ポジショントークが入り乱れます。

この領域のプレイヤーは、従来の価値観を大事にしている、既存の産業や経済界のステークホルダーであるなどの動機を持っていることが多く、ブロックチェーンによるイノベーションと現在の社会との調整を図ろうとします。

また、ブロックチェーンについて理解していない人であっても意見しやすい領域のため、専門性の高くない一般的なメディアなどでも取り上げられがちです。国内のニュースで目にするのはこの領域の情報がほとんどではないでしょうか。

ビジネス・事業領域(Business Layer)

この領域のプレイヤーは、既存の事業者や新たにブロックチェーンを活用したビジネスを立ち上げようとしている起業家たちです。

彼らは事業としてブロックチェーンを活用することを考えており、ブロックチェーン技術を現実的なビジネスモデルの中に組み込んで、いかに収益をあげるかを考えています。

ブロックチェーン自体が既存のサーバ・クライアント型のネットワークに対するイノベーションのため、たくさんのビジネスアイデアが生み出されていますが、それらの多くはプロトコルの根幹にアプローチするものではありません。

この領域ではサービスやアプリケーションをどうブロックチェーン上で展開するかがテーマになります。

技術開発領域(Protocol Layer)

この領域のプレイヤーは、主にブロックチェーンテクノロジーを牽引する開発者です。

彼らが解決しようとするのは、ブロックチェーンシステム上の改善点やプロトコルの改良点です。

また、この領域には「隣り合うビジネス領域で活用されることを目指す力学」と「ギークな開発者たちの理想実現の力学」とがあり、「スケーリングと耐改ざん性」や「ボラティリティ対策と非中央集権化」のようなアンビバレントな問題が議論される傾向にあります。

ブロックチェーン環境全体を切り分ける4階層

ここまで、4つのレイヤーを用いてブロックチェーン環境全体を切り分けてきました。

全体として、客観的(Objective)にブロックチェーン環境を取り巻くプレイヤーの情報ほどキャッチーで分かりやすく、主体的(Subjective)にブロックチェーン環境に取り組むプレイヤーの情報ほど専門性が高く難解になりがちな傾向にあります。

これは、初心者が「ブロックチェーンの投資は面白いけど、技術は難しい、分からない」と感じてしまう原因にもなっています。

ブロックチェーンに対する理解を深めるための第一歩は、自分が読み取っている情報が「どのプレイヤーが、どこのレイヤーの、どの程度専門的な情報なのか」を冷静に整理し、少しずつコアな領域に踏み込んでいくことだと思います。

それでは次に、最も理解しづらい技術開発領域をざっくりと把握するためのレイヤー構造をまとめてみましょう。

技術開発領域を階層化することで、「今、何が課題か」が見えてくる

Satoshi Nakamotoによって提示されたビットコインのブロックチェーンは、「二者間での支払いを、第三者のトラストに依拠せず、暗号的証明によって可能にする技術」を実現するための分散台帳システムでした。

その中でも革新的だった発明はコンセンサスアルゴリズム、PoWです。

台帳を全ノード間で単一に維持しつつ改ざんを防ぐこのプロトコルを核に、多くの開発者たちがブロックチェーンを拡張・改良し続けてきました。

そうして出来上がった現在のブロックチェーン環境は、以下のような階層構造を持っています。

プロトコルレイヤーの構造

以下では、技術体系として核になる下層レイヤーから順に説明を行います。

Layer0:P2P Protocol層

この階層では、ノード間の基本的な通信、トランザクション、ブロックの伝播がプロトコルで規定されています。

汎用のP2Pネットワーク内の通信プロトコルが用いられている一般的な領域ですから、そこまで特殊な技術はほとんどありません。

また、この階層から上に位置するブロックチェーンの技術は、基本的にOSI参照モデルにおけるアプリケーション層にあることも念頭に置いておいてください。

Layer1:Consensus Protocol層

この階層では、ブロックチェーンの根幹を成す「合意形成の仕組み」、コンセンサスアルゴリズムが定義されます。

PoWやPoSなどのコンセンサスアルゴリズムの決定、また、それらの詳細として「ブロックサイズ」「ブロック作成時間」「総発行量」「マイナーの役割」などがこの領域のプロトコルで規定されています。

Ethereumが普及するまで、「ブロックチェーンの革新性」を語る際には、このレイヤーまでの技術的優位性が取り上げられることがほとんどでした。

「ゼロダウンタイム」や「トラストレス」といった特徴は、主にこのレイヤーの技術によるものだと考えてください。

Layer1.5:Virtual Machine層

Layer1までの技術では、ブロックチェーンはあくまでも「電卓兼共有台帳」にすぎませんでした。これを一気にアップデートしたのがVitalik Buterinの提唱したEthereumです。

ブロックチェーンを1つの仮想マシンと考え、「スマートコントラクト」というかたちで、ブロックチェーン上にプログラムを記述するアイデアを打ち出したEthereumは、ブロックチェーンに大きな拡張性をもたらしました。

Bitcoinにも小規模ながらScriptを書き込む領域はあったのですが、EthereumはSolidityというチューリング完全なプログラミング言語から開発を行い、ブロックチェーンをどんなプログラムでも実行できる”World Computer”に進化させてきたのです。

Layer2.0:Data Scaling層

データベースとプログラム領域を備えたことで「仮想マシン」としてのブロックチェーンが生まれたのですが、そのマシンの処理能力はLayer1.0〜1.5までのプロトコルによって大きく制限されてしまいます。

世界中でプログラムを実行する共用仮想マシンとしての処理能力をブロックチェーンに持たせるには、ブロックチェーン上で扱えるデータの総量を拡張しなければいけません。

これがいわゆる「スケーラビリティ問題」です。

ところが、Layer1.0〜1.5の階層で定義された基幹システムを大きく変えてしまっては、別のシステム体系になってしまいます。2017年に起きたビットコインのハードフォークも、スケーラビリティ問題をLayer1.0まで遡ってブロックサイズを変更することで発生したものです。

そのため、ブロックチェーン上のデータ規模を、このレイヤー内で拡張するためのアイデア(BitcoinのLightningNetworkや、EthereumのPlasmaなど)がいくつも提案され、開発・検証が行われているのです。

また、コア開発者が本格的に開発を行うのはおよそこのLayer2.0までで、それ以上のレイヤーでは出資やアドバイザリーといったかたちで開発支援を行うことがほとんどです。

Layer2.5:Machine Scaling層

さて、ここで「仮想マシン」の処理能力がひとまず実用レベルになったと仮定しましょう。

このとき、このマシン上で何らかのサービスが展開されるようになるためには、OSが保証するような基本機能を実装する必要があります。

例えば、「ファイル/データ管理」については、ブロックチェーンを用いて分散的に大容量のデータを保存・活用するための機能が必要です。

また「スマートオラクル」と言われる「現実世界で発生した情報を分散的にブロックチェーンに取り込む機能」は、「共用仮想マシンへ、誰がどのように情報をインプットするのか」という問題へのアプローチです。

さらに、メッセージングなども、共用の仮想マシンを多人数で使う上で必要なコミュニケーション機能です。

このように「みんなでブロックチェーンという仮想マシンを扱っていくためのOS的機能の開発」が現在Layer2.5で行われています。

Layer3.0:Basement Dapps層

こうしてブロックチェーン環境が整備されてくると、いくつものサービスが生まれる土壌が出来上がってきます。

すると、複数のサービスが参照するようなデフォルトアプリケーションが必要とされはじめます。例えば、サービス間で共通のIDを利用するプロトコルや、サービス間のトークン交換を行うプロトコルといったものがこれにあたります。

Layer2.0〜2.5について解決の糸口が見え始めてきたために、表層のアプリケーションが参照するレイヤーで利用者を獲得しようと、いくつもの基盤Dappsが生まれているのです。

Layer4.0:Service Dapps層

このレイヤーでは、従来のアプリケーションと同様に、ユーザーが直接使うサービス、ゲーム、プラットフォームが開発されています。

中央集権的な管理者がおらず、コストが小さくてすむブロックチェーン環境の特徴を活かして、個人の開発者やスタートアップ企業が沢山のアプリケーションをこの層でリリースしようとしています。

以上の、レイヤー構造をもう少し視覚的にイメージ化してみましょう。

プロトコルレイヤーのイメージ図

このような円錐型の環境で下から順に、レイヤーが折り重なっています。

ここから、さらに具体的にイメージを持つため、Ethereumの開発プロジェクトを具体的に配置したのが以下の図です。

Ethereumを例にしたブロックチェーンのレイヤーイメージ

プロトコルレイヤーの具体例

Ethereumでは、現時点で既にConsensus Protocolやスマートコントラクトに関するVirtual Machineは大まかに仕様が確定しつつあり、Layer1.5まではかなり開発が進んでいます。Serenityという大型アップデートを残すのみという状態ですね。

一方で、Layer2.0〜2.5の領域でスケーリング課題を解決する必要に迫られています。

これを解決するためのアプローチとして、Sharding(ノードの区分化)や、オフチェーンでブロックの内容を簡略化するマイクロペイメントチャネルがあります。

Ethereumにおける具体的な取り組みとしては「Plasma」や「μRaiden」といったプロジェクトが議論の中心にあります。

更に”World Computer”を動かしていくためのキー技術それぞれに複数のプロジェクトが立ち上がっています。

オラクル(情報インプット)では「Augur」や「Gnosis」が、ファイルストレージ(データ保存・活用)では「swarm」や「Storj」など、メッセージングでは「status」などが有力なプロジェクトでしょう。

これらのプロジェクトはICOで注目を集めることが多く「仮想通貨プロジェクト」として理解されがちですが、実際はブロックチェーンのエコシステムに貢献するプロトコルであって、通貨型のトークンも報酬系の設計と開発資金の調達のために組み込まれたものです。

Basement Dapps層では、1層上のService Dappsが普及した世界を見越してプラットフォーム的に使われるサービスが増えてきました。特にトークン両替を自動化するDEXはここ半年でたくさんのプロジェクトが発足しています。「0x」や「KyberNetwork」がこれにあたります。

さらにその上で、現在でも利用可能なブロックチェーンの技術を活用したゲームDappsやギャンブリングDappsがどんどん生まれています。ポケモンライクな育成ゲーム「Etheremon」やバーチャルワールドゲーム「Decentraland」もこの層にあります。

また、DEXでもプロトコルレベルで開放されていない「EtherDelta」などはこの層にいると言えるでしょう。

まとめ

ここまで説明してきたとおり、Ethereumのプロトコルレイヤーだけを切り出しても、これだけのプレイヤーと思惑が存在しており、情報を整理するのはなかなか難しいと思います。

ただ、以下のポイントを押さえておくだけで、ブロックチェーンの情報を概観できるようになるはずです。

①ブロックチェーンを取り巻く環境には大きく分けて4つの領域がある

ブロックチェーン環境の全体構造

市況・投資領域:投資家や好事家が、仮想通貨環境を実況する

政治・規制領域:政治家やオーソリティが、環境をコントロールしようとする

ビジネス・事業領域:企業や起業家が、事業を構築する

技術開発領域:開発者が、プログラムの改良・拡張を行う

このようにプレイヤーの立場と行動原理を理解することで、ブロックチェーン環境の全体像を掴んでいけるかと思います。

②ブロックチェーンのプロトコル領域は階層化して考えられる

プロトコルレイヤーの構造

ブロックチェーンは分散型のエコシステムのため、単一のプレイヤーが全ての方向性を決定したり体系的にとりまとめることはありません。しかし、技術体系であるかぎり基盤の領域から拡張されていく流れがあります。

その流れの上で、「次に必要となる技術を見越して開発を先取りするプレイヤー」と「既に確立された技術を用いてサービスを立ち上げるプレイヤー」とが、各階層に参入して競い合っているのです。

また、ブロックチェーン環境に中央集権的な意思決定機関はありませんから、1つの課題に対して、多くのプレイヤーが自分たちなりのソリューションを提示しています。

これらを大きく7つの階層で区分して「誰が、どのような課題を、どのような技術で解決しようとしているか」を整理することで、技術領域のトピックを理解できるようになっていきます。

③ブロックチェーンの中心的な議論は、技術開発とビジネス実用との折衝点で起こっている

現在、スケーリングの問題がブロックチェーン界隈の中心的な話題となっている理由は、それ以下の階層で技術基盤が構築されてきたからです。

そして今後、この問題が解決されればさらに上層の「オラクル」や「ファイル管理」の領域でさらなる議論が起こるでしょう。

プロトコルレイヤーの力学

上の図のように、技術開発とビジネス実用とが衝突するポイントで常に議論が起こり、新しいアイデアや技術が発表されているのです。

この力学を理解して、衝突点を注視することで、ブロックチェーンの先端トレンドを追いかけることが可能になるでしょう。

さいごに

ここまでブロックチェーンの世界観に一本の縦軸を通して、レイヤーで構造化してきました。

この記事を読んで「いまブロックチェーンが、OSI参照モデルが提言される前のインターネット黎明期(1980年代頃)と同様の段階に来ている」という感想を持った方も多いのではないでしょうか。

正直なところ今回のまとめも「完成形」とはいえず、まだまだ改良の余地を残していると思います。

ただし”分散型”のブロックチェーンエコシステムにおける知識体系は、多くの方がある程度共通の知識をもとに議論を重ねていくことで、まとまっていくものです。

この記事がブロックチェーンという技術について、少しでも多くの方に議論に加わってもらうための出発点になれば幸いです。

【参考資料】
Ethereum公式サイト
Ethereum 日本語版WhitePaper
On Silos:Vitalik Buterin

\ ご質問・ご相談はこちらから! / Gincoに問い合わせてみる
サムネイル画像
この記事を書いたライター GincoMagazine編集部
ライター紹介
PAGE TOP