ブロックチェーン内のハイパーレジャー・ソートゥース

初級編6/3/2024, 3:07:33 PM
Hyperledger Sawtoothは、分散台帳ネットワークやアプリケーションを作成できるエンタープライズブロックチェーンプラットフォームです。この記事では、プラットフォームの動作方法やコア属性、さらにはその応用シナリオを紹介します。

ハイパーレジャー ソートゥースは、分散台帳ネットワークとアプリケーションを作成する企業向けブロックチェーンプラットフォームです。設計思想は、特に企業向けの分散台帳の維持とスマートコントラクトのセキュリティに焦点を当てています。ソートゥースは、ブロックチェーン技術をサービスとして利用しています(BaaS)。
Sawtoothも非常にモジュラーです。このモジュラリティにより、企業やコンソーシアムはそれぞれの専門分野で方針を決定することができます。Sawtoothの基本設計により、アプリケーションはユニークなビジネス要件に最適なトランザクション、許可、およびコンセンサスアルゴリズムを選択することができます。今日使用されているほとんどのブロックチェーンベースのシステムは、コアとアプリケーションを同じプラットフォームでホストおよび実行するため、セキュリティとパフォーマンスの両方に影響を与える可能性があります。

Hyperledger Sawtoothとは何ですか?

ハイパーレジャー・ソートゥースは、カスタマイズされたスマート契約を実行することができるオープンソースのエンタープライズ・ブロックチェーン・アズ・ア・サービス・プラットフォームです。このプラットフォームは、コアシステムの基本設計を知る必要がない。

  • PBFTやPoETなど、さまざまなコンセンサスアルゴリズムをサポートしています。
  • そのユーザーフレンドリーなデザインは、企業利用において完璧なパフォーマンスを提供します。
  • 独自の権限設定をサポートしており、機密情報を明かすことができる中央集権的なサービスはありません。

Hyperledger Sawtoothの動作原理はどのようになっていますか?

Hyperledger Sawtoothは、分散台帳(またはブロックチェーンとも呼ばれる)を構築し、展開し、実行するためのモジュラープラットフォームです。これには、信頼できる実行環境(TEEs)を使用して合意が公正かつ効率的に達成されるようにする革新的な合意アルゴリズム「Proof of Elapsed Time」(PoET)が含まれています。 Sawtoothには、プラグ可能な合意アルゴリズムを可能にするモジュラーデザインがあり、許可されたネットワークと非許可ネットワークの両方をサポートしています。

  • Sawtoothの中核コンポーネントは、すべてのトランザクションとスマートコントラクトの実行のログを記録する分散台帳です。この台帳はネットワーク内のすべてのノードにレプリケートされ、トランザクションは並列で処理されてパフォーマンスが向上します。
  • Sawtoothには、スマートコントラクトエンジンである「Sawtooth Lake」も含まれており、スマートコントラクトの簡単な展開と実行が可能です。プラットフォームは台帳とトランザクションの送信に対応するRESTful APIも提供しています。
  • Sawtoothは非常にスケーラブルに設計されており、数千のノードと毎秒数百万の取引をサポートできます。
  • 全体的に、Hyperledger Sawtoothは、幅広いアプリケーションに使用できる、柔軟でパワフルなプラットフォームであり、サプライチェーン管理、デジタル資産追跡、投票システムなどの分散台帳の構築と展開に適しています。
  • Hyperledger Sawtoothは、コア台帳システムを各アプリケーションに関連する環境から分離することで、アプリを開発する際にシステムのセキュリティを維持しながら、より簡単にする。
  • アプリケーション開発者は、コアシステムの基盤となるアーキテクチャを理解する必要はなく、自分のアプリケーションに適したビジネスルールを記述することができます。この設計により、開発者は、お気に入りのプログラミング言語でホスト、管理、および使用できるアプリケーションを構築することができます。これらのアプリケーションは、コアブロックチェーンネットワークの外部でホスト、管理、および使用することができます。

ハイパーレジャー Sawtooth コンセンサスアルゴリズム

Hyperledger Sawtoothには、プラグイン可能なコンセンサスアルゴリズムを利用できるモジュラーデザインが含まれています。 Sawtoothでサポートされている一部のコンセンサスアルゴリズムには、

SKIP

  1. PoET(Proof of Elapsed Time):これはSawtoothのデフォルトのコンセンサスアルゴリズムです。信頼できる実行環境(TEEs)を使用して、コンセンサスが公正かつ効率的に達成されるようにします。 PoETはランダムなリーダー選出プロセスと待機時間を使用して、すべての参加者がリーダーとして選ばれる均等なチャンスを持つようにします。
  2. PBFT (Practical Byzantine Fault Tolerance): これは、分散システムで広く使用されている古典的なコンセンサスアルゴリズムです。ネットワークがコンセンサスに達することを確実にするために、レプリカの投票プロセスを使用します。 PBFTは、既知の参加者セットを持つ許可されたネットワークに適しています。
  3. Raft: 分散システム向けに設計され、変更のペースが速いRaftはコンセンサスアルゴリズムです。リーダーに基づいた方法論を使用し、迅速なネットワーク分断の回復を可能にします。
  4. Devmode: この簡単なコンセンサス技術は、テストや開発を目的としています。コンセンサスを必要とせず、トランザクションの並列処理を可能にします。

