Hyperledger Fabric:fabric private data技术【官方文档翻译】
什么是private data技术?
在一些情况下,同一个机构的不同团体需要保证保证不同团体的隐私性,他们可以创建一个新通道,由有这个隐私数据权限的团体另外创建。
- 但是每一次都这样创建分离的通道会有很多额外的开销(维持链码版本,协议,MSPs关系等)
- 不准许在保持部分数据私有的情况下,让所有通道参与者都看到事务的发生。
这就是为什么在v1.2版本以后,Fabric提供了建立private data collections的能力。
它允许在已定义的通道(之前一般是一个组织)上,不必创建单独通道的情况下,支持背书,提交或查询私有数据。
什么是一个private data collection?
A collection 包含两个元素:
- 真实的隐私数据:经由gossip protocol到有权限获得他的机构(注意是机构)。此数据存储在授权组织对等节点上的私有状态数据库中(有时称为侧数据库或SideDB)。
通过链码获取这些授权节点。排序节点不能成为这些授权节点,也不能获取这些隐私数据。
需要注意的:需要配置anchor peers在通道 - 这个隐私数据的hash:在这个通道上的每一个节点上都有写入。作为交易存在的证据,用于验证和审计。
授权实体和未授权实体如下图:
如何验证呢?
其他paties可以计算隐私数据的散列,并查看它是否与通道分类账上的状态匹配,从而证明在某个时间点上A collection的存在状态。