DUICUO

Hyperledger Fabric の紹介

[[276588]]

Hyperledger は、堅牢なビジネス主導のブロックチェーン フレームワークを構築するために設計されたオープンソース ツール スイートです。

Hyperledgerは、ブロックチェーン業界最大規模のプロジェクトの一つであり、オープンソースツールスイートと複数のサブプロジェクトで構成されています。Linux Foundationが主催するグローバルな共同プロジェクトであり、様々な分野のリーダーが参加し、堅牢でビジネス主導のブロックチェーンフレームワークの構築を目指しています。

ブロックチェーンネットワークには、パブリックブロックチェーン、コンソーシアムまたはフェデレーション型ブロックチェーン、そしてプライベートブロックチェーンの3つの主要な種類があります。Hyperledgerは、企業がプライベートまたはコンソーシアム許可型のブロックチェーンネットワークを構築できるように設計されたブロックチェーンフレームワークです。これらのネットワークでは、複数の組織がネットワーク内のノードを制御および運用する権限を共有できます。

ブロックチェーンは、不変のモデルに基づく透明性、安全性、分散性を備えたシステムであるため、従来のサプライチェーン業界にとってゲームチェンジャーとなると考えられています。ブロックチェーンは、以下の方法で効率的なサプライチェーンシステムをサポートします。

  • ブロックチェーン全体で製品を追跡
  • ブロックチェーンで製品を検証・検証する
  • サプライチェーン参加者間でブロックチェーン全体で情報を共有する
  • 監査可能性を提供する

この記事では、食品サプライ チェーンを例に、Hyperledger ブロックチェーンが従来のサプライ チェーン システムをどのように変えているのかを説明します。

食品業界のサプライチェーン

従来のサプライ チェーンの非効率性の主な原因は透明性の欠如であり、これが信頼性の低いレポートと競争上の不利につながります。

従来のサプライチェーンモデルでは、ブロックチェーン上の事業体に関する情報は他者にとって完全には透明ではなく、不正確な報告や相互運用性の欠如につながります。メールや印刷された文書はある程度の情報を提供しますが、サプライチェーン全体にわたって製品を追跡することが困難であるため、完全かつ詳細な可視性データを含めることはできません。これにより、消費者が製品の真の価値と原産地を知ることはほぼ不可能になります。

食品業界のサプライチェーン環境は複雑であり、商品を最終目的地である顧客に届けるには、複数の関係者間の連携が不可欠です。下の図は、多層構造の食品サプライチェーンネットワークにおける主要な関係者を示しています。

典型的な食品サプライチェーン

このブロックチェーンの各段階では、潜在的なセキュリティ問題、統合の問題、その他の非効率性が伴います。現在、食品サプライチェーンにおける主な脅威は、偽造食品と食品詐欺です。

Hyperledgerブロックチェーンを基盤とする食品追跡システムは、食品情報の包括的な可視性とトレーサビリティを実現します。さらに重要なのは、製品の詳細を不変かつ実行可能な方法で記録することで、食品情報の真正性を確保することです。エンドユーザーは、この不変のフレームワーク内で詳細な製品情報を共有することで、製品の真正性を自己検証できます。

ハイパーレジャーファブリック

Hyperledger Fabricは、Hyperledgerプロジェクトの基盤です。これは許可型ブロックチェーン、より正確には分散型台帳技術(DLT)であり、IBMとDigital Assetによって最初に開発されました。分散型台帳技術は、様々なコンポーネント(以下に概要を示します)を備えたモジュール型フレームワークとして設計されています。また、プラグイン可能なコンセンサスモデルを提供するための柔軟なソリューションでもありますが、現時点では投票ベースの許可型コンセンサスのみを提供しています(現在のHyperledgerネットワークが部分的に信頼された環境で動作することを前提としています)。

したがって、匿名マイナーによるトランザクションの検証や、インセンティブとして使用される関連通貨は必要ありません。このブロックチェーン上のトランザクションに参加するには、すべての参加者が認証を受ける必要があります。Ethereumと同様に、Hyperledger Fabricはスマートコントラクトをサポートしています。スマートコントラクトは…チェーンコードチェーンコードこれらのコントラクトは、システムのアプリケーション ロジックを記述および実行します。

