目次


Hyperledger Fabric がブロックチェーン・ネットワークにもたらす上位 6 つの技術的メリット

Hyperledger Fabric ならではの特徴、この Fabric がビジネス・ネットワークにとって重要となる理由、そしてその導入方法

Comments

ブロックチェーン・テクノロジーは、すでに業界の経営モデルを劇的に変えています。ビジネスの事例に応じたブロックチェーン・プラットフォームを選ぶ際に検討して評価しなければならない最も重要な特性は何でしょうか?この記事ではそうした特性を 1 つひとつ辿り、ビジネス向けブロックチェーンのオープンソース・エンジンとして Hyperledger Fabric を紹介します。

Hyperledger Fabric の紹介

最近のビジネスの需要を満たすために、IBM は他の数社の企業と協力して、本番に対応できるオープンソースのビジネス・ブロックチェーン・フレームワークを開発しました。それが、Hyperledger Fabric です。Hyperledger Fabric は、The Linux Foundation でホストされている 8 つの Hyperledger プロジェクトのうちの 1 つとなっています。

Hyperledger Fabric は許可制ネットワーク上で幅広い業界の分散型レジャー・ソリューションをサポートします。そのアーキテクチャーは、ブロックチェーン・ネットワークの機密性、回復力、柔軟性を最大限に発揮させるモジュール式となっています。

Hyperledger Fabric v1.0 には、27 の組織からの 159 名のエンジニアが貢献しました。間もなくバージョン 1.1 がリリースされる予定です。

1

許可制メンバーシップ

Hyperledger Fabric は、許可制ネットワーク対応のフレームワークです。許可制ネットワークとは、すべての参加者のアイデンティティーがわかっているネットワークのことです。

このようなネットワークを採用するかどうかを検討する場合は、ブロックチェーンの使用ケースが、データ保護に関する法規制の対象となるかどうかを判断しなければなりません。多くの使用ケース (特に、金融セクターとヘルスケア産業) は、データ保護法の対象となり、誰がネットワークのメンバーで、誰が特定のデータにアクセスできるのかを明らかにする必要があります。

例えば未公開株式会社について考えると、本質的に未公開株式は証券取引所で公的に取引されることはなく、会社への投資者は一般にベンチャー企業投資会社、未公開株式会社、あるいはエンジェル・インベスターです。このようなネットワーク内では、参加者の一人ひとりが既知でなければならないと同時に、ブロックチェーンへの参加資格となる投資資金について信用を得ている必要があります。

2

パフォーマンス、スケーラビリティー、承認の段階数

モジュール式アーキテクチャーに基づいて作成されている Hyperledger Fabric では、トランザクション処理を 3 つのフェーズに分けています。具体的には、分散ロジックの処理と合意 (「チェーンコード」)、トランザクションの順序付け、そしてトランザクションの検証とコミットという 3 フェーズです。このトランザクション処理の分割は、さまざまなノード・タイプにわたって必要な承認と検証の段階数が少なくなるというメリットだけでなく、ネットワークのスケーラビリティーとパフォーマンスが最適化されるというメリットをもらします。

その理由を明らかにするために、図 1 に示す Hyperledger Fabric v1.0 のトランザクション・フローに目を向けましょう (図中の用語は、Hyperledger Fabric 用語集 に定義されています)。

図の左から見ていくと、1) アプリケーションによってトランザクション案が承認側ピアに送信されます。2) トランザクション案に署名するのに必要な承認担当者は何名であるか、どのような承認担当者の組み合わせでなければならないかは、承認ポリシーに骨子が規定されています。承認担当者はネットワーク・ピア内でチェーンコードを実行してトランザクション案をシミュレートし、読み取り/書き込み処理のセットを作成します。3) 承認側ピアが、署名されたトランザクション案に対するレスポンス (承認) をアプリケーションに返します。4) アプリケーションがトランザクションと署名を順序付けサービスに送信します。5) 順序付けサービスがトランザクションのバッチ (つまり、ブロック) を作成し、それらのバッチをコミット側ピアに配信します。6) コミット側ピアがトランザクションのバッチを受信します。7) コミット側ピアは、各トランザクションについて、それが承認ポリシーに適合していることを検証し、矛盾するトランザクションを検出するために読み取り/書き込み処理のセットをチェックインします。両方のチェックが合格すると、ブロックがレジャーにコミットされ、各トランザクションの状態更新が状態データベース内で反映されます。

図 1. Hyperledger Fabric v1.0 内でのトランザクション・ライフサイクル
トランザクション・ライフサイクルを示す図
トランザクション・ライフサイクルを示す図

新しい v1.0 のアーキテクチャーを使用する場合、ネットワーク内で送信されるのは署名と読み取り/書き込み処理のセットだけなので、スケーラビリティーとパフォーマンスが最適化されます。しかも、トランザクションを実際に確認できるのは承認担当者とコミット担当者だけなので、ブロックチェーン・システムのさまざまな部分で必要となる承認の段階数が減り、セキュリティーが向上するというわけです。

例えば、出資証券や負債が売買される資本市場の場合、ネットワークへの参加者が増え続けると、それに伴ってトランザクションの量が増加していきます。トランザクションの増加に対応するためには、ネットワークのスケーラビリティーとパフォーマンスを向上させることが必須となります。それを可能にするのが、Hyperledger Fabric v1.0 なのです。その理由の一端は、チェーンコードの実行が区分化されることにあります。

