web-dev-qa-db-ja.com

ハイパーレジャー内のデータストレージ

私はハイパーレジャーを学び始めました。 composer遊び場を使用してサンプルアプリを作成することで、それに慣れました。私の疑問は、ハイパーレジャーを使用した分散ストレージに関するものです。について言及しているいくつかのドキュメントを読んでください:

  • 不変性を確保するために、ブロックチェーン内のデータのハッシュを保存します。

  • Base64文字列を介して(アセットとして)ブロックチェーン内に画像を保存します。

いくつかのことは明らかでしたが、大部分は依然として不確実なままです。彼らです :

  • データはブロックチェーン内のどこに保存されますか? couchdbにありますか?
  • データがcouchdb内に保存され、マルチピアを介して新しいピアがチャネルに追加されたとすると、ピアのすべてのcouchdbが同期されることを意味しますか?

ブロックチェーンを使用したデータストレージ、分散ストレージなどについて言及しているリソース/チュートリアルは非常に役立ちます。

ありがとう!

6
Sooraj

ブロックチェーンデータ、別名元帳は、物理ファイルとして保存されます。リンクされたブロックが含まれ、各ブロックは一連のトランザクションで構成されます。各状態の変化はそこに保存されます。

対照的に、世界の状態には、アプリケーションが必要とするすべてのアセットの現在の状態のみが含まれます。

ワールドステートはデータベースとして実装されます。couchdbが適切なオプションです。より単純なものが利用可能ですが、クエリ機能の点でははるかに少ないものがあります。

もちろん、これが意味するのは、いつでも元帳から世界の状態を簡単に再現できるということです。

新しいピアがチャネルに追加されると、元帳から独自のワールド状態が作成されます。

これをすべて説明する良い読み物はここにあります: https://hyperledger-fabric.readthedocs.io/en/release-1.3/ledger/ledger.html

4

さらに明確にするために、元帳は文字通りビジネスオブジェクトを格納しませんが、それらのオブジェクトに関する重要な情報/事実を格納します-したがって、これらの重要な事実の履歴は元帳にあり、この重要な事実の現在の値は世界の状態にあります。したがって、実際のオブジェクト(事実が元帳と世界の状態に保存されているもの)は外部データストアに存在します-一種の「オフチェーン」データと呼ぶことができます。しかし、元帳に保存されている情報により、元帳に関する事実を知り、それを見つけることもできます。お役に立てれば。

2
Rahul Jain
  1. データはブロックチェーンである元帳に保存されます。 Couchdbは状態のみを保持し、元帳から更新できます。 Couchdbは、ブロックチェーンデータのクエリを高速化するのに役立ちます。
  2. はい、すべてのピアはゴシップを介して同じブロックを持ちます。 Couchdbは、元帳からデータを読み取り、それ自体の状態を作成するだけです。
1
Ashish Mishra