ただし、Ethereum とは異なり、Hyperledger Fabric ではトランザクションの送信に高価なマイニング計算は必要ないため、低レイテンシで拡張可能なブロックチェーンの構築が容易になります。

Hyperledger Fabricは、イーサリアムやビットコインなどのブロックチェーンとは、その種類、つまり金銭との関連性の欠如だけでなく、内部メカニズムにおいても異なります。典型的なHyperledgerネットワークの主要な要素は次のとおりです。

  • 元帳元帳すべての状態トランザクションの不変の履歴記録をすべて保存する一連のブロックを保存します。
  • ノードノードブロックチェーンの論理的な実体。3つの種類があります。
    • クライアントクライアント: ユーザーに代わってネットワークにトランザクションを送信するアプリケーションです。
    • 同等仲間: トランザクションを送信し、元帳の状態を維持するエンティティです。
    • ソーター発注者クライアントとピアの間に共有通信チャネルが作成され、ブロックチェーンのトランザクションがブロックにパッケージ化され、準拠したピア ノードに送信されます。

これらの要素に加えて、Hyperledger Fabric には次の主要な設計機能もあります。

  • チェーンコードチェーンコードEthereum などの他のネットワークのスマート コントラクトと同様に、これは高水準言語で記述されたプログラムであり、元帳の現在の状態のデータベース上で実行されます。
  • 通路チャンネル複数のネットワークメンバー間で機密情報を共有するために使用される専用通信サブネット。各トランザクションは、認証および承認された関係者のみがアクセスできるチャネル上で実行されます。
  • 支持者支持者トランザクションを検証し、チェーンコードを呼び出して、承認されたトランザクションの結果を呼び出し元のアプリケーションに返します。
  • 会員サービスプロバイダー会員サービスプロバイダーMSP(認証局サービスプロバイダ)は、証明書の発行と検証を通じて認証と認証プロセスを提供します。MSPは、信頼する証明機関(CA)を決定し、信頼ドメインのメンバーを定義し、メンバーが担うことができる特定の役割(メンバー、管理者など)を決定します。

取引を確認する方法

トランザクションがどのように検証されるかを調べることは、Hyperledger Fabric が基盤レベルでどのように機能するかを理解する良い方法です。この図は、典型的な Hyperledger ネットワークにおけるトランザクション処理のエンドツーエンドのシステムフローを示しています。

[[276589]]

Hyperledger トランザクション検証プロセス

まず、クライアントはHyperledger Fabricベースのアプリケーションクライアントにリクエストを送信することでトランザクションを開始します。アプリケーションクライアントは、トランザクション提案をエンドースピアに送信します。エンドースピアは、トランザクションで指定されたチェーンコード(状態のローカルコピーを使用)を実行してトランザクションをシミュレートし、結果をアプリケーションに返します。アプリケーションは、トランザクションとエンドースメントを組み合わせ、[関係者]にブロードキャストします。仕分けサービス注文サービスソーティング サービスはエンドースメントを確認し、各チャネルのトランザクション ブロックを作成して、それをチャネル内の他のノードにブロードキャストします。他のノードはトランザクションを検証してコミットします。

Hyperledger Fabricブロックチェーンは、食品の原産地データ、加工データ、輸送の詳細に関する透明性、不変性、そして共有記録を提供することで、食品サプライチェーンの参加者を繋ぎます。チェーンコードは、食品サプライチェーンの承認された参加者によって呼び出されます。実行されたすべての取引は台帳に永続的に保存され、すべての参加者がアクセスできます。

ハイパーレジャーコンポーザー

Hyperledgerプロジェクトは、FabricやIrohaといったブロックチェーンフレームワークに加えて、Composer、Explorer、Celloといったツールも提供しています。Hyperledger Composerは、ブロックチェーンアプリケーションをより簡単に構築するためのツールセットを提供しています。これには以下のものが含まれます。

  • CTO、モデリング言語
  • Playground は、迅速なテストとデプロイメントを実現するブラウザベースの開発ツールです。
  • コマンドラインインターフェース(CLI)ツール

ComposerはHyperledger Fabricのランタイムとインフラストラクチャをサポートします。内部的には、ComposerのAPIは基盤となるFabricのAPIを使用します。ComposerはFabric上で実行されるため、Composerによって生成されたビジネスネットワークをHyperledger Fabricにデプロイして実行することができます。