チェーンコードの実行が区分化されるということは、ネットワークの動的な拡大も可能になります。Hyperledger Fabric v1.0 を使用する場合は、v0.6 のようにピアが静的に追加されるのではなく、プログラムによって動的にピアを追加することができます。例えば、外国為替相場を管理する企業が、新しい銀行をネットワークに追加するとします。Hyperledger Fabric v1.0 を使用すれば、企業はプログラムによってこの目的を達成できます。

3

必要最小限の関係者だけの間で行われるデータ交換

競争上の理由、プライバシー保護法、そして個人情報の守秘義務に関する法規制により、ビジネスでは特定のデータ要素のプライバシーを確保することが必須となっています。ブロックチェーン上でこのニーズを満たすにためには、データ区分化という手段を利用できます。Hyperledger Fabric 内でサポートされているチャネルを使用すれば、データがそのデータを知る必要がある関係者だけに送信されます。

例えば、多くの金融機関は処理するトランザクションの数でさえも競合他社に知られることについて懸念を示していますが、金融機関によってはデータを保護するのに「十分な」暗号化を考慮していない場合があります。金融商品によっては価値が出るまでに 10 年以上もかかる場合があることを考えると、長時間を経て暗号が解読されることで、個人情報が公になってしまう可能性があります。チャネルを利用してデータを区分化できるようにすれば、トランザクションの数、そしてデータ自体も、その情報を知る必要がある関係者だけに送信することが可能になります。

4

不変の分散レジャーでのリッチなクエリー

ブロックチェーン・アプリケーションでのレジャーとは、順序付けられた状態遷移レコードのことです。トランザクションごとに、一連の資産キーと値のペアが生成されて、それらのキーと値のペアが作成対象、更新対象、または削除対象としてレジャーにコミットされます。v1.0 では、不変の真実を語る情報ソースがピアのファイル・システムに付加されます。このソースには、LevelDB も組み込まれます。

LevelDB はデフォルトでキー・バリュー型データベースを使用し、キーによるクエリー、複合キーによるクエリー、キー範囲によるクエリーをサポートしています。複雑でリッチなクエリーも必要となる場合は、CouchDB で LevelDB の基本的な機能に加え、完全にデータ・リッチなクエリーを使用できます。CouchDB のようなドキュメント指向データベースをサポートする場合、そのコンテンツは JSON であるため完全にクエリー可能です。また、CouchDB のデータ・モデルは既存のキー/バリュー型プログラミング・モデルと互換性があるため、CouchDB を使用すれば、チェーンコード・データを CouchDB 用に JSON としてモデリングする際に、アプリケーションを変更する必要がなくなります。

この JSON フォーマットは、単純なレポートを作成したり、監査機能を実行したりするために必要となる作業を最小限にするのに役立ちます。例えばサプライ・チェーンのシナリオでは、JSON ドキュメント・スタイルを利用することで、商品や輸送機関に関するオンライン固有のデータを記述できます。資産を最終目的地に配送するために使用していたさまざまな場所と輸送機関に関する資産のレコードを簡単に生成できるようになります。

5

プラグイン・コンポーネントに対応するモジュール式アーキテクチャー

Hyperledger Fabric はモジュール式アーキテクチャーであるため、ネットワーク設計者がコンポーネントの実装を自由に選んで追加できます。これもメリットの 1 つです。モジュール式アーキテクチャーが最も求められる分野の 1 つとして、「個人 ID の持ち込み」が挙げられます。複数の企業で構成されたネットワークの中には、すでにアイデンティティー管理を実施していているものもあり、そのようなネットワークでは管理体制を立て直すのではなく、既存の管理体制を再利用したいと望んでいます。プラグインとして簡単に追加できるこのアーキテクチャーの他のコンポーネントには、コンセンサスや暗号化があります。固有の暗号化標準を設けている国もあります。

6

デジタル鍵と機密データの保護

HSM (Hardware Security Module) のサポートは、厳格な認証を支えるデジタル鍵を保護し、管理するためには不可欠です。Hyperledger Fabric では、変更された形と変更されていない形の PKCS11 を鍵の生成に適用できるようになっているため、アイデンティティー管理の保護を強化するなどのケースもサポートされることになります。アイデンティティー管理に対処するシナリオでは、HSM が鍵と機密データの保護を強化します。

次のステップ

Hyperledger Fabric プロジェクトの概要最新の資料に目を通してください。

このリンク先の記事「Preview of coming attractions: Hyperledger Fabric v1.1」で、次の Hyperledger Fabric リリースで予定されている新機能に関する情報を一足先に入手してください。

IBM Blockchain Platform 上での Hyperledger Fabric ビジネス・ネットワークの開発、制御、運用について詳しく学んでください。Hyperledger Fabric の最新の機能を網羅している新しいスターター・プランで初期のパイロット・ソリューションを迅速に開始できます。

Hyperledger コミュニティーに参加して、IBM および IBM 以外の新興企業から大企業までのさまざまな企業で働く開発者たちと協力して、Hyperledger Fabric に貢献してください。エキスパートとつながったり、ディスカッション・チャネル内で答えを見つけたりできます。

このリンク先の記事「There's more to blockchain than dodgy cryptocurrencies」で、Hyperledger の取締役を務める Brian Behlendorf 氏が、分散型レジャーについてわかりやすく解説しています。

developerWorks 発行の Blockchain ニュースレターから最新情報を入手してください。最新号はこのリンク先のページでチェックできます。ニュースレターを購読するには、このリンク先のページにアクセスしてください。


ダウンロード可能なリソース


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Cloud computing
ArticleID=1046619
ArticleTitle=Hyperledger Fabric がブロックチェーン・ネットワークにもたらす上位 6 つの技術的メリット
publish-date=10182018