より高度な合意アルゴリズム、例えばPoA(権威の証明)、PoS(ステークの証明)などは、対応する合意エンジンをインストールすることでSawtoothでも使用できます。
全体として、Sawtoothのモジュラーデザインは、パフォーマンス、セキュリティ、および信頼モデルなど、アプリケーションの特定の要件に基づいて異なるコンセンサスアルゴリズムの使用を可能にします。

Hyperledger Sawtoothの特長

1. アプリケーションレベルとコアシステムとの分離

Sawtoothは、アプリケーションレベルとコアシステムレベルを分離し、プログラムの設計と展開を容易にします。アプリケーション開発者は、Sawtoothの助けを借りて、任意の言語で契約ロジックを設計できます。Sawtoothはスマートコントラクトのための抽象化を提供します。アプリケーションには、ネイティブのビジネスロジックやスマートコントラクトのための仮想マシンが含まれます。実際、単一のブロックチェーンは両方のアプリケーションタイプをサポートする可能性があります。これらのアーキテクチャオプションは、Sawtoothによってトランザクション処理レイヤーで実現され、同じブロックチェーンネットワークインスタンス内で複数のアプリケーションタイプが共存することが可能になります。

2. プライベートネットワークにおけるソートゥースの許可機能

Sawtoothは許可された(プライベート)ネットワークに関連する問題に対処するために作成されました。Sawtoothノードクラスターは独自の許可を持って簡単に展開できます。取引パターンや他のプライベートデータを誤って明らかにする可能性のある中央集権的なサービスは存在しません。役割とアイデンティティは、ネットワークを使用する全員がアクセスできるようにブロックチェーンに保存される権限を定義するパラメータの一部です。

3. 並列トランザクション実行

ほとんどのブロックチェーンは、各ネットワークノードで一貫した順序を保証するために、直列トランザクション処理を要求します。Sawtoothの最先端の並列スケジューラーは、トランザクションを並列フローに分割します。 Sawtoothは、トランザクションの実行を互いに隔離しながら、トランザクションがアクセスする状態の場所に基づいてコンテキストの変更を保持します。 同じ状態が複数回変更された場合でも、二重支払いを回避するためにトランザクションは並列で実行されます。 直列実行に比べて、並列スケジューリングは、著しい速度向上の可能性を提供します。

4. Ethereum契約はSethと互換性があります

Sawtoothプラットフォームは、Sawtooth-Ethereum統合プロジェクトであるSethのおかげで、現在Ethereumとの相互運用が可能です。Sethトランザクションファミリーにより、Sawtooth上でEVM(Ethereum Virtual Machine)スマートコントラクトの展開が可能になりました。

5. ダイナミックコンセンサス

ブロックチェーンにおけるコンセンサスとは、ネットワーク参加者間での理解の達成を指します。任意の欠陥を持つコンセンサスを達成するためには、通常、アルゴリズムは予め決められた参加者グループの間で投票を行います。ナカモトスタイルのコンセンサスおよび従来のビザンティン容錯許容(BFT)アルゴリズムのバリエーションは、明示的な投票の多数ラウンドを使用してコンセンサスに達するために使用されます。前者は、ある種の抽選システムによってリーダーを選出します。Sawtoothは、コンセンサスをトランザクションの意味論から分離し、コンセンサスの基本的な考え方を抽象化します。コンセンサスAPIを介してバリデータと通信するコンセンサスエンジンとして、Sawtoothのコンセンサスインターフェースはさまざまなコンセンサス実装をプラグインすることを許可します。

6. サンプルトランザクションファミリー

Sawtoothノード上のトランザクションプロセッサとして機能するトランザクションファミリーは、Sawtoothアプリケーション内のデータモデルとトランザクション言語を実装します。 Sawtoothには、モデルとして多数の基本的なトランザクションファミリーが含まれていますが、ほとんどのアプリケーション開発者は、自身の台帳の特定のニーズに合わせて独自のトランザクションファミリーを作成します。

  • デプロイされた台帳をテストするために、開発者は整数キーを使用します。
  • オンチェーン構成設定は、Settingsによって提供される参照実装を使用して保存することができます。
  • Identity-Manages on-chain permissioning for transactor and validator keys to simplify handling identities for collections of public key lists.
  • イベントシステム:イベントはHyperledger Sawtoothを使用して作成およびブロードキャストすることができます。これにより、アプリケーションは次のことができます:
    • ブロックチェーン関連のイベントが発生した場合に通知を受け取る、新しいブロックが確定されたときやフォークが発生したときなど。
    • アプリケーションに固有で、トランザクションファミリーによって指定されたイベントに登録する。
    • 状態に詳細を保存せずに、取引がどのように実行されたかを顧客に通知します。
    • ZMQソケットを介して、サブスクリプションが送信および維持されます。

ハイパーレジャー・ソートゥースのアーキテクチャ要素

ハイパーレジャー ソートゥースのアーキテクチャのコア要素について話し合いましょう:

1. イベントシステム

どんなハイパーレジャーのソートゥースの例を見ても、イベントシステムは主にイベントが問題なく作成され、ノードに送信されることを保証します。その結果、イベントシステムを使用すると、イベントにサブスクライブし、自動的に新しい情報を取得するアプリケーションを作成できます。これらのことは通常、ソートゥースプラットフォームがよりスムーズに稼働するようにします。イベントからノードが必要とする情報を収集することは、完全なコンセンサスの維持に貢献します。

