36Kr:分散型アプリケーション開発のハードルを下げ、ArcBlock はブロックチェーンを 3.0 時代へ導こうとしている

著者: 卢晓明
メディア: 36 氪
日付: 2018 年 1 月 8 日
創業者の冒志鸿は、ビットコインと ICO を除けば、現在本当に成功しているブロックチェーンアプリケーションはほとんどないと考えている。

2017 年、ビットコインと ICO(Initial Coin Offering、初回コイン提供)の熱狂は最終的に規制当局の介入を招いた。しかし、規制当局が禁止したのではなく、むしろ大きく後押ししているのは、両者の基盤であるブロックチェーン技術だ。今年下半期には、ブロックチェーン分野の資金調達案件が明らかに増えた。
ブロックチェーン技術はかつて風口に乗った豚のように持ち上げられたが、実装先の不足から強い議論も呼んだ。その後、越境決済などの実用シーンが徐々に現れ、国際銀行、アリババ、テンセントなどの大手も参入し、この話はようやく少し現実味を帯びてきた。
語られる物語は魅力的だが、実装シーンは魅力に乏しい。ブロックチェーンプロジェクトが徐々に実装されつつあるとはいえ、用途は限られている。ビットコインの基盤技術として、ブロックチェーンの現実世界での応用は、ビットコインが描く理想ほど「偉大」ではない。オフラインの製品や企業の資産はどれも実体を持つものであり、ビットコインなどの仮想資産ではない。ブロックチェーンは、入力されたその瞬間における前者の情報が本当に正しいかどうかまでは保証できない。
ブロックチェーンアプリケーションの実装が直面する困難
ブロックチェーンエコシステムプラットフォーム ArcBlock の創業者である冒志鸿は、ビットコインと ICO を除けば、現在本当に成功しているブロックチェーンアプリケーションはほとんどないと考えている。彼は、成功するブロックチェーンの分散型アプリケーションを作るには、現在 5 つの大きな困難があると言う。
1つ目、性能が低いこと。ビットコインのブロックチェーンは秒間 7 件のトランザクション処理を前提に設計されており、イーサリアムでも秒間数十件しか処理できない。2017 年 12 月初旬には、単純な「イーサ猫」(CryptoKitties)ゲームがイーサリアム(Ethereum)ネットワークの大規模な混雑を引き起こし、取引手数料(gas)を急騰させた。適格な消費者向けアプリケーションは、数千万単位の日次アクティブユーザーを処理できなければならないため、ブロックチェーン以外のアプリケーションに競争力はほとんどない。

CryptoKitties
2つ目、C エンドユーザーの利用ハードルが高いこと。ほぼすべてのブロックチェーンアプリケーションは、利用するためにユーザー自身のコンピュータで「ノード」、少なくとも「ライトノード」を動かす必要がある。学習と利用のコストが高いため、ほとんどのブロックチェーンアプリケーションは極客の範囲にとどまっている。「イーサ猫」はすでにユーザーに比較的やさしい分散型ブロックチェーンアプリケーションだが、それでもユーザーはブラウザに Metamask というライトウォレットのプラグインをインストールする必要があり、さらにイーサをどうやって買うかも知っていなければならない。普及を実現するには、ブロックチェーンアプリケーションはユーザーのハードルを下げ、ユーザーがブロックチェーンの存在を意識しないようにしなければならない。
3つ目、コストが高いこと。ブロックチェーンでは取引ごとに手数料がかかるように、今日のブロックチェーン利用コストは非常に高く、開発者が無料アプリケーションを作る意欲をそぎ、ブロックチェーンアプリケーションの普及も妨げている。ブロックチェーン技術はインターネットのように無料アプリケーションを支援すべきであり、開発者や企業は各操作に課金するのではなく、革新的なアプリケーションを提供することで収益を得るべきだ。
4つ目、プラットフォームの「ロックイン」リスク。開発者は最初からどのブロックチェーン技術を採用するかという難しい選択に直面し、アプリケーションの設計とコードは下層プラットフォームに「ロック」され、将来的に変更しにくく、複数の異なる下層チェーン技術を同時にサポートして最適なユーザー体験を提供することもできない。
5つ目、機能の乏しさ。風口で長く持ち上げられてきたにもかかわらず、ブロックチェーンが現在実装できているシーンは限られており、実現できる機能も多くない。
冒志鸿は、ブロックチェーンプロトコルの特徴のひとつはフォークしやすいことだと考えている。最近はさまざまな動機からブロックチェーンをハードフォークする現象が相次いでいる。しかし、こうしたハードフォークがブロックチェーンの機能に与える貢献は小さい一方で、計算資源を分散させ、ユーザーコミュニティを分断してしまう。今日のさまざまなブロックチェーンシステムにおける内在的なインセンティブ設計は、人々がチェーン技術や特性に貢献することを促していない。
ArcBlock が開発ハードルを下げるプラットフォームを提供
冒志鸿は、彼が創業した ArcBlock は分散型アプリケーションの開発・デプロイプラットフォームであり、開発者のハードルを下げ、上記の困難を減らせると考えている。ArcBlock は PaaS プラットフォームに似ており、分散型ブロックチェーンアプリケーション向けの開発フレームワークを構築している。開発者はその上のツールを使って、自身で開発した機能モジュールを開発・共有できる。開発者がプラットフォーム上のリソースを使うには、トークンを支払う必要がある。
ArcBlock プラットフォームの中核コンポーネントと体系には、分散型アクセスプロトコル(クラウドノード)、オープンチェーンアクセスプロトコル、基石プログラムと構成要素(Blocklet Components)、そしてトークノミクスのサービス体系が含まれる。

