はじめに
ひと口にブロックチェーンと言っても、その種類は多様です。BitcoinやEthereumなどのように、コンセンサスノードとして参加するのに許可が不要なパーミッションレス型のブロックチェーンもあれば、コンセンサスノードの運用に許可が必要なパーミッション型のブロックチェーンもあります。
2020年7月現在、企業がブロックチェーンを活用する場合、後者のパーミッション型ブロックチェーンが使われることがほとんどです。そこで今回はエンタープライズ領域で使われるブロックチェーンを紹介していきましょう。
ブロックチェーンの分類方法については様々なアプローチが存在します。例えば、データが公開されているかどうかや、ネットワークの参加に許可が必要かどうかなどです。パブリックチェーンやコンソーシアム、プライベートチェーンに関してもその定義は話者によって差がある場合があります。
エンタープライズ領域で使われるブロックチェーン概要
すでに当メディアでも複数の記事で以下のプラットフォームを取り上げていますが、エンタープライズ領域でよく使われている以下のブロックチェーンを紹介します。
- Hyperledger Fabric
- Corda
- Quorum
Hyperledger Fabric
「Hyperledger Fabric」は、オープンソースソフトウェアの技術コンソーシアムで非営利団体「The Linux Foundation」傘下の「Hyperledger」がサポートするエンタープライズ向けのブロックチェーンです。Hyperledger FabricのベースとなるソースコードはIBMから寄贈されました。
Hyperledger Fabricはモジュール型のアーキテクチャであり、トランザクションやスマートコントラクトの共有範囲を「Channel」という単位で制御可能です。
Channel:Hyperledger Fabricで構築されたネットワークにおけるプライベートなサブネット。複数(2以上)のメンバーによって構成され、取引を秘匿するために形成される。
CordaやQuorumと比べて開発難易度と運用コストが高い反面、カスタマイズ性に優れています。
▼Hyperledger Fabricについてはこちら
「Hyperledger Fabric」もっとも利用される企業向けブロックチェーンフレームワークの概要
Hyperledger Fabric 2.0 新機能まとめ
Corda
「Corda」(コルダ)はアメリカのソフトウェア企業「R3」によって開発されているブロックチェーンです。Hyperledger Fabricや後述する「Quorum」とは異なり、データ構造がUTXO型となっています。
UTXO(Unspent Transaction Output):新しいトランザクションを作成する際に、未使用のOutputのみを利用できる方式。Bitcoinなどで採用されている。アカウント方式としばしば対比される。
参考:知っておきたいブロックチェーンの基礎知識|UTXO vs アカウントベース
多くのブロックチェーン(分散型台帳技術)では、ネットワークの参加者が同じ内容の分散台帳を保持しますが、Cordaの場合は参加者ごとに分散台帳の中身が異なります。これは、個々のトランザクション(スマートコントラクト)の共有範囲が、署名したノード(基本的には当該トランザクションの関係者)に限定されているからです。
CordaではOutputの二重消費を防ぐために、トランザクションのハッシュ値をチェックするノード「Notary」が存在します。二重消費をチェックする際に、スマートコントラクトの中身や署名者を確認しない「Non-Validating Node」と、トランザクションデータをすべて確認し、スマートコントラクトの中身を検証する「Validating Node」の2種類を選択可能です。
Cordaを用いることで取引の公開範囲を最小限に抑え、プライバシーを守ることができます。ゆえに、プライバシー要件の厳しい金融領域などで利用されています。なお、Cordaにはオープンソース版と商用版があり、本番環境での開発には商用版である「Corda Enterprise」の利用が推奨されています。
▼Cordaについてはこちら
分散型台帳基盤の「Corda」とは何か?特徴やユースケースを解説
分散型台帳Cordaの活用事例とは?金融や保険、デジタル法定通貨の事例も
Corda|初めてのCorDappを作ってみる
Quorum
QuorumはEthereum(のクライアントであるGeth)をフォークして構築されたエンタープライズブロックチェーンです。開発当初は「J.P. Morgan」によって管理されていましたが、エンタープライズ向けEthereumの仕様などを策定する「Enterprise Ethereum Alliance」(EEA)へと寄贈されました。
EthereumのERC規格に沿ったトークンの開発が可能である上に、対応する開発ツールが多く開発コストを削減できる一方で、ビジネス環境に応じて変更が求められそうなスマートコントラクトのアップデート(変更)が困難です。
したがって、変更の可能性のないシンプルな機能の実装には向いていますが、機能が複雑になる場合には他のプラットフォームを検討した方が良いケースがあります。
▼Quorumについてはこちら
許可型ブロックチェーンQuorumとは?事例&特徴を解説
Quorumのネットワークをスクラッチから構築してみる
Quorumのネットワークを複数ノードで構築してみる
また、Quorumで選択可能なコンセンサスアルゴリズムについては以下の記事で解説しています。
▼詳細はこちら
Clique PoA, IBFT, Raftの違いと選び方
その他のエンタープライズ向けブロックチェーン
2020年7月現在、Hyperledger Fabric、Corda、Quorumは開発が比較的早期に始まったこともあり、多くのユースケースが存在します。
上記以外にもエンタープライズ領域での活用が増える可能性のあるプラットフォームは複数存在します。いくつか簡単に紹介しておきましょう。
- Hyperledger Project:Hyperledgerでは複数のプラットフォームやライブラリ、ツール群をサポート。
- VeChain Thor:IoTなどと連携したトレーサビリティの高度化などに利用されている。
- Kadena:パブリックチェーンとエンタープライズ向けのプライベートチェーンとの通信を可能にするブリッジを提供。異なるブロックチェーン間の相互運用性を実現する「Cosmos」や「Polkadot」との接続もテストされている。
その他、BitcoinやEthereumのようなパブリックチェーンを企業が利用するアプローチも登場しています。
- Baseline Protocol:機密情報を秘匿しながら、Ethereumを活用して他社とのデータ連携を可能にするプロトコルであり、オープンソースのイニシアチブ。
- AZTEC Protocol:Ethereum上で高速かつ機密性の高い取引を実現する暗号化エンジン。トランザクションの当事者だけでなく、スマートコントラクトのコードも秘匿される予定。
- ION:Bitcoinベースの分散型ID(DID:Decentralized Identifier)ツール。個人のIDを分散管理することで、セキュリティやプライバシーを強化する。
- RealT:Ethereum上のトークンを使った不動産投資サービス。
開発基盤の選定基準について
前のセクションで紹介した通り、エンタープライズ向けのブロックチェーン基盤には様々な種類が存在します。選定基準は目的に応じて若干異なりますが、以下の点に注目すると良いでしょう。
- 取引のプライバシーはどの程度守られるか
- スマートコントラクトの柔軟性
- オフチェーンデータとの連携
- スループットの程度
- 長期サポートの有無
- コミュニティの価値
- 開発言語
- 対応するコンセンサスアルゴリズム
この他にも、異なるブロックチェーンとの相互運用性(インターオペラビリティ)や開発難易度、ライセンス費の有無などが検討項目として挙げられます。
エンタープライズブロックチェーンと併せて使いたいのがBaaS(Blockchain as a Service)
BaaS(Blockchain as a Service)とは、ブロックチェーンを活用したアプリ開発を容易にするためのクラウドサービスです。通常、ゼロからブロックチェーンを構築しようとすると、ネットワークの構築や暗号鍵・APIの管理、オフチェーンDBとのデータ連携、外部イベントの取り組みなど、様々な要素を考慮しなければならず、開発コストが大きくなってしまいます。
多くの場合、事業者・開発者はアプリケーション開発に集中したいはずで、BaaSを用いることでインフラ部分などの開発コストを削減可能です。さらに、BaaSを利用した開発では、ベンダーが提供する他のクラウドサービスとの連携も期待できます。例えば、Microsoftが提供する「Azure Blockchain Service」では、「Azure Active Directory(Azure AD)」や「Azure Cosmos DB」をはじめとするAzureサービスとの連携が可能です。
2020年7月現在、MicrosoftやAmazon、IBM、Oracle、Alibaba、SAPのような大手クラウドベンダーがBaaSを提供しています。BaaSを提供している主な企業のリストは以下の記事で紹介中です。
▼詳細はこちら
サクッと学ぶ「BaaS(Blockchain as a Service)」とは何か?
また、Microsoft AzureやAWS、IBM Cloudで提供されているBaaSの比較については以下の記事で解説していますので、ブロックチェーンベースのアプリ開発を検討中の方はぜひご覧ください。
▼詳細はこちら
BaaSを比較したい人向け~Azure vs AWS vs IBM (2019/12更新)
まとめ
本記事では、エンタープライズ向けブロックチェーンの全体像を概観しました。本記事でも紹介したように、ブロックチェーンごとに特徴があり、開発時には目的に応じた基盤の選定が必要になります。
当メディアを運営する株式会社digglueでは、ブロックチェーンやAIの導入を検討する企業様への支援サービス(コンサルティング及び教育事業)を行っております。
「どうやって開発を進めれば良いのか分からない」「どのブロックチェーン基盤を選ぶべきなのか」など、何かお困りごとがございましたら、下記フォームにてお気軽にお問合せください。