2. Sawtooth-Ethereum Integration Project (Seth)

Sawtoothの主な特徴の1つです。Hyperledger Sawtoothを理解するためには、この機能に慣れている必要があります。Ethereumの機能を組み込んだすべてのHyperledger Sawtoothの例に現れます。しかし、それは具体的に何をするのでしょうか? Ethereumの特性に対してどのようなアプリケーションがあるのでしょうか? したがって、この小さなコンポーネントは、両プラットフォーム間のギャップを埋めるのに役立ちます。その結果、この要素を使用してこれら2つのプラットフォーム間の互換性を実現することができます。 Sethが提供できる機会の数をご存知ですか? これはHyperledger Sawtoothの設計に素晴らしい追加ですので、商業プロジェクトで必要な場合は使用してください。

3. プラグイン可能な合意アルゴリズム

Hyperledger Sawtoothアーキテクチャにプラグイン可能なコンセンサスアルゴリズムを含めることは、別の魅力的な特徴です。プラグイン可能なコンセンサスメカニズムは、ブロックチェーンセクターの素晴らしい新しい進歩です。プラットフォームが必要とするコンセンサスメカニズムを選択できます。当然ですが、一部のユースケースには適したコンセンサスのみがあります。ビジネスブロックチェーンに基づく製品を構築するには、柔軟性が必要です。その結果、Sawtoothのプラグイン可能なコンセンサスはダイナミクスを前面に押し出します。

4. トランザクションファミリーモデル

トランザクションファミリーは、スマートコントラクトに機能を提供するなど、さまざまな操作を提供します。例を見ればわかるように、トランザクションファミリーを使用しないと、Hyperledger Sawtoothシステムを使用することはできません。

  • ブロック情報トランザクションファミリー:ブロック情報トランザクションファミリーを使用すると、ブロックに関連する情報を保存できます。
  • 小さな銀行取引ファミリー:実践では、このファミリーは、会社の実現可能性を評価し、テストするのに最適です。
  • トランザクションファミリーの設定: 設定ファミリーの支援を受けて、オンチェーンのセットアップを保存することができ、それによってそのようなことを行うための参照モデルも提供されます。
  • バリデーターレジストリトランザクションファミリー:これを使用して、システムのバリデーターを追加することでシステムのバリデーターを拡張します。これを使用しないと、バリデーターを追加することはできません。したがって、これは絶対に必要です。
  • 整数キー取引ファミリー:すべての展開された台帳のリソースフリーテストを可能にする最高の取引ファミリーの一つ。
  • XO トランザクションファミリー: これはネットワーク全体のより面白い解釈です。 ネットワークの作成者は少しエキストラのフレアを与えたかったため、Sawtoothには〔〕も含まれていました。 これにより、任意のノードと遊ぶことができます。
  • 識別トランザクションファミリー: 主にデータの保存に使用されます。具体的には、検証者がアクセスを許可されたデータです。さらに重要なのは、ノードに関する詳細を追跡し、それには彼らの公開鍵などが含まれます。

システムには他にも2つの追加の取引ファミリーがあります。それらは比較的最近追加されたものです。

  • Seth トランザクションファミリー:Seth トランザクションファミリーのおかげで、Ethereum ブロックチェーン向けに作成されたアプリケーションをネットワーク上で使用できます。これは、Solidity で構築されたスマートコントラクトやその他のアプリを使用できることを意味します。
  • サーベルトランザクションファミリー:サーベルトランザクションファミリーはスマートコントラクトを使用する別の方法です。これは、WASMまたは仮想WebAssemblyマシンでスマートコントラクトを実行するために使用できます。これにより、スマートコントラクトをチェーン上で実行することが可能になります。

Hyperledger Sawtoothの応用

  • X O:シンプルなトランザクションを作成する方法を示すために三目並べのゲームをプレイします。 X O トランザクションファミリー内のコンストラクトおよびテイクトランザクションは、2人のプレーヤーがゲームをプレイできる X O コマンドを提供します。詳細については、X O トランザクションファミリーをご確認ください。
  • ソートゥースサプライチェーン:ソートゥースサプライチェーンは、任意のアイテムの起源やその他の関連するコンテキストデータを追跡する方法を示しています。サプライチェーンには、Webアプリ、専用のREST API、およびトランザクションプロセッサを含むサンプルアプリケーションが用意されています。この例のアプリケーションでは、複雑なクエリ用のブロックチェーンの状態をローカルデータベースに同期させる方法や、ブラウザ内でのトランザクション署名のための分散型方法も示されています。
  • Sawtooth Marketplace: ブロックチェーン上で、Sawtoothマーケットプレイスは特定数量の専門資産を交換する方法をユーザーに指示します。Sawtoothバリデーターとその他のいくつかのコンポーネントの支援を受けて、この例のアプリケーションはSawtoothブロックチェーンを実行し、それと通信するためのわかりやすいRESTful APIを提供します。

取引プロセスのサポートされている言語

Hyperledger Sawtoothは、トランザクションプロセスで複数のプログラミング言語の使用をサポートしています。サポートされている言語の中には、

  1. Python:Sawtoothは、「Sawtooth SDK」と呼ばれるPythonライブラリを提供し、開発者が台帳とトランザクションを送信することができるようにします。
  2. JavaScript:Sawtoothは、「Sawtooth JavaScript SDK」というものを通じてJavaScriptをサポートしており、台帳とやり取りするためのAPIセットを提供しています。
  3. Sawtoothは、Sawtooth Go SDKを介してGoのサポートも提供しており、これによりGoベースのアプリケーションとの簡単な統合が可能です。
  4. C++:Sawtoothはまた、「Sawtooth C++ SDK」を介してC++にも対応しており、台帳とのやり取りのためのC++ APIを提供しています。

