web-dev-qa-db-ja.com

Hyperledger Fabric v1のチャネルとは正確には何ですか?

これは、Fabricv1アーキテクチャに関連する質問です。

私の理解では、ピアは注文サービスのチャネルにサブスクライブし、作成時にチャネル関連のブロックをそこから受け取ります。そう:

  • チャネルはブロックチェーンの分割(パーティション化)のようなものであるため、各チャネルは、独自の増分整数シーケンス番号(seqno)を持つ独立したブロックチェーンのようなものだと思います。
  • 各トランザクションブロードキャストは、特定のチャネルのスコープ内で実行する必要があります(おそらく、デフォルトのパブリックチャネルを使用します)。

これは正しいです?

明らかにチャネルはスケーリングに役立ちますが、プライバシーに対処することも目的としていますか?

もしそうなら、どのメンバーが特定のチャネルへのアクセス許可を持っているかを定義するいくつかの構成がありますか?

11
guillaume

チャネルは、サブネットワーク(プライベート)を作成するために使用されます。このネットワークには多数のピア(メンバー)があります。このチャネルの目的は、プライベートネットワークを準備し、機密トランザクションを実行します。

チャネルで実行されるネットワークの各トランザクション。

各チャネルには、チャネル上の各ピアに格納されている個別の元帳があります。

6
Mahendra

以前のすべての回答で述べたように、チャネルはプライバシーを追加する「独立した」チェーンと見なすことができます。そして、あなたはトランザクションが特定のチャネルで行われるということは正しいです。

ただし、ファブリックは、1つのピアに複数のチャネルを持つだけではありません。チェーンコード内で、他のチェーンコードを呼び出すことができます。そして実際には、他のチャネルからチェーンコードを呼び出すことは可能ですピアがチャネルの一部であり、チェーンコードがピアにインストールされている場合。ただし、他のチャネルでは、元帳にトランザクションが追加されないため、他のチェーンコードでのみクエリ(読み取り)を行うことができます。

3
Kyroy

私はついに答えを見つけました ここ

許可されたピアのみがサブスクライブできる機密ドメインごとに個別のチャネルを確立できます。チャネルに送信されたトランザクションは、チャネル内で相互に順序付けられるため、バッチには、他のチャネルからではなく、チャネルからのトランザクションのみが含まれます。

batchはブロックを意味します。そうです、各チャネルは、この特定のチャネルのトランザクションのみを含むトランザクションブロックの独立したチェーンです。したがって、Fabricを使用すると、同じインフラストラクチャ内で複数のブロックチェーンを実行できます(注文サービス、メンバーシップサービス...)

2
guillaume

あなたが言ったことは正しいです。チャネルはパーティションのようなものです。チャネルを作成し、ピアをチャネルに招待することができます。そのため、チャネルにアクセスできるメンバーを定義します。あるチャネルに接続しているクライアントは他のチャネルの存在を認識していないため、チャネルはプライバシーに役立ちます。

2
Chaitanya Reddy