ArcBlock の高レベル概要アーキテクチャ図
クラウドノードは、ユーザー利用のハードルが高いという問題を下げられる。 この設計では、一組のクラウドサービスをひとつの「ノード」として扱う。同時に、スマートフォンとクラウドサービスが論理的にはひとつのノード群を形成する。このフレームワークでは、クラウドとデバイスの関係はリクエストではなく同期の構造になる。そうすることで、ユーザーはオフラインでも動作でき、同期は後から行える。「実際、一台のコンピュータも CPU、バス、メモリ、外部ストレージ、ネットワークインターフェースなどの内部接続された部品が箱の中で組み合わさって動いている。本質は同じで、ただ各部品の分布と通信方式が異なるだけだ。」
これは、ここでいう「ノード」が物理デバイスを指すのではなく、ユーザーのデバイス自体はチェーン上にないことを意味する。似た構造の表示アプリケーションとして、C エンドで比較的なじみがあるのはビットコイン取引所のウォレットだ。実際には取引所の総合口座だけがチェーン上にあり、ユーザーがコインを引き出して初めて自分のウォレットに入る。これまで、こうした構造は自前で構築する必要があったが、今では開発コストが下がった。
オープンチェーンアクセスプロトコルは、異なるブロックチェーンプロトコルに適応できる。 これにはビットコインのブロックチェーン(Bitcoin)、イーサリアム(Ethereum)、Hyperledger などが含まれる。冒志鸿は、ArcBlock 上で開発された製品の大半はどのチェーンにも載せられ、アプリケーションシステムは下層チェーンに縛られないと述べている。
彼はデータベースの例を使って、このような技術をどう実現するかを説明してくれた。ほとんどすべてのデータベースの下層が MySQL 言語であるのと同じように、さまざまなチェーンもブロックチェーン技術を使っており、似た構造を持っている。ArcBlock はこうした汎用的な構造を対象にオープンチェーンアクセスプロトコルを設計しているため、あるプロジェクトが特定チェーン固有の技術を使う場合、その部分のサービスは引き続きそのブロックチェーン上に固定する必要がある。それでも、このプロトコルによって、他のサービスは別のチェーンや自前のパブリックチェーンに置くことができる。つまり、オープンチェーンアクセスプロトコルを使えば、同じアプリケーションをクロスチェーンでデプロイすることも可能だ。
このプロトコルは大きくオープンチェーンアクセス層とチェーンアダプタの 2 部分に分けられ、オープンチェーンアクセス層は異なるプロトコルのブロックチェーンにアクセスするための高レベルな共通 API 一式を定義し、その下層のチェーンアダプタが異なるブロックチェーンプロトコルを支える。「開発者がチェーンアダプタを作れれば、どんなチェーンにも適応できる。」と冒志鸿は述べている。オープンチェーンアクセスプロトコルは MIT ライセンスのオープンソース方式で公開され、チェーンアダプタはコミュニティメンバーが自らプロトコルに従って開発・改良でき、さらにそれらのユーザー生成チェーンアダプタはアプリマーケットで公開して他者が利用できる。
基石プログラム(Blocklet)は、さまざまなアプリケーションを実行するサーバーレス計算アーキテクチャのコンポーネントであり、 ArcBlock プラットフォームの中核基盤でもある。プラットフォーム自体が一連の Blocklet から構成されている。ArcBlock のオープンチェーンアクセスプロトコルによって Blocklet はブロックチェーンと通信でき、クラウドノードによって Blocklet はユーザーのブラウザや App と通信できる。
Blocklet コンポーネントとは、あらかじめ設計され、再利用可能な Blocklet の集合のことだ。開発者は Blocklet を使って、ブロックチェーン上のスマートコントラクト(smart contract)、外部トランザクショントリガー(oracle)、ファイルやデータベースなどの外部リソースへのアクセス、そしてチェーンと完全に無関係な業務ロジックを実現できる。これによって、チェーン上(on-chain)と非チェーン上(off-chain)のコンポーネントを通信させられる。冒志鸿は、分散型アプリケーションのコストが高い一因は、すべてのデータをチェーン上に保存・デプロイしてしまうことにあると考えている。実際には、すべてのサービスをブロックチェーンで完結させる必要はない。将来的には、on-chain と off-chain を組み合わせたアーキテクチャによってコストを下げ、取引の混雑によるブロックチェーンの性能低下も減らせる。