Sawtoothの提供するRESTful APIを使用することで、Java、Rust、Shellなどの他の言語も利用できます。 Sawtoothは複数のプログラミング言語をサポートしているため、既存のシステムと簡単に統合でき、さまざまなユースケースに対応できます。

ハイパーレジャー Sawtooth 開発アーキテクチャ

Hyperledger Sawtoothのモジュラーアーキテクチャにより、さまざまなシステムコンポーネント間で関心の分割を可能にします。Sawtoothアーキテクチャの主要なコンポーネントは次のとおりです。

  • 分散台帳:このコンポーネントは、すべての取引とスマートコントラクトの実行の記録を維持する責任があります。台帳はネットワーク内のすべてのノードに複製され、取引は並列で処理されてパフォーマンスが向上します。
  • トランザクションプロセッサー:このコンポーネントは取引の処理と台帳の状態の更新を担当しています。また、スマートコントラクトエンジンである「ソートゥース・レイク」と呼ばれるものも含まれており、スマートコントラクトの簡単な展開や実行を可能にしています。
  • コンセンサスアルゴリズム:このコンポーネントは、ネットワークが台帳の状態に合意に達することを確認する責任があります。Sawtoothは、PoET、PBFT、Raft、Devmodeを含む複数のコンセンサスアルゴリズムをサポートしています。
  • REST API: このコンポーネントは、台帳とトランザクションの相互作用のためのRESTful APIを提供します。既存のシステムとの簡単な統合を可能にし、複数のプログラミング言語をサポートしています。
  • バリデーター:このコンポーネントは、取引やブロックが台帳に追加される前に検証を行う責任があります。取引が適切に形成され、スマートコントラクトのルールに準拠していることを確認します。
  • トランザクションスケジューラー:このコンポーネントは、ネットワークによって処理されるトランザクションの順序をスケジューリングする責任があります。競合するトランザクションが衝突を回避し、台帳の一貫性を維持する方法で処理されることを保証します。
  • コンセンサス エンジン: 各コンセンサスアルゴリズムには、それぞれ独自のエンジンがあり、コンセンサスプロトコルを実行し、システムの他のコンポーネントと通信します。

ハイパーレジャー ソートゥースが動作しています

ハイパーレジャー・ソートゥースはさまざまな分散台帳アプリケーションを構築するために使用できます。ソートゥースが異なる産業でどのように使用されるかの例には、以下のものがあります。

  • サプライチェーン管理:Sawtoothを使用して、改ざん防止および透明性のあるサプライチェーン管理システムを構築することができます。出発地から最終目的地までの商品の移動を追跡し、関係者全員に対して可視性と責任を提供することができます。
  • 金融サービス:Sawtoothは、金融取引や記録管理のための安全で効率的なシステム構築に利用できます。貿易ファイナンス、デジタル資産管理、コンプライアンス報告などの活動に使用できます
  • ヘルスケア:Sawtoothを使用して、医療提供者間で医療記録を共有するための安全でプライベートなシステムを構築することができます。患者データが認可された当事者のみアクセスできるようにし、医師、病院、保険会社間でデータを効率的に共有する方法を提供します
  • アイデンティティ管理: Sawtoothは、分散型で改ざん防止システムを構築するために使用することができます。アイデンティティや資格情報を格納し、検証し、サービスやリソースへの安全でプライベートなアクセスを提供するために使用することができます。
  • エネルギー管理: Sawtoothを使用して、エネルギーの生産、配布、消費を管理し追跡するシステムを構築することができます。ピアツーピアのエネルギートレーディングを可能にし、再生可能エネルギークレジットを追跡・検証し、マイクログリッドからのエネルギーの配布を管理するために使用することができます。

これらはわずかな例に過ぎず、Sawtoothは幅広い他の産業やアプリケーションで利用する柔軟性があります。Sawtoothのモジュラーアーキテクチャと異なるコンセンサスアルゴリズムへの対応は、幅広いユースケースに使用できる分散台帳の構築と展開のための強力なプラットフォームとなっています。

サマータイムがやってきました。スキルアップの時間です! DSAの基本からフルスタック、バックエンド開発、データサイエンスなどの高度な開発プログラムまで、5000人以上の学習者が旅を完了しました。
\
そして、私たちのどこに行く必要がありますかDSA to Development: コーディングガイドこれらすべてを数ヶ月でマスターできるようお手伝いします!今すぐご応募くださいDSA to 開発プログラムそして、私たちのカウンセラーがさらなるガイダンスとサポートのためにあなたと連絡を取ります。

免責事項:

  1. この記事は[から転載されましたgeeksforgeeks]. すべての著作権は元の著者に帰属します[geeksforgeeks]. If there are objections to this reprint, please contact the Gate Learnチーム、そして彼らは迅速に対処します。
  2. 責任の免責事項:この記事で表現されている意見や見解は、著者個人のものであり、いかなる投資アドバイスを意味するものではありません。
  3. 他の言語への記事の翻訳はGate Learnチームによって行われます。特に言及がない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

