Hyperledger Fabric(ハイパーレッジャーファブリック)とは、Hyperledgerプロジェクトの1つであり、ブロックチェーンフレームワークを実装した分散型元帳ソリューションプラットフォームです。
https://www.hyperledger.org/projects/fabric
Hyperledger Fabricは「高い機密性」「弾力性」「柔軟性」「スケーラビリティ」を提供するため、モジュラーアーキテクチャを採用しています。
モジュラーアーキテクチャアプリケーション(ソリューション)を開発するための基盤として、「コンセンサス」や「メンバーシップサービス」などのコンポーネントをプラグアンドプレイできる点が特徴です。
現実の経済エコシステム全体に存在する複雑さに対応できるように設計されています。
Hyperbelger Fabricは、Digital AssetとIBMによって寄贈されました。
ブロックチェーンシステムでは、一般的な情報システムと同様に「ノードを維持管理する運用主体」が必要とされます。
Hyperledger Fabricは、仮想通貨送金機能などは持たず、台帳管理に徹した実装になっています。
Fabricは3種類のコアコンポーネント「メンバーシップサービス」「ブロックチェーンサービス」「チェーンコードサービス」で構成されています。
これらは論理的な構造ではなく、個別のプロセス/名前空間/仮想マシンを持つ物理的な個々の部品になっており、それぞれプラグアンドプレイが可能です。
開発者は、各コンポーネント実装について自由に選択を行い実装できます。
Fabricでは「実際のビジネスにおける多様なユースケース」に応える設計が意識されています。そのため、Fabricは、すべての参加者のアイデンティティを識別できる「許可制ネットワーク対応プラットフォーム」になっています。
参加するノードを認証する「認証局」を置く構成を採っており、特定の認証されたノードのみがブロックチェーンへの参加を許される仕組みです。
「参加者の登録/証明書発行」「権限設定を担うメンバーシップサービス」などを実装しており、トランザクションは個々の参加者の証明書を用いて暗号化されます。
プライベートな複数の企業間のブロックチェーンネットワークを有効にすることも可能で、複数の企業/団体の連合(コンソーシアム)が分散型台帳を共有する使い方として「コンソーシアムブロックチェーン」と呼ばれることもあります。
Fabric では、トランザクション処理を3つのフェーズに分けています。
フェーズ(1)分散ロジック処理と合意
フェーズ(2)トランザクションの順序付け
フェーズ(3)トランザクションの検証とコミット
トランザクション処理の分割は、必要な承認と検証の段階数が少なくでき、ネットワークのスケーラビリティーとパフォーマンスを最適化できるメリットがあります。
Fabricでは、参加者間に存在する関係を最もよく表すコンセンサスメカニズムを選択できるように設計されています。
「PBFT(Practical Byzantine Fault Tolerance)」や「その他のコンセンサスメカニズム」などについてプラグイン可能で、デプロイ毎に設定できます。
それぞれの用途に最適な決済確定性を保つ仕組みを導入できます。
Fabricは、Dockeコンテナ技術を活用して、システムのアプリケーションロジックを構成する「チェーンコード」と呼ばれるスマートコントラクト(自動執行されるプログラム)をホストします。
エンタープライズシステムのミドルウェアを意識しており、送金などの機能について、システムごとに処理のロジックを設計し「チェーンコード」として実装します。
Hyperledger Fabricの「チャネル機能」により、参加者のグループが個別の取引元帳を作成できます。
必要最小限の関係者だけの間で行われるデータ交換を実現できる機能で、2人の参加者が1つのチャンネルを構成した場合、2人の参加者は、そのチャンネルの元帳のコピーを保持します。
Hyperledger Fabricは「HSM(Hardware Security Module)」をサポートしており、厳格な認証を支えるデジタル鍵の保護/管理が可能です。
アイデンティティ管理に対処するシナリオでは、HSMが鍵と機密データの保護を強化します。
参考元サイト
オープンソースインディア2018の2日目の基調講演で、IBMのプログラムディレクターPradeep Balachandran氏はオープンソースの進化に関する個人的見解を語った。 オープンソースの現状について 現在はオープンソースが主流となり、私たちは、オープンソースの採用が最も増えている興味深い時代にいます...
OSS×Cloud ACCESS RANKING