ニュース解説

動き始めたエンタープライズEthereum、連携を強化するHyperledger Fabric

「JPMコイン」や難民向け送金も、コンソーシアム型ブロックチェーン技術の最新動向

 プライベート型/コンソーシアム型ブロックチェーン技術Hyperledger FabricとエンタープライズEthereum(企業利用向けEthereum)が、お互いを意識した取り組みを始めている。両技術の最新像を取材した。

 最近、両技術をめぐって要注目の動きがあった。2018年10月1日、Enterprise Ethereum Alliance(EEA、Ethereumの企業利用を進める団体)とHyperledger Projectが提携したことだ(発表資料)。提携内容はお互いのメンバーシップを共有すること。例えばHyperledger Projectのメンバーは同時にEEAにもアソシエイトメンバーとして参加する形となる。

 Hyperledger Fabricを推進する立場の日本IBMの平山毅氏(ワトソン&クラウドプラットフォーム部 部長 コンサルティング・アーキテクト)はこの提携を聞いた時には「ついに来たなと思った」と語る。その背景として「Hyperledgerを検討する顧客は、だいたいEthereumも検討している」ことがある。

 EEAの日本での窓口役を務める石黒一明氏(クーガー チーフブロックチェーンアーキテクト)は「日本企業からの問い合わせは多い」と話す。多くの企業が、コンソーシアム型ブロックチェーン技術への取り組みにあたりHyperledger FabricとEthereumの両方に注目している。

 エンタープライズEthereumは、パブリックブロックチェーンであり仮想通貨であるEthereumと共通の技術を用いる点が特色だ。EEAでは、将来的にはパブリックEthereumとエンタープライズEthereumを連携させていく構想を持っている。注目したい動きとして、Ethereumの事業会社ConsenSysのお膝元である米国では、最近になって金融機関でのエンタープライズEthereumの利用事例が次々と登場しつつある。

 Hyperledger Fabricは、IBMを筆頭に日立製作所、NEC、富士通、アクセンチュア、NTTデータなど、日本市場で存在感がある大手ITベンダーが推進している。IBM、Oracle、Amazonがマネージドサービス(クラウドサービス)としても提供する。日本IBMの平山氏は、Hyperledger Fabricの優位性を「より複雑な仕組みに対応でき、実績が多く、IBMなど大手ITベンダーが面倒を見てくれる」と説明する。Hyperledger Fabricではコンソーシアム型ブロックチェーンの参加者ごとにデータの共有範囲を変更したり、ブロックチェーン本体とは別のデータベースに消去可能な情報を記録したりといった細かな要件に対応できる。

 ざっくり言って、企業利用のために高速でプライベート環境で動作するパーミッション型のブロックチェーンが必要な場合に、パブリックブロックチェーンのEthereumと共通の技術を使いたい場合にはエンタープライズEthereumを使い、大手ITベンダーによる支援を求めていたりデータのプライバシーの範囲を細かく設定したい場合にはHyperledger Fabricという使い分けになるだろう。

エンタープライズEthereumで「JPMコイン」を発行

 2019年に入ってから、米国の金融機関によるエンタープライズEthereumの取り組みが目立っている(関連記事)。

 米国の大手銀行J.P. Morganは米ドル連動型のデジタルコイン「JPMコイン」のテストに成功したと発表し、大きな話題となった(発表資料)。このJPMコインは同社が開発を進めるエンタープライズ向けEthereumクライアントQuorumを用いて構築した。

「JPMコイン」の構想

 このほかにも動きがある。米国の銀行Signature BankとtrueDigitalは100社以上の顧客を持つ決済プラットフォームSignetの準備を進めている。このSignetはプライベート環境でQuorumの派生版にあたる独自Ethereumクライアントを用いて立ち上げた。

 フィリピンで最大の銀行であるUnion Bankは、ConsenSysとAmazonが提供するクラウドサービスKaleidoを活用して決済ネットワークを構築した。南アフリカ準備銀行(SARB)とConsenSysは協力して、7行の商業銀行とSARBとの間の1日分の取引を2時間以内に完結させるシステムの実証実験を行った。いずれもプライベート環境のEthereumに基づく取り組みである。

Ethereumをシリア難民キャンプの人道支援に活用

 難民への人道支援のため、国連の食糧支援機関WFP(World Food Programme)はプライベート環境でEthereum技術を採用した「Building Blocks」と呼ぶシステムを開発した(関連記事1関連記事2関連記事3)。このシステムはパキスタンでPoC(実証実験)を行ったのち、ヨルダン北部にあるザータリ難民キャンプで実際に使われた。2018年10月までに10万人以上の人々が支援を受けた。