ブロックチェーン内のハイパーレジャー・ソートゥース

初級編6/3/2024, 3:07:33 PM
Hyperledger Sawtoothは、分散台帳ネットワークやアプリケーションを作成できるエンタープライズブロックチェーンプラットフォームです。この記事では、プラットフォームの動作方法やコア属性、さらにはその応用シナリオを紹介します。

ハイパーレジャー ソートゥースは、分散台帳ネットワークとアプリケーションを作成する企業向けブロックチェーンプラットフォームです。設計思想は、特に企業向けの分散台帳の維持とスマートコントラクトのセキュリティに焦点を当てています。ソートゥースは、ブロックチェーン技術をサービスとして利用しています(BaaS)。
Sawtoothも非常にモジュラーです。このモジュラリティにより、企業やコンソーシアムはそれぞれの専門分野で方針を決定することができます。Sawtoothの基本設計により、アプリケーションはユニークなビジネス要件に最適なトランザクション、許可、およびコンセンサスアルゴリズムを選択することができます。今日使用されているほとんどのブロックチェーンベースのシステムは、コアとアプリケーションを同じプラットフォームでホストおよび実行するため、セキュリティとパフォーマンスの両方に影響を与える可能性があります。

Hyperledger Sawtoothとは何ですか?

ハイパーレジャー・ソートゥースは、カスタマイズされたスマート契約を実行することができるオープンソースのエンタープライズ・ブロックチェーン・アズ・ア・サービス・プラットフォームです。このプラットフォームは、コアシステムの基本設計を知る必要がない。

  • PBFTやPoETなど、さまざまなコンセンサスアルゴリズムをサポートしています。
  • そのユーザーフレンドリーなデザインは、企業利用において完璧なパフォーマンスを提供します。
  • 独自の権限設定をサポートしており、機密情報を明かすことができる中央集権的なサービスはありません。

Hyperledger Sawtoothの動作原理はどのようになっていますか?

Hyperledger Sawtoothは、分散台帳(またはブロックチェーンとも呼ばれる)を構築し、展開し、実行するためのモジュラープラットフォームです。これには、信頼できる実行環境(TEEs)を使用して合意が公正かつ効率的に達成されるようにする革新的な合意アルゴリズム「Proof of Elapsed Time」(PoET)が含まれています。 Sawtoothには、プラグ可能な合意アルゴリズムを可能にするモジュラーデザインがあり、許可されたネットワークと非許可ネットワークの両方をサポートしています。

  • Sawtoothの中核コンポーネントは、すべてのトランザクションとスマートコントラクトの実行のログを記録する分散台帳です。この台帳はネットワーク内のすべてのノードにレプリケートされ、トランザクションは並列で処理されてパフォーマンスが向上します。
  • Sawtoothには、スマートコントラクトエンジンである「Sawtooth Lake」も含まれており、スマートコントラクトの簡単な展開と実行が可能です。プラットフォームは台帳とトランザクションの送信に対応するRESTful APIも提供しています。
  • Sawtoothは非常にスケーラブルに設計されており、数千のノードと毎秒数百万の取引をサポートできます。
  • 全体的に、Hyperledger Sawtoothは、幅広いアプリケーションに使用できる、柔軟でパワフルなプラットフォームであり、サプライチェーン管理、デジタル資産追跡、投票システムなどの分散台帳の構築と展開に適しています。
  • Hyperledger Sawtoothは、コア台帳システムを各アプリケーションに関連する環境から分離することで、アプリを開発する際にシステムのセキュリティを維持しながら、より簡単にする。
  • アプリケーション開発者は、コアシステムの基盤となるアーキテクチャを理解する必要はなく、自分のアプリケーションに適したビジネスルールを記述することができます。この設計により、開発者は、お気に入りのプログラミング言語でホスト、管理、および使用できるアプリケーションを構築することができます。これらのアプリケーションは、コアブロックチェーンネットワークの外部でホスト、管理、および使用することができます。

ハイパーレジャー Sawtooth コンセンサスアルゴリズム

Hyperledger Sawtoothには、プラグイン可能なコンセンサスアルゴリズムを利用できるモジュラーデザインが含まれています。 Sawtoothでサポートされている一部のコンセンサスアルゴリズムには、

SKIP

  1. PoET(Proof of Elapsed Time):これはSawtoothのデフォルトのコンセンサスアルゴリズムです。信頼できる実行環境(TEEs)を使用して、コンセンサスが公正かつ効率的に達成されるようにします。 PoETはランダムなリーダー選出プロセスと待機時間を使用して、すべての参加者がリーダーとして選ばれる均等なチャンスを持つようにします。
  2. PBFT (Practical Byzantine Fault Tolerance): これは、分散システムで広く使用されている古典的なコンセンサスアルゴリズムです。ネットワークがコンセンサスに達することを確実にするために、レプリカの投票プロセスを使用します。 PBFTは、既知の参加者セットを持つ許可されたネットワークに適しています。
  3. Raft: 分散システム向けに設計され、変更のペースが速いRaftはコンセンサスアルゴリズムです。リーダーに基づいた方法論を使用し、迅速なネットワーク分断の回復を可能にします。
  4. Devmode: この簡単なコンセンサス技術は、テストや開発を目的としています。コンセンサスを必要とせず、トランザクションの並列処理を可能にします。

