概要を知りたい人ための全Hyperledger分散台帳プロジェクトまとめ

概要を知りたい人ための全Hyperledger分散台帳プロジェクトまとめ

はじめに

エンタープライズ向けブロックチェーンのプラットフォームとして、「Hyperledger」は世界有数のコミュニティです。本記事では、Hyperledgerコミュニティの概要や参加企業、Hyperledgerが提供しているフレームワーク(Distributed Ledgers)をそれぞれ紹介していきます。

Hyperledgerとは?

2016年に発足したHyperledgerは「The Linux Foundation」がサポートするプロジェクトです。Hyperledgerではエンタープライズ向けのパーミッション型(許可型)ブロックチェーンを構築するためのフレームワークやツールセット、ライブラリなどが公開されています。いずれもオープンソースであり、モジュール型で開発が進められています。

https://www.hyperledger.org/

それぞれのプロジェクトは開発段階に応じてステータスが「Proposal」「Incubation」「Active」に分かれており、2019年10月末の時点では以下の4つのフレームワークがActiveになっています(その他はすべてIncubation)。

  • Hyperledger Fabric
  • Hyperledger Iroha
  • Hyperledger Indy
  • Hyperledger Sawtooth

Hyperledgerの参加企業

Hyperledgerコミュニティには250以上の企業・団体が会員として参画しており、「IBM」「Accenture」「Intel」「Microsoft」「百度(Baidu)」「イェール大学」などが名を連ねています。

参考:Members

The Linux Foundationとは?

HyperledgerをサポートするThe Linux Foundationは、複数の企業・団体がオープンソースソフトウェア(OSS)を共同研究・開発するための体制や技術インフラなどを提供し、OSSプロジェクトをサポートする非営利組織です。

Hyperledgerの各フレームワーク紹介

Hyperledgerプロジェクトの下で開発されているフレームワークを紹介していきます。

もっとも普及しているHyperledger Fabric

「Hyperledger Fabric」は、Hyperledgerの中でもっとも普及しているエンタープライズ向けブロックチェーンのフレームワークです。IBMが開発を主導しており、企業利用に耐え得るスループット(単位時間当たりの処理能力)とプライバシーを備えています。

Fabricでは、JavaやGo、Node.jsなどの汎用プログラミング言語でスマートコントラクトを記述できるため、イーサリアムのように独自言語を学ぶ必要はありません。また、モジュール化されたアーキテクチャを備えており、ユーザーIDの発行や認証、スマートコントラクトの開発・実行などの機能が提供されています。

参考:Introduction(Hyperledger Fabric)

なお、Fabricについては以下の記事でさらに解説しています。

日本企業が主導するモバイル向けソリューションHyperledger Iroha

「Hyperledger Iroha」は、日本のブロックチェーン企業「ソラミツ株式会社」などが開発を主導したモバイル向けのフレームワークです。C++で記述されており、以下の特徴を備えています。

  • シンプルなデプロイとメンテナンス
  • 開発者向けの様々なライブラリ
  • 役割に応じたアクセス制御
  • コマンドとクエリの分離原理に基づいたモジュール設計
  • デジタルアセットとID管理

多くのユーザーを抱える企業や金融機関が、ユーザー向けのデジタルアセット、ID、シリアル化されたデータを管理するツールとして、Irohaは開発されています。また、Irohaを利用したアプリケーションはPythonやJava、JavaScript、C++で記述できるほか、AndroidとiOSのモバイルプラットフォームでも記述可能です。

参考:Hyperledger IrohaHyperledger Iroha documentation

分散型IDのためのフレームワーク&ライブラリHyperledger Indy

「Hyperledger Indy」は、分散型IDのためのフレームワークおよびライブラリです。ブロックチェーン(分散型台帳)ベースのデジタルIDを提供するためのツールやライブラリ、再利用可能なコンポーネントを提供することで、管理ドメインやアプリケーション、サイロ間での相互運用性を担保しています。

なお、2019年10月末現在、クライアントツール機能が「Hyperledger Aries」に移行中です。Indyネットワーク上でアプリケーションを構築したい場合は、IndyとAriesの両コミュニティへの参加をおすすめします。

参考:Hyperledger Indy

コンセンサスアルゴリズムを動的に変更できるHyperledger Sawtooth

Intelが主導するプロジェクトである「Hyperledger Sawtooth」は、汎用性と拡張性を念頭に置いて設計されたブロックチェーンフレームワークです。稼働中のネットワークであってもコンセンサスアルゴリズムを動的に変更できます。

参考:About Dynamic Consensus

アプリケーション層とコアシステムが分離されているため、アプリ開発者はコアシステムの設計を知る必要が無く、任意の言語を使用してアプリに最適なビジネスルールを定義可能です。

また、イーサリアムとSawtoothの統合プロジェクト「Seth」の開発が進められており、EVM(Ethereum Virtual Machine)スマートコントラクトをSawtooth上で実行できます。なお、このEVM互換性は次に紹介するHyperledger Burrowとの連携によって実現しています。

参考:Introduction(Hyperledger Sawtooth)Introduction(Seth)

イーサリアムの仕様に基づいたフレームワークHyperledger Burrow

「Hyperledger Burrow」は、EVMの仕様に基づいて開発されているためスマートコントラクトを実行できます。BFT(Byzantine Fault Tolerance)を備えたパーミッション型のブロックチェーンフレームワークであり、コンセンサスアルゴリズムとしてTendermintが採用されています。

また、Burrowの研究成果を他のHyperledgerプロジェクトに統合することで、SawtoothやFabricでEVM互換性が実現しています(Sethおよび、Chaincode EVM)。

参考:Introduction(Hyperledger Burrow)

EEAの仕様に準拠したフレームワークHyperledger Besu

「Hyperledger Besu」は、ブロックチェーン企業「ConsenSys」のプロトコルエンジニアリングチーム「PegaSys」が、Javaで実装したイーサリアムクライアントです。エンタープライズ向けイーサリアムの標準化団体「Ethereum Enterprise Alliance」(EEA)のクライアント仕様を実装したものであり、以前は「Pantheon」と呼ばれていました。

企業が開発しやすいように、ライセンスは「Apache License 2.0」が適用されています。パブリックとプライベートネットワークどちらにも対応しており、Proof of WorkやProof of Authority(IBFT2.0、Clique)が利用可能です。また、トランザクションの公開範囲も制御できます。

参考:Hyperledger Besu

まとめ:プロジェクトの垣根を越えて拡張するHyperledgerコミュニティ

Hyperledgerは、エンタープライズ向けブロックチェーンのプラットフォームとして、多くの企業や団体を巻き込みながらエコシステムを拡大させています。

プロジェクト間の連携によってEVM互換が実現するなど、Hyperledgerコミュニティが提供する機能やツールは着実に増えています。今後もパーミッション型ブロックチェーンの開発をサポートする様々なフレームワークやツール、ライブラリが公開されていくでしょう。

ブロックチェーンカテゴリの最新記事