最後に、コンポーネントのアプリマーケットとトークノミクスはプラットフォームの内在的なインセンティブ機構である。 開発者は自分が開発したモジュール、サービス、パブリックチェーン、さらにはアプリケーションまで市場に置くことができ、それらのサービスが他の開発者に使われると、所有者はトークン報酬を得る。冒志鸿は、こうした枠組みが分散型アプリケーション開発のハードルを下げ、インセンティブ機構も加わることで、より多くの人がアプリを開発する際にブロックチェーンを使うようになり、関連機能が豊かになると信じている。トークン発行について、冒志鸿はトークンは基金会が専任で管理し、将来的にどのように発行するかを発表すると述べている。
ブロックチェーン 3.0 時代のアプリはオンチェーンとオフチェーンの組み合わせになる
このようなシステムは、非常に大きなエコシステムに聞こえる。開発者の数がプラットフォームの将来性に影響するが、今のところ同様のことを目指しているのはブロックチェーンブラウザ BlockStack もある。冒志鸿は、このようなプラットフォームの誕生はブロックチェーン 3.0 時代に入る必然的な結果だと考えている。ブロックチェーンの発展史を振り返ると、全体の流れはブロックチェーン技術の応用範囲が絶えず拡大してきたことだとわかる。1.0 時代の象徴はビットコインの誕生であり、これは高度にカスタマイズされたブロックチェーンだった。2.0 時代はイーサリアムで、ブロックチェーンに初歩的なエコシステムの原型ができたが、まだ極客の範囲にとどまっていた。3.0 時代はオンチェーンとオフチェーンの組み合わせとなり、分散型アプリケーションがより一般的になる。

ArcBlock がまとめたブロックチェーン技術の進化ロードマップ
会社創業者の冒志鸿は 2007 年から 2010 年までマイクロソフトヨーロッパで勤務し、2010 年から 2012 年まではマイクロソフト米国研究院 FUSE Labs(未来ソーシャル体験ラボ、現 AI Labs)でソーシャルコンピューティング(Social Computing)と機械学習の研究に従事した。2013 年にマイクロソフト研究院を離れて起業し、モバイルストーリー制作プラットフォーム Pixotale、人工知能支援の知識協働サービスシステム CrossCourse を相次いで立ち上げた。
チーフサイエンティストの Flavien Charlon は 2007 年にマイクロソフトヨーロッパのグローバル製品開発センターに加入し、Windows Azure、Bing など複数の重要製品のコア開発を担当した。彼は「カラーコイン」(Colored Coin)の主要な創始者であり、Open Assets Protocol や Openchain などのプロジェクトを立ち上げた。
現在、ArcBlock のチームは約 30 人だ。ArcBlock プラットフォームは 2017 年初頭には設計の検討が始まり、開発に着手しており、現在第 1 期システムの 80% がすでに開発完了している。同時に IT、教育、出版、文化観光、ヘルスケア、スマートシティなどの分野の企業、プラットフォーム、機関と初歩的な協力関係を結んでいる。ArcBlock は昨年 11 月末にエンジェルラウンドの投資を獲得した。会社はまもなくトークンのプレセールを開始し、システムは 4 月から 5 月ごろの公開を予定している。
