はじめに
ビットコインと共に誕生したブロックチェーンは、パブリックプロトコルとして新しい枠組みを生み出しました。しかし、パブリックチェーンをエンタープライズ向けとして活用する場合、プライバシーやスケーラビリティ、ガバナンスなどの様々な問題に直面するのが現状です。
これらの課題を解決しながら、改ざん耐性などのブロックチェーンの特徴を活かすために、パーミッション型(許可型)ブロックチェーンがいくつも開発されるようになりました。そこで本記事では、主要な許可型ブロックチェーンのうち、「Hyperledger Fabric」と「Corda」、「Quorum」を比較していきます。
各ブロックチェーンの概要
まずは各ブロックチェーンの概要を紹介していきます。各プラットフォームの詳細は、本サイト内に掲載されている別の記事で解説していますので、そちらをご覧ください。
Hyperledger Fabricとは?
Hyperledger Fabricは、「Hyperledgerプロジェクト」の中でもっとも普及している代表的なフレームワークです。モジュール化されたアーキテクチャを備えており、ユーザーIDの発行や認証、スマートコントラクトの開発・実行などの機能が提供されています。
Hyperledger Fabricについては、別の記事で詳しく解説しています。
Cordaとは?
Cordaは、許可型の分散型台帳基盤です。改ざん耐性やスマートコントラクトといったブロックチェーンの特徴を備えていますが、トランザクションがブロック型で処理される訳ではないので、厳密にはブロックチェーンではありません。
ベースレイヤーであるCorda上で開発されるアプリケーションは「CorDapps」と呼ばれており、金融や保険、サプライチェーンなど、様々な分野でユースケースが誕生しています。
Cordaについては以下の記事をご覧ください。
Quorumとは?
Quorumは、イーサリアムのフォークチェーンであり、エンタープライズ向けの機能を追加した許可型ブロックチェーンです。オープンソースソフトウェアとして「JPモルガン」に開発された後、エンタープライズ向けイーサリアムの標準化団体である「The Enterprise Ethereum Alliance」(EEA)へと移譲されました。
Quorumの詳細は以下の記事で解説しています。
ブロックチェーン関連企業はどのプラットフォームを選択しているのか?
リサーチ企業「Blockdata」が2019年4月に公表したレポートによれば、10億ドル以上の売上高または評価額を有するブロックチェーン関連企業50社のうち、今回比較する3つのプラットフォームを採用している企業の数はそれぞれ以下の通りです(複数採用しているケースを含む)。
- Hyperledger Fabric:21社
- Corda:14社
- Quorum:11社
各ブロックチェーンが世界でどのくらい使われているかを正確に知るのは困難ですが、少なくとも規模の大きなブロックチェーン関連企業の中では、Hyperledger Fabricがもっとも有力な選択肢となっています。
参考:Breaking down the Forbes Blockchain 50
各ブロックチェーンの比較
それでは、各ブロックチェーンを比較していきましょう。前提として、どのプラットフォームも、プライバシーへの配慮やスケーラビリティの改善、ファイナリティが担保されています。
Hyperledger Fabricは、モジュール式であり、他のシステムや特定の業界全体へ適用する際の拡張性が高くなっています。一方で、Cordaはコンソーシアム内で台帳を同期するのではなく、あくまでも取引の当事者同士で記録を共有するため、二者間で行われる法的な取り決めの自動化と記録に重点を置いていると言えるでしょう。
また、Hyperledger FabricとCordaではノードの種類と役割が複数存在し、トランザクションの検証やブロック生成を行うノードが限定されています。一方で、Quorumネットワークは1種類のノードのみで構成されており、どのノードも台帳への書き込み権限を持つことが可能です。したがって、他のプラットフォームに比べて分散性の高いネットワークを構築できます。
比較表:Hyperledger Fabric vs Corda vs Quorum
以下の表は、各プラットフォームを要素ごとに比較したものです(2019年10月8日現在)。
要素/プラットフォーム | Hyperledger Fabric(ver1.0〜1.4.3) | Corda | Quorum |
---|---|---|---|
コンセンサスアルゴリズム |
CFT(Crash fault tolerance):Kafka、Raft PBFT(開発中) Pluggable |
Uniqueness consensus Pluggable |
Raft Consensus Istanbul BFT Pluggable |
スループット(tps:1秒当たりの処理能力) | 約2000tps超 | 約170tps | 数百tps |
ネイティブトークン | なし (ver2.0以降でFabtokenを実装予定) |
なし | Ether |
ゼロ知識証明 | 対応 | 非対応 | 対応 |
スマートコントラクトの開発言語 | Java、Go、Node.js | Java、Kotlin | Solidity |
開発団体 | The Linux Foundation | R3CEV | Enterprise Ethereum Alliance(EEA) |
コンセンサスアルゴリズムの比較
各プラットフォームのコンセンサスアルゴリズムは、いずれもPluggableです。ただし、BFT(Byzantine Fault Tolerance)なアルゴリズムをデフォルトで選択可能なプラットフォームは、Quorumのみとなっています(2019年10月8日現在。Hyperledger Fabricはver1.0〜1.4.3を前提とする)。
Hyperledger Fabricでは、PBFT(Practical Byzantine Fault Tolerance)を開発中ですが、現時点ではビザンチン障害耐性がありません(ver1.0〜1.4.3)。ただし、Hyperledger Fabricのver0.6は、PBFTをサポートしています。
参考:Pluggable Consensus(Hyperledger Fabric)
Cordaは、コンソーシアムの参加者間で共通の台帳を同期しません。ビットコインと同じUTXOモデルでトランザクションの改ざん耐性を担保した上で、個々のトランザクションが一意であることを検証する「ノータリー」(公証人の意)が二重取引を防いでいます(Uniqueness consensus)。Cordaのコンセンサスモデルは、他のプラットフォームと比べて特徴的だと言えるでしょう。
ゼロ知識証明への対応
ゼロ知識証明とは、情報の中身を開示せずに正しい情報を知っていることを相手に伝える技術です。例えば、個人情報を開示させずに相手が成人しているかどうかを確認できます。Hyperledger FabricとQuorumは、ゼロ知識証明に対応しています。スマートコントラクト言語の比較
Hyperledger FabricとCordaは、既に普及している言語(Javaなど)でスマートコントラクトを記述できる一方で、QuorumではSolidityを習得する必要があります。したがって、Quorumの方が学習コストが高いと言えるでしょう。
まとめ:課題や目的に応じた最適なブロックチェーンの選択が重要
本記事で紹介したように、エンタープライズ向けのブロックチェーンはそれぞれ異なる特徴を備えています。例えば、特定のネットワーク内で高いスループットを必要とする場合は、Hyperledger Fabricが有力な選択肢になるでしょう。
また、分散性を重視したい場合は、Quorumが選択肢として有力かもしれません。取引先が頻繁に変わるのであれば、Cordaのように二者間での記録の共有に優れたプラットフォームが有力な選択肢になる可能性があります。
各プラットフォームには特徴や性能差があるため、ブロックチェーンを活用したテストや実証実験、プロダクト開発の際には、解決したい課題や目的に合わせた最適なブロックチェーンを比較・検討し、選択することが重要です。