より高度な合意アルゴリズム、例えばPoA(権威の証明)、PoS(ステークの証明)などは、対応する合意エンジンをインストールすることでSawtoothでも使用できます。
全体として、Sawtoothのモジュラーデザインは、パフォーマンス、セキュリティ、および信頼モデルなど、アプリケーションの特定の要件に基づいて異なるコンセンサスアルゴリズムの使用を可能にします。

Hyperledger Sawtoothの特長

1. アプリケーションレベルとコアシステムとの分離

Sawtoothは、アプリケーションレベルとコアシステムレベルを分離し、プログラムの設計と展開を容易にします。アプリケーション開発者は、Sawtoothの助けを借りて、任意の言語で契約ロジックを設計できます。Sawtoothはスマートコントラクトのための抽象化を提供します。アプリケーションには、ネイティブのビジネスロジックやスマートコントラクトのための仮想マシンが含まれます。実際、単一のブロックチェーンは両方のアプリケーションタイプをサポートする可能性があります。これらのアーキテクチャオプションは、Sawtoothによってトランザクション処理レイヤーで実現され、同じブロックチェーンネットワークインスタンス内で複数のアプリケーションタイプが共存することが可能になります。

2. プライベートネットワークにおけるソートゥースの許可機能

Sawtoothは許可された(プライベート)ネットワークに関連する問題に対処するために作成されました。Sawtoothノードクラスターは独自の許可を持って簡単に展開できます。取引パターンや他のプライベートデータを誤って明らかにする可能性のある中央集権的なサービスは存在しません。役割とアイデンティティは、ネットワークを使用する全員がアクセスできるようにブロックチェーンに保存される権限を定義するパラメータの一部です。

3. 並列トランザクション実行

ほとんどのブロックチェーンは、各ネットワークノードで一貫した順序を保証するために、直列トランザクション処理を要求します。Sawtoothの最先端の並列スケジューラーは、トランザクションを並列フローに分割します。 Sawtoothは、トランザクションの実行を互いに隔離しながら、トランザクションがアクセスする状態の場所に基づいてコンテキストの変更を保持します。 同じ状態が複数回変更された場合でも、二重支払いを回避するためにトランザクションは並列で実行されます。 直列実行に比べて、並列スケジューリングは、著しい速度向上の可能性を提供します。

4. Ethereum契約はSethと互換性があります

Sawtoothプラットフォームは、Sawtooth-Ethereum統合プロジェクトであるSethのおかげで、現在Ethereumとの相互運用が可能です。Sethトランザクションファミリーにより、Sawtooth上でEVM(Ethereum Virtual Machine)スマートコントラクトの展開が可能になりました。

5. ダイナミックコンセンサス

ブロックチェーンにおけるコンセンサスとは、ネットワーク参加者間での理解の達成を指します。任意の欠陥を持つコンセンサスを達成するためには、通常、アルゴリズムは予め決められた参加者グループの間で投票を行います。ナカモトスタイルのコンセンサスおよび従来のビザンティン容錯許容(BFT)アルゴリズムのバリエーションは、明示的な投票の多数ラウンドを使用してコンセンサスに達するために使用されます。前者は、ある種の抽選システムによってリーダーを選出します。Sawtoothは、コンセンサスをトランザクションの意味論から分離し、コンセンサスの基本的な考え方を抽象化します。コンセンサスAPIを介してバリデータと通信するコンセンサスエンジンとして、Sawtoothのコンセンサスインターフェースはさまざまなコンセンサス実装をプラグインすることを許可します。

6. サンプルトランザクションファミリー

Sawtoothノード上のトランザクションプロセッサとして機能するトランザクションファミリーは、Sawtoothアプリケーション内のデータモデルとトランザクション言語を実装します。 Sawtoothには、モデルとして多数の基本的なトランザクションファミリーが含まれていますが、ほとんどのアプリケーション開発者は、自身の台帳の特定のニーズに合わせて独自のトランザクションファミリーを作成します。

  • デプロイされた台帳をテストするために、開発者は整数キーを使用します。
  • オンチェーン構成設定は、Settingsによって提供される参照実装を使用して保存することができます。
  • Identity-Manages on-chain permissioning for transactor and validator keys to simplify handling identities for collections of public key lists.
  • イベントシステム:イベントはHyperledger Sawtoothを使用して作成およびブロードキャストすることができます。これにより、アプリケーションは次のことができます:
    • ブロックチェーン関連のイベントが発生した場合に通知を受け取る、新しいブロックが確定されたときやフォークが発生したときなど。
    • アプリケーションに固有で、トランザクションファミリーによって指定されたイベントに登録する。
    • 状態に詳細を保存せずに、取引がどのように実行されたかを顧客に通知します。
    • ZMQソケットを介して、サブスクリプションが送信および維持されます。

ハイパーレジャー・ソートゥースのアーキテクチャ要素

ハイパーレジャー ソートゥースのアーキテクチャのコア要素について話し合いましょう:

1. イベントシステム

どんなハイパーレジャーのソートゥースの例を見ても、イベントシステムは主にイベントが問題なく作成され、ノードに送信されることを保証します。その結果、イベントシステムを使用すると、イベントにサブスクライブし、自動的に新しい情報を取得するアプリケーションを作成できます。これらのことは通常、ソートゥースプラットフォームがよりスムーズに稼働するようにします。イベントからノードが必要とする情報を収集することは、完全なコンセンサスの維持に貢献します。

2. Sawtooth-Ethereum Integration Project (Seth)