国連WFPは難民への人道支援のための送金システムBuilding BlocksをEthereumを用いて構築(画像はBuilding Blocksから引用)

 WFPのBuilding Blocksでは、パーミッション型ブロックチェーン技術により難民への直接送金を実現する。EthereumクライアントParityをプライベート環境でパーミッション型ブロックチェーンを構築するために使い、コンセンサスアルゴリズムとしてProof-of-Authority (PoA) を用いる。店舗用端末として、UNHCR(国連難民高等弁務官事務所)が英irisguard社の虹彩認証プラットフォームEyePayを用いて構築したシステムを利用する。スーパーマーケット店頭で生体認証により支払いを済ませられるようにした。難民は身分証明書もクレジットカードも持っていない場合があり、生体認証で日用品を購入できる仕組みは重要となる。

 難民支援にブロックチェーン技術を用いた大きな理由は、中間に介在する不確かさを排除できることだ。従来の人道支援では中間に多くの業者や国が介在していたことから、時間がかかり効率が悪かった。それだけでなく透明性にも問題があった。例えば中間に入る国の銀行やその従業員が信頼できるかどうか、難民支援を妨害していないかどうかが不確かだった。ブロックチェーンで直接送金し、生体認証により支払いを済ませる形とすれば、支援金がロスなく当事者に届く。また支援対象の地域経済に直接的に資金が行き渡る。WFPでは、ブロックチェーン活用の結果、手数料などのコストを98%削減できたとしている。

Fabricの有力事例、Food TrustとTrade Lens

Hyperledger Fabricについては多数の取り組み事例が報告されているので、今回の記事では簡単な紹介に留める。例えば日本国内での金融機関での実稼働事例として、アクセンチュアのフレームワークと共にHyperledger Fabricを用いたふくおかフィナンシャルグループ(ふくおかFG)の事例が登場している(関連記事)。

 日本IBMが紹介するHyperledger Fabricの有力な事例はFood TrustとTradeLensである。Food TrustはIBMと米Walmartとの取り組みから始まった食品トレーサビリティのシステムである。食品の生産からスーパーマーケット店頭までを追跡可能とする。例えば食品の回収が発生したときに威力を発揮する。一方、TradeLensは、IBMと海運大手のデンマークMaersk社が共同で推進。コンテナ船による国際貿易の物流を追跡し、事務処理コストを低減する目的のサービスだ。

Apache2.0ライセンスのEthereumクライアント登場

 企業にとって重要だが、意外と話題になっていない事が「どのオープンソースライセンスを採用しているか」である。表1に、主要ブロックチェーン技術のライセンスを記した。

ブロックチェーン技術が用いるオープンソースライセンス

 注目したいのは、Hyperledger Fabricは企業にとって使いやすいと言われるApache License2.0を適用していることだ。一方、今までのEthereumクライアント(Geth、Parity、Quorum)は企業にとって使いづらい部分があるとされるGPL v3.0を適用していた。最近、Apache License2.0を適用するEthereumクライアントPantheonが登場している。

 GPLはLinuxにも適用されている有力なライセンスだが、強い制約を組み込んだライセンスでもある。GPLでライセンスしたソフトウェアに基づく追加開発ソフトウェアは、同じGPLでオープンソースとして公開しなければならない。そのため個別案件ごとにカスタマイズが発生する企業利用には向かないとの考え方がある。一方、Hyperledger FabricやPantheonが採用するApache License2.0は制約が緩く、企業利用向けとされている。

 最近、Ethereumに取り組む事業会社ConsenSysのプロトコルエンジニアリングチームPegaSysは、エンタープライズ用途向けEthereumクライアントPantheonを開発した。2018年10月末に開発予定を発表し、2019年2月末にはリリース1.0.0を公開した。PahtheonはライセンスとしてApache License2.0を採用し、実装はJava言語を用いる。パーミッション型で利用でき、従来のPoAより高速なコンセンサスアルゴリズムIBFT2.0を搭載する。エンタープライズ用途を強く意識した仕様だ。

