I am wondering of how to maintain provenance in a network while using channels. In marbles example, lets say Regulator, Manufacturer, country dealer and retailers are transacting on a blockchain network. Regulator,Manufacturer and dealer are transacting on Channel1 whereas dealer transact with retailer1 on Channel2 and with retailer2 on Channel3, just to keep privacy on selling price for different retailers. As marble1 was originated in Channel1 by the manufacturer , How do the same marble is available in Channel2 or Channel3 for transactions without duplicating the marble and keeping its provenance to Channel1.
-
did you find the answer to this question? I am trying to find a solution for a similar usecase. – rakmoh Sep 28 '17 at 15:15
-
There is some information about this here: https://stackoverflow.com/questions/44896255/how-do-we-enforce-privacy-while-providing-tracing-of-provenance-using-multiple-c – rakmoh Sep 28 '17 at 15:53
2 Answers
I don't know how works the marbles example. However, I think that not all the participants could see all the information and provenance for a marble.
The dealer is in the three channels, so he would be duplicating the info in the three channels. The dealer would has an application that links all the info.
I believe that this issue is more related to the client application.

- 1,479
- 1
- 14
- 20
It is related to client code. A channel cannot send data to other channel due to privacy in fabric. One can implement state of transaction in application code. One way to achieve it through the application code could be to keep id of marble same in all channnels and then run GetHistoryForKey() method on different channel and then accumulate txns in one place in client app to arrive at a solution.

- 101
- 1
- 4