マットザンド
企業がブロックチェーンテクノロジーの採用に追いついているため、プライベートブロックチェーンプラットフォームの選択は非常に重要になります。オープンソースプロジェクトがより多くのサポート/パワーを提供するHyperledger エンタープライズブロックチェーンのユースケース 他のものよりも、現在、プライベート分散型台帳テクノロジー(DLT)実装の競争をリードしています。ブロックチェーンがどのように機能するか、そしてその背後にある設計哲学は何かを知っているという仮定から作業する Hyperledgerのエコシステム、この記事では、5つのアクティブなHyperledgerDLTについて簡単に説明します。この記事で説明したDLTに加えて、Hyperledgerエコシステムには、今後の記事で詳しく説明するサポートツールとライブラリがあります。
この記事は、主にHyperledgerに比較的慣れていない人を対象としています。この記事は、ブロックチェーンソリューションアーキテクトサービスの提供とブロックチェーンエンタープライズコンサルティングおよび開発の実行に関心のある方にとって素晴らしいリソースになります。この記事に含まれている資料は、Hyperledger DLT全体を理解し、その高レベルの概要を各Hyperledgerプロジェクトを最大限に活用するためのガイドラインとして使用するのに役立ちます。
Hyperledgerは堅牢なオープンソースコミュニティによってサポートされているため、新しいプロジェクトがHyperledgerエコシステムに定期的に追加されています。この記事の執筆時点である2021年2月の時点では、6つのアクティブなプロジェクトと、インキュベーション段階にある10のプロジェクトで構成されています。各プロジェクトには独自の機能と利点があります。
1-Hyperledgerファブリック
Hyperledger Fabric 最も人気のあるHyperledgerフレームワークです。スマートコントラクト(別名 チェーンコード)で書かれています ゴラン またはJavaScriptで、Dockerコンテナで実行します。ファブリックはその拡張性で知られており、企業は確立された成功したアーキテクチャの上に分散型台帳ネットワークを構築できます。当初IBMとDigitalAssetによって提供された許可されたブロックチェーンであるFabricは、モジュラーアーキテクチャーを備えたアプリケーションまたはソリューションを開発するための基盤となるように設計されています。コンセンサスやメンバーシップサービスなどの機能を提供するためのプラグインコンポーネントが必要です。イーサリアムと同様に、Hyperledger Fabricは、チェーンコードという名前のスマートコントラクトをホストして実行できます。ファブリックネットワークは、スマートコントラクト(チェーンコード)の実行、元帳データのクエリ、トランザクションの検証、およびアプリケーションとの対話を行うピアノードで構成されます。ユーザーが入力したトランザクションは、注文サービスコンポーネントに送られます。注文サービスコンポーネントは、最初はHyperledgerFabricのコンセンサスメカニズムとして機能します。 Ordererノードと呼ばれる特別なノードは、トランザクションを検証し、ブロックチェーンの整合性を確保し、検証されたトランザクションをネットワークのピアとメンバーシップサービスプロバイダー(MSP)サービスに送信します。
HyperledgerFabricとEthereumの2つの主要なハイライトは次のとおりです。
- マルチ元帳:イーサリアムの各ノードには、ネットワーク内の単一の台帳のレプリカがあります。ただし、ファブリックノードは各ノードで複数の元帳を運ぶことができます。これはエンタープライズアプリケーションにとって優れた機能です。
- プライベートデータ:プライベートチャネル機能に加えて、イーサリアムとは異なり、コンソーシアム内のファブリックメンバーは、ファブリックチャネルを介してそれらを配布することなく、プライベートデータを交換できます。これは、エンタープライズアプリケーションに非常に役立ちます。
こちら は、ブロックチェーンアプリケーションの構築に不可欠なピア、チャネル、チェーンコードなどのすべてのHyperledgerFabricコンポーネントを確認するための優れた記事です。つまり、エンタープライズレベルのHyperledger Fabricアプリケーションを構築、展開、および管理するには、すべてのHyperledgerFabricコンポーネントを完全に理解することを強くお勧めします。
2- Hyperledger Besu
Hyperledger Besuは、Apache 2.0ライセンスの下で開発され、Javaで記述されたオープンソースのイーサリアムクライアントです。イーサリアムのパブリックネットワークまたはプライベートの許可されたネットワーク、およびRinkeby、Ropsten、Gorliなどのテストネットワークで実行できます。 Hyperledger Besuは、PoW、PoA、およびIBFTを含むいくつかのコンセンサスアルゴリズムをサポートし、コンソーシアム環境での使用のために特別に設計された包括的な許可スキームを備えています。
Hyperledger Besuは、Enterprise Ethereum Alliance(EEA)仕様を実装しています。 EEA仕様は、イーサリアム内のさまざまなオープンソースプロジェクトとクローズドソースプロジェクト間で共通のインターフェイスを作成し、ユーザーがベンダーロックインを起こさないようにし、アプリケーションを構築するチームの標準インターフェイスを作成するために確立されました。 Besuは、EEAクライアント仕様に沿ってエンタープライズ機能を実装しています。
基本的なイーサリアムクライアントとして、Besuには次の機能があります。
- ブロックチェーンネットワークに接続して、ブロックチェーントランザクションデータを同期したり、ネットワークにイベントを送信したりします。
- イーサリアム仮想マシン(EVM)環境でスマートコントラクトを介してトランザクションを処理します。
- ネットワーク(ブロック)のデータストレージを使用します。
- 開発者がブロックチェーンネットワークと対話するためのクライアントAPIインターフェイスを公開します。
Besuは実装します プルーフオブワーク と 権限の証明 (PoA)コンセンサスメカニズム。さらに、Hyperledger Besuは、CliqueやIBFT2.0を含むいくつかのPoAプロトコルを実装しています。
クリークは、認証ブロックチェーンコンセンサスプロトコルです。ブロックチェーンは、許可された署名者のリストを維持しながらクリークプロトコルを実行します。これらの承認された署名者は、マイニングせずにすべてのブロックを直接マイニングして封印します。したがって、トランザクションタスクは計算が簡単です。ブロックを作成するとき、マイナーはトランザクションを収集して実行し、ブロックの計算されたハッシュでネットワーク状態を更新し、秘密鍵を使用してブロックに署名します。定義された期間を使用してブロックを作成することにより、クリークは処理されるトランザクションの数を制限できます。
IBFT 2.0(Istanbul BFT 2.0)はPoAです ビザンチン-フォールトトレラント (BFT)ブロックチェーンコンセンサスプロトコル。ネットワーク内のトランザクションとブロックは、バリデーターと呼ばれる承認されたアカウントによって検証されます。バリデーターは、トランザクションを収集、検証、実行し、次のブロックを作成します。既存のバリデーターは、バリデーターを追加または削除し、動的バリデーターセットを維持することを提案および投票できます。コンセンサスは、即時の最終性を保証することができます。名前が示すように、IBFT 2.0は、安全性と活性が向上したIBFTブロックチェーンコンセンサスプロトコルに基づいて構築されています。 IBFT 2.0ブロックチェーンでは、すべての有効なブロックがメインチェーンに直接追加され、フォークはありません。
3-Hyperledger Sawtooth
Sawtoothは、1.0リリースの成熟度に到達した2番目のHyperledgerプロジェクトです。 Sawtooth-coreはPythonで記述されており、SawtoothRaftとSawtoothSabreはRustで記述されています。また、JavaScriptおよびGolangコンポーネントもあります。 Sawtoothは、許可された展開と許可されていない展開の両方をサポートします。 HyperledgerBurrowとのコラボレーションを通じてEVMをサポートします。設計上、HyperledgerSawtoothはパフォーマンスの問題に対処するために作成されています。そのため、他のHyperledger DLTと比較した際の特徴の1つは、Sawtoothの各ノードがトランザクションを検証および承認することで注文者として機能できることです。その他の注目すべき機能は次のとおりです。
- 並列トランザクション実行:多くのブロックチェーンはシリアルトランザクション実行を使用してネットワーク上のすべてのノードで一貫した順序を保証しますが、Sawtoothは、トランザクションを並列フローに分類する高度な並列スケジューラに従い、最終的にトランザクション処理のパフォーマンスを向上させます。
- コアからのアプリケーションの分離:Sawtoothは、アプリケーションレベルをコアシステムレベルから分離することにより、アプリケーションの開発と展開を簡素化します。スマートコントラクトの抽象化を提供し、開発者が選択したプログラミング言語でコントラクトロジックを作成できるようにします。
- カスタムトランザクションプロセッサ:Sawtoothでは、各アプリケーションは、固有の要件を満たすようにカスタムトランザクションプロセッサを定義できます。トランザクションファミリを提供して、チェーン上のアクセス許可の保存、チェーン全体の設定の管理などの低レベルの機能、およびブロック情報の保存やパフォーマンス分析などの特定のアプリケーションのアプローチとして機能します。
4-ハイパーレジャーいろは
Hyperledger Irohaは、複雑なデジタル資産とIDの作成と管理を対象とするように設計されています。これはC ++で記述されており、ユーザーフレンドリーです。 Irohaは、アクセス制御のための強力な役割ベースのモデルを備えており、複雑な分析をサポートします。 ID管理にIrohaを使用している間、コマンドのクエリと実行は、Irohaネットワークにアクセスできる参加者にのみ制限されます。堅牢な権限システムにより、すべてのトランザクションが安全で制御されます。そのハイライトのいくつかは次のとおりです。
- 使いやすさ: 単純なデジタル資産だけでなく、複雑なデジタル資産(暗号通貨や個人の医療データなど)を簡単に作成および管理できます。
- 組み込みのスマートコントラクト: 「コマンド」と呼ばれる組み込みのスマートコントラクトを使用して、ブロックチェーンをビジネスプロセスに簡単に統合できます。そのため、開発者はコマンドの形式で利用できるため、複雑なスマートコントラクトを作成する必要はありません。
- BFT: IrohaはBFTコンセンサスアルゴリズムを使用しているため、検証可能なデータの整合性を低コストで必要とするビジネスに適しています。
5- Hyperledger Indy
セルフソブリンID管理プラットフォームとして、HyperledgerIndyは分散型ID管理用に明示的に構築されています。サーバー部分のIndyノードはPythonで構築されていますが、IndySDKはRustで記述されています。ブロックチェーンまたはその他の分散型台帳上のデジタルIDを管理するためのツールと再利用可能なコンポーネントを提供します。 Hyperledger Indyアーキテクチャは、複数のドメイン、組織のサイロ、およびアプリケーション間で簡単に解釈できるため、ID管理に多大な労力を必要とするすべてのアプリケーションに最適です。そのため、IDは安全に保存され、関係するすべての関係者と共有されます。 HyperledgerIndyの注目すべきハイライトは次のとおりです。
●ID相関耐性:Hyperledger Indyのドキュメントによると、Indyは完全にID相関耐性があります。したがって、あるIDを別のIDに接続したり混合したりすることを心配する必要はありません。つまり、元帳で2つのIDを接続したり、2つの類似したIDを見つけたりすることはできません。
●分散型識別子(DID):Hyperledger Indyのドキュメントによると、すべての分散型識別子はグローバルに解決可能であり、中央の関係者を混在させることなく一意です。つまり、Indyプラットフォーム上のすべての分散型IDには、あなただけが所有する一意の識別子があります。その結果、誰もあなたに代わってあなたの身元を主張したり、使用したりすることはできません。したがって、個人情報の盗難の可能性を排除します。
●ゼロ知識証明:ゼロ知識証明の助けを借りて、何もせずに必要な情報のみを開示できます。したがって、資格情報を証明する必要がある場合は、要求している当事者に応じて、必要な情報のみを公開することを選択できます。たとえば、出生データを一方の当事者とのみ共有し、運転免許証と財務書類をもう一方の当事者に公開することを選択できます。つまり、Indyは、いつでもどこでも必要なときに個人データを共有する際に、ユーザーに大きな柔軟性を提供します。
概要
この記事では、5つの人気のあるHyperledgerDLTについて簡単に説明しました。まず、Hyperledger Fabricとその主要コンポーネント、およびイーサリアムのようなパブリックブロックチェーンプラットフォームと比較したそのハイライトのいくつかについて説明しました。現在、Fabricはサプライチェーン管理に多用されていますが、サプライチェーンドメインで特定の作業を数多く行っている場合は、HyperledgerGridも検討する必要があります。次に、Hyperledger Besuを使用して、複数のコンセンサスアルゴリズムをサポートするパブリックコンソーシアムブロックチェーンアプリケーションを構築する方法と、EVMからBesuを管理する方法の学習に移りました。次に、Hyperledger Sawtoothが高性能を実現するように設計されている方法など、いくつかのハイライトについて説明しました。たとえば、Sawtoothの単一ノードが、ネットワーク内のトランザクションを承認および検証することにより、注文者として機能する方法を学びました。最後の2つのDLT(Hyperledger IrohaとIndy)は、特にデジタル資産管理とIDを対象としています。したがって、ID管理を多用するプロジェクトに取り組んでいる場合は、Fabricの代わりにIrohaまたはIndyのいずれかを調べて使用する必要があります。
次の記事では、 3つのHyperledgerツール(Hyperledger Caliper、Cello、Avalon).
この記事で詳しく説明されているトピックの調査に関心のある方のために、リファレンスとリソースのリンクを含めました。
すべてのHyperledgerプロジェクト、ライブラリ、およびツールの詳細については、以下のドキュメントリンクにアクセスしてください。
- HyperledgerIndyプロジェクト
- Hyperledgerファブリックプロジェクト
- HyperledgerAriesライブラリ
- HyperledgerIrohaプロジェクト
- Hyperledger Sawtooth Project
- HyperledgerBesuプロジェクト
- Hyperledgerキルトライブラリ
- Hyperledger Ursa Library
- HyperledgerTransactライブラリ
- HyperledgerCactusプロジェクト
- Hyperledger Caliper Tool
- Hyperledgerチェロツール
- HyperledgerExplorerツール
- Hyperledgerグリッド(ドメイン固有)
- HyperledgerBurrowプロジェクト
- HyperledgerAvalonツール
リソース
- Linux Foundation&Hyperledgerの無料トレーニングコース
- Linux Foundation&Hyperledgerのeラーニングコース
- Linux Foundation&Hyperledgerの認定試験
- Hands-On Smart Contract Development with Hyperledger Fabric V2 マットザンドらによる本。
- エンタープライズブロックチェーン開発者にとって不可欠なHyperledgerSawtooth機能
- ブロックチェーン開発者ガイド-AWSにHyperledgerFabricをインストールする方法
- ブロックチェーン開発者ガイド-HyperledgerSawtoothをインストールして操作する方法
- ブロックチェーンサイバーセキュリティの概要(コーディングブートキャンプ)
- システム管理者向けのHyperledgerSawtoothの概要(コーディングブートキャンプ)
- ブロックチェーン開発者ガイド-AWSにHyperledgerIrohaをインストールする方法
- ブロックチェーン開発者ガイド-AWSにHyperledgerIndyとIndyCLIをインストールする方法
- ブロックチェーン開発者ガイド-AWSでHyperledgerSawtoothValidatorとRESTAPIを構成する方法
- Hyperledger Fabricを使用したイントロブロックチェーン開発(コーディングブートキャンプ)
- HyperledgerFabricを使用してDAppを構築する方法
- ブロックチェーン開発者ガイド-HyperledgerSawtooth用のサービスとしてのトランザクションプロセッサとPythonEggを構築する方法
- ブロックチェーン開発者ガイド-HyperledgerIrohaCLIを使用して暗号通貨を作成する方法
- ブロックチェーン開発者ガイド-HyperledgerIndyコマンドラインインターフェイスを探索する方法
- Blockchain開発者ガイド-初心者から上級レベルまでの包括的なBlockchainHyperledger開発者ガイド
- システム管理者向けHyperledgerのブロックチェーン管理
- 開発者向けHyperledgerファブリック(コーディングブートキャンプ)
- Hyperledgerからの無料のホワイトペーパー
- Hyperledgerからの無料ウェビナー
- Hyperledger Wiki
著者について
マットザンド シリアルアントレプレナーであり、3つのテックスタートアップの創設者です。 DCWebメーカー, Coding Bootcamps と High School Technology Services。彼はの筆頭著者です HyperledgerFabricを使用した実践的なスマートコントラクト開発 オライリーメディアの本。彼は、Hyperledger、Ethereum、CordaR3プラットフォームのブロックチェーン開発に関する100以上の技術記事とチュートリアルを書いています。 DC Web Makersで、彼はエンタープライズ分散型アプリケーションのコンサルティングと展開のためのブロックチェーンエキスパートのチームを率いています。チーフアーキテクトとして、彼はコーディングブートキャンプのブロックチェーンコースとトレーニングプログラムを設計および開発してきました。彼はメリーランド大学で経営学の修士号を取得しています。ブロックチェーンの開発とコンサルティングの前は、シニアWebおよびモバイルアプリの開発者およびコンサルタント、エンジェル投資家、いくつかの新興企業のビジネスアドバイザーとして働いていました。あなたはLIで彼とつながることができます: https://www.linkedin.com/in/matt-zand-64047871