Hyperledger Fabricはバージョンによる違いが大きい

 Hyperledger Fabricの動向について、2019年2月19日に開かれた「Hyperledger Tokyo Meetup」での日立アメリカの大島 訓氏(Global Center for Social Innovation North America, R&D Division, Hitachi America, Ltd.)による講演内容を材料にお伝えしたい。

 最新版のHyperledger Fabricは、2019年1月にリリースされたv1.4である。v1.4はLTS(Long Term Support)バージョンとされているが、その意味は企業ユーザーが考える長期サポートとは異なり「リリース後の1年間はバグレポートを受け付ける」というものだ。

 一方、この2019年4月にはHyperledger Fabric v2.0の登場が予定されている。今までのバージョンとの互換性は断ち切られる見込みだ。

 Hyperledger Fabricは、バージョンによる機能の違いが非常に大きい。v0.6とv1.0はコンセンサスアルゴリズムが大幅に変わり、機能上の変更も大きかった。さらにv2.0ではプログラミングモデルの変更が予定されている。今までのHyperledger Fabricは送金や決済のような仮想通貨的な機能は標準機能には含めていなかったが、v2.0では「コイン」機能が入る予定だ。

2019年2月13日開催の「Blockchain EXE #16」より(日本IBM平山氏のスライド16ページを引用)

 Hyperledger Fabricのバージョンアップは活発だ。v1.0からv1.4までのバージョンアップが3カ月間隔で行われている。これは多くの開発努力が投入されているという点ではポジティブな話だが、実際に企業情報システムに導入する場合には開発と保守のライフサイクルとどのように折り合いを付けるかという課題が発生する。

 例えば、Fabric v0.6の時点ではスマートコントラクト(チェーンコード)の開発言語はGo言語だった。その後Java言語サポートが加わった。Fabric v1.4では高レベルAPIはNode.jsから先に提供する。つまり現時点ではFabricの最新機能を活用するには、GoでもJavaでもなくNode.jsを使う形となる。フレームワークの開発言語という基本的な仕様がどんどん変わっているのである。

 「Node.jsはマイクロサービス開発にも向いている。今後のサーバー環境では主流になるだろう」と前出の日本IBM平山氏は話している。日立アメリカの大島氏によれば、FabricをターゲットとしたNode.jsベースの開発環境Hyperledger Composerのプロジェクトが「事実上解散」となったことから、そのチームがFabricに流れ込んでNode.jsによる高レベルAPIを構築したという流れのようだ。

 各バージョンのサポート期間の短さも気になるポイントだ。前述したFabric v1.4 LTSはサポート期間を長めにとったバージョンだが、それでも1年でバグレポート受け付けが止まってしまう。通常の企業情報システムのライフサイクルは数年間は使い続ける前提である。公式のオープンソースプロジェクトに頼れない場合には、誰かがサポートを継続する必要がある。現時点でのHyperledger Fabricを実稼働させて数年間使い続けるシステムに組み込む場合、サポートできるベンダーは限られるかもしれない。ここで別の考え方として「ベンダーが提供するマネージドサービスを用いるやり方がある」と日本IBMの平山氏は指摘する。例えばIBMが提供するクラウドサービス型のHyperledger Fabricを利用する形態である。いずれにしても、Hyperledger Fabricの本格導入では大手ITベンダーの支援が前提となるのではないかとの予感がある。

Hyperledger Fabric上でSolidityでDAppsを開発

 HyperledgerプロジェクトとEthereumとの間では、技術的な連携の試みが始まっている。

 興味深いのは、Ethereumのプログラム実行環境EVM(Ethereum Virtual Machine)をHyperledger Fabricに持ち込む動きだ(関連記事)。この目的のための成果物としてHyperledger Fabric EVM chaincode(evmcc)が登場している。従来から活動を続けていたHyperledger Burrowプロジェクト(EVMの実装)の成果をFabricと統合したものだ。

 Hyperledger Fabric EVM chaincode(evmcc)を使うと、Ethereumのスマートコントラクトを書くためのSolidity言語を使いFabricのスマートコントラクト(Fabricの用語ではチェーンコード)を書くことができる。また、EthereumのWeb3インタフェース(Ethereum JSON RPC API)のサブセット版のライブラリ「Fab3」も提供する。Ethereumの開発者文化を、部分的にではあってもHyperledger Fabricに持ち込む動きといえる。うまくいけばEthereumコントラクト開発の技術を習得したソフトウェア開発者をHyperledger Fabricのチェーンコード開発者として転用できる可能性がある。

 以上、エンタープライズEthereumとHyperledger Fabricの両技術が接近している様子を説明してきた。現状では両者は大きく性格が異なる技術だが、コミュニティ面、技術面での交流が進みつつある。また、パブリック版のEthereumも大きなアップグレードを予定している。近い将来、両者の関係は大きく変わってくる可能性があるだろう。

 パブリックブロックチェーンの動向とは別に、ブロックチェーン技術に基づく情報システムを検討する企業にとってはコンソーシアム型ブロックチェーン技術の動向も要注目といえるだろう。