Sawtoothの主な特徴の1つです。Hyperledger Sawtoothを理解するためには、この機能に慣れている必要があります。Ethereumの機能を組み込んだすべてのHyperledger Sawtoothの例に現れます。しかし、それは具体的に何をするのでしょうか? Ethereumの特性に対してどのようなアプリケーションがあるのでしょうか? したがって、この小さなコンポーネントは、両プラットフォーム間のギャップを埋めるのに役立ちます。その結果、この要素を使用してこれら2つのプラットフォーム間の互換性を実現することができます。 Sethが提供できる機会の数をご存知ですか? これはHyperledger Sawtoothの設計に素晴らしい追加ですので、商業プロジェクトで必要な場合は使用してください。

3. プラグイン可能な合意アルゴリズム

Hyperledger Sawtoothアーキテクチャにプラグイン可能なコンセンサスアルゴリズムを含めることは、別の魅力的な特徴です。プラグイン可能なコンセンサスメカニズムは、ブロックチェーンセクターの素晴らしい新しい進歩です。プラットフォームが必要とするコンセンサスメカニズムを選択できます。当然ですが、一部のユースケースには適したコンセンサスのみがあります。ビジネスブロックチェーンに基づく製品を構築するには、柔軟性が必要です。その結果、Sawtoothのプラグイン可能なコンセンサスはダイナミクスを前面に押し出します。

4. トランザクションファミリーモデル

トランザクションファミリーは、スマートコントラクトに機能を提供するなど、さまざまな操作を提供します。例を見ればわかるように、トランザクションファミリーを使用しないと、Hyperledger Sawtoothシステムを使用することはできません。

  • ブロック情報トランザクションファミリー:ブロック情報トランザクションファミリーを使用すると、ブロックに関連する情報を保存できます。
  • 小さな銀行取引ファミリー:実践では、このファミリーは、会社の実現可能性を評価し、テストするのに最適です。
  • トランザクションファミリーの設定: 設定ファミリーの支援を受けて、オンチェーンのセットアップを保存することができ、それによってそのようなことを行うための参照モデルも提供されます。
  • バリデーターレジストリトランザクションファミリー:これを使用して、システムのバリデーターを追加することでシステムのバリデーターを拡張します。これを使用しないと、バリデーターを追加することはできません。したがって、これは絶対に必要です。
  • 整数キー取引ファミリー:すべての展開された台帳のリソースフリーテストを可能にする最高の取引ファミリーの一つ。
  • XO トランザクションファミリー: これはネットワーク全体のより面白い解釈です。 ネットワークの作成者は少しエキストラのフレアを与えたかったため、Sawtoothには〔〕も含まれていました。 これにより、任意のノードと遊ぶことができます。
  • 識別トランザクションファミリー: 主にデータの保存に使用されます。具体的には、検証者がアクセスを許可されたデータです。さらに重要なのは、ノードに関する詳細を追跡し、それには彼らの公開鍵などが含まれます。

システムには他にも2つの追加の取引ファミリーがあります。それらは比較的最近追加されたものです。

  • Seth トランザクションファミリー:Seth トランザクションファミリーのおかげで、Ethereum ブロックチェーン向けに作成されたアプリケーションをネットワーク上で使用できます。これは、Solidity で構築されたスマートコントラクトやその他のアプリを使用できることを意味します。
  • サーベルトランザクションファミリー:サーベルトランザクションファミリーはスマートコントラクトを使用する別の方法です。これは、WASMまたは仮想WebAssemblyマシンでスマートコントラクトを実行するために使用できます。これにより、スマートコントラクトをチェーン上で実行することが可能になります。

Hyperledger Sawtoothの応用

  • X O:シンプルなトランザクションを作成する方法を示すために三目並べのゲームをプレイします。 X O トランザクションファミリー内のコンストラクトおよびテイクトランザクションは、2人のプレーヤーがゲームをプレイできる X O コマンドを提供します。詳細については、X O トランザクションファミリーをご確認ください。
  • ソートゥースサプライチェーン:ソートゥースサプライチェーンは、任意のアイテムの起源やその他の関連するコンテキストデータを追跡する方法を示しています。サプライチェーンには、Webアプリ、専用のREST API、およびトランザクションプロセッサを含むサンプルアプリケーションが用意されています。この例のアプリケーションでは、複雑なクエリ用のブロックチェーンの状態をローカルデータベースに同期させる方法や、ブラウザ内でのトランザクション署名のための分散型方法も示されています。
  • Sawtooth Marketplace: ブロックチェーン上で、Sawtoothマーケットプレイスは特定数量の専門資産を交換する方法をユーザーに指示します。Sawtoothバリデーターとその他のいくつかのコンポーネントの支援を受けて、この例のアプリケーションはSawtoothブロックチェーンを実行し、それと通信するためのわかりやすいRESTful APIを提供します。

取引プロセスのサポートされている言語

Hyperledger Sawtoothは、トランザクションプロセスで複数のプログラミング言語の使用をサポートしています。サポートされている言語の中には、

  1. Python:Sawtoothは、「Sawtooth SDK」と呼ばれるPythonライブラリを提供し、開発者が台帳とトランザクションを送信することができるようにします。
  2. JavaScript:Sawtoothは、「Sawtooth JavaScript SDK」というものを通じてJavaScriptをサポートしており、台帳とやり取りするためのAPIセットを提供しています。
  3. Sawtoothは、Sawtooth Go SDKを介してGoのサポートも提供しており、これによりGoベースのアプリケーションとの簡単な統合が可能です。
  4. C++:Sawtoothはまた、「Sawtooth C++ SDK」を介してC++にも対応しており、台帳とのやり取りのためのC++ APIを提供しています。

