the_lost_one
the_lost_one

Reputation: 127

fabric channel : common ledger for all it's members or can restricted access be set?

Little confused on the understanding of channels in hyperledger.

The ledger within a channel is one and the same for all of it's members ?

Consider a network with n parties in it which consists of a channel C with members 1, 2, 3.

If a transaction is sent from party 1 to 2 it would appear on the ledger of 3 as they are all part of same channel but not members 4...n as they aren't part of C !!

Usecase: Member 1 initiates a transaction with 3, in which case the ledger record of 2 shouldn't reflect the record. Does this mean I have to create a new channel with just 1 and 3 in it or can I use C with some policies of sorts?

If it's the former then that would mean creating a new channel for every possible private ledger update!

Upvotes: 0

Views: 122

Answers (1)

Artem Barger
Artem Barger

Reputation: 41222

The ledger within a channel is one and the same for all of it's members ?

The quick answer is yes, participant which agreed to create and join a channel agreed to share information and accepted channels rules.

Consider a network with n parties in it which consists of a channel C with members 1, 2, 3.

If a transaction is sent from party 1 to 2 it would appear on the ledger of 3 as they are all part of same channel but not members 4...n as they aren't part of C !!

Correct if 1, 2, 3 joined same channel they share same ledger and therefore transaction between 1 and 2 will be updated on ledger of 3.

Usecase: Member 1 initiates a transaction with 3, in which case the ledger record of 2 shouldn't reflect the record. Does this mean I have to create a new channel with just 1 and 3 in it or can I use C with some policies of sorts?

If you would like to keep private communication between 1 and 3, such that it won't be accessible by org 2, you have a few options:

  1. As you explained you can have separate channel where only participants will be peers of org 1 and 3.
  2. You might consider use encryption to prevent org 2 to read content of transaction between 1 and 3, however the fact that 2 can see transaction even encrypted reveals some business relationships between 1 and 3, therefore option #1 (to have separate channel) my be preferable.

If it's the former then that would mean creating a new channel for every possible private ledger update!

If you would like to have mutual exclusive bilateral private between pair of organization, yes you need to create a channel for each pair, thus separate ledger.

Upvotes: 2

Related Questions