read access in stream

+2 votes

As mentioned in documentation on Streams 

"As a result, read permissions in a stream should be managed through application-level encryption of each item’s data, with decryption keys distributed as appropriate. "


CEO & Founder Gideon Greenspan mentioned one implementation



As I’ve discussed previously, confidentiality is the biggest challenge in a large number of blockchain use cases. This is because each node in a blockchain sees a full copy of the entire chain’s contents. Streams provide a natural way to support encrypted data on a blockchain, as follows:


1.One stream is used by participants to distribute their public keys for any public-key cryptography scheme.
2. A second stream is used to publish data, where each piece of data is encrypted using symmetric cryptography with a unique key.
3. A third stream provides data access. For each participant who should see a piece of data, a stream entry is created which contains that data’s secret key, encrypted using that participant’s public key.

This provides an efficient way to archive data on a blockchain, while making it visible only to certain participants.


Can some one explain me in simpler terms please?


asked Feb 19, 2018 by AKM

Till Multichain 2.0 is released with feature of "selective read" for nodes . Can you please explain with an example how "read permissions in a stream should be managed through application-level encryption" ?

1 Answer

0 votes
There's a very detailed tutorial on how to do this here:
answered Feb 20, 2018 by MultiChain
How to remove access to stream.