Sawtoothの提供するRESTful APIを使用することで、Java、Rust、Shellなどの他の言語も利用できます。 Sawtoothは複数のプログラミング言語をサポートしているため、既存のシステムと簡単に統合でき、さまざまなユースケースに対応できます。

ハイパーレジャー Sawtooth 開発アーキテクチャ

Hyperledger Sawtoothのモジュラーアーキテクチャにより、さまざまなシステムコンポーネント間で関心の分割を可能にします。Sawtoothアーキテクチャの主要なコンポーネントは次のとおりです。

  • 分散台帳:このコンポーネントは、すべての取引とスマートコントラクトの実行の記録を維持する責任があります。台帳はネットワーク内のすべてのノードに複製され、取引は並列で処理されてパフォーマンスが向上します。
  • トランザクションプロセッサー:このコンポーネントは取引の処理と台帳の状態の更新を担当しています。また、スマートコントラクトエンジンである「ソートゥース・レイク」と呼ばれるものも含まれており、スマートコントラクトの簡単な展開や実行を可能にしています。
  • コンセンサスアルゴリズム:このコンポーネントは、ネットワークが台帳の状態に合意に達することを確認する責任があります。Sawtoothは、PoET、PBFT、Raft、Devmodeを含む複数のコンセンサスアルゴリズムをサポートしています。
  • REST API: このコンポーネントは、台帳とトランザクションの相互作用のためのRESTful APIを提供します。既存のシステムとの簡単な統合を可能にし、複数のプログラミング言語をサポートしています。
  • バリデーター:このコンポーネントは、取引やブロックが台帳に追加される前に検証を行う責任があります。取引が適切に形成され、スマートコントラクトのルールに準拠していることを確認します。
  • トランザクションスケジューラー:このコンポーネントは、ネットワークによって処理されるトランザクションの順序をスケジューリングする責任があります。競合するトランザクションが衝突を回避し、台帳の一貫性を維持する方法で処理されることを保証します。
  • コンセンサス エンジン: 各コンセンサスアルゴリズムには、それぞれ独自のエンジンがあり、コンセンサスプロトコルを実行し、システムの他のコンポーネントと通信します。

ハイパーレジャー ソートゥースが動作しています

ハイパーレジャー・ソートゥースはさまざまな分散台帳アプリケーションを構築するために使用できます。ソートゥースが異なる産業でどのように使用されるかの例には、以下のものがあります。

  • サプライチェーン管理:Sawtoothを使用して、改ざん防止および透明性のあるサプライチェーン管理システムを構築することができます。出発地から最終目的地までの商品の移動を追跡し、関係者全員に対して可視性と責任を提供することができます。
  • 金融サービス:Sawtoothは、金融取引や記録管理のための安全で効率的なシステム構築に利用できます。貿易ファイナンス、デジタル資産管理、コンプライアンス報告などの活動に使用できます
  • ヘルスケア:Sawtoothを使用して、医療提供者間で医療記録を共有するための安全でプライベートなシステムを構築することができます。患者データが認可された当事者のみアクセスできるようにし、医師、病院、保険会社間でデータを効率的に共有する方法を提供します
  • アイデンティティ管理: Sawtoothは、分散型で改ざん防止システムを構築するために使用することができます。アイデンティティや資格情報を格納し、検証し、サービスやリソースへの安全でプライベートなアクセスを提供するために使用することができます。
  • エネルギー管理: Sawtoothを使用して、エネルギーの生産、配布、消費を管理し追跡するシステムを構築することができます。ピアツーピアのエネルギートレーディングを可能にし、再生可能エネルギークレジットを追跡・検証し、マイクログリッドからのエネルギーの配布を管理するために使用することができます。

これらはわずかな例に過ぎず、Sawtoothは幅広い他の産業やアプリケーションで利用する柔軟性があります。Sawtoothのモジュラーアーキテクチャと異なるコンセンサスアルゴリズムへの対応は、幅広いユースケースに使用できる分散台帳の構築と展開のための強力なプラットフォームとなっています。

サマータイムがやってきました。スキルアップの時間です! DSAの基本からフルスタック、バックエンド開発、データサイエンスなどの高度な開発プログラムまで、5000人以上の学習者が旅を完了しました。
\
そして、私たちのどこに行く必要がありますかDSA to Development: コーディングガイドこれらすべてを数ヶ月でマスターできるようお手伝いします!今すぐご応募くださいDSA to 開発プログラムそして、私たちのカウンセラーがさらなるガイダンスとサポートのためにあなたと連絡を取ります。

免責事項:

  1. この記事は[から転載されましたgeeksforgeeks]. すべての著作権は元の著者に帰属します[geeksforgeeks]. If there are objections to this reprint, please contact the Gate Learnチーム、そして彼らは迅速に対処します。
  2. 責任の免責事項:この記事で表現されている意見や見解は、著者個人のものであり、いかなる投資アドバイスを意味するものではありません。
  3. 他の言語への記事の翻訳はGate Learnチームによって行われます。特に言及がない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。
Start Now
Sign up and get a
$100
Voucher!
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.