同一通道包括若干组织,其中部分组织需要实现隐私数据的共享。
方法概述:通过在链上记录隐私数据的hash值,确保数据后续可验证,而隐私数据仅在需要共享的组织之间传输,并存储在相应共享节点中。
流程:
(1)客户端将隐私数据按照智能合约逻辑处理并向隐私数据授权组织的背书节点发起交易读取/写入申请;
(2)隐私数据授权组织的背书节点对交易进行验证,并将隐私数据存入到private state,并将隐私数据通过gossip按照之前约定的隐私数据授权组织集合进行分发;
(3)隐私数据授权组织的背书节点将背书结果返回给客户端,返回结果包括背书结果读写集,包括背书的结果以及隐私数据的hash值,在此过程中不会在返回隐私数据;
(4)客户端将收集到的背书结果集合提交指排序节点ordering,之后ordering节点将包含隐私数据hash值的交易结果发送给所有的提交节点;
(5)在区块提交阶段,隐私数据授权组织需要根据隐私数据对交易中的hash值进行验证。
隐私数据授权组织节点和普通节点存储数据结构的不同如下图所示:
参考文献:https://hyperledger-fabric.readthedocs.io/en/release-2.0/private-data/private-data.html