假设我有一个Hyperledger-Fabric应用程序,不同的成员可以在其中评论彼此的个人资料图片。
进一步假设有三个成员(“组织”):亚当,鲍勃和萨拉。
此外,在Adam和Bob Fabric之间使用了新的“私有数据”功能。该功能还用于亚当和莎拉之间。
假设有一个名为“ addCommentToProfile”的事务,可用于向其他概要添加注释。
假设Sarah发送事务“ addCommentToProfile”,并添加注释“您的头发看起来很好!”到亚当的个人资料。
鲍勃看不到交易的结果(在亚当的个人资料上有一条新评论“你的头发看起来很好!”)?
我的理解是鲍勃看不到该评论。因为就我而言,使用私有数据需要拥有一个独立的世界状态。因此,亚当相对于莎拉有一个特征,而鲍勃则具有另一个特征。
我的理解正确吗?
答案 0 :(得分:1)
在亚当和鲍伯的关系中,您所拥有的是他们之间的私人交易。数据本身位于Sarah无法访问的私有独立数据库中。
在文档中,它们被称为特定组织之间的私有数据集合,并且不存储在分类帐数据库中。此外,所涉及的两个组织的每个对等方都将拥有自己的此辅助数据副本,这意味着与这些对等方进行通信的API可以访问该数据。莎拉(Sarah)将没有数据,因为它不会发送给该组织的同行。
因此,您介绍的场景似乎是准确的。
但是,您提到的是组织,但您真正拥有的是用户。您将不会为每个用户拥有一个组织。您将拥有属于组织的用户,以便两个组织中的任何人都可以看到数据,因为他们都可以访问该组织的对等方。
这是我目前的理解
答案 1 :(得分:1)
私有数据功能由私有数据集合(组织)的成员通过八卦协议共享与自身之间的交易有关的私有数据。只有在集合成员之间共享的私有数据的哈希才被写入分类帐。
就您的问题而言,答案是肯定的,您正确理解-至少基于所写内容。
您可以在documentation中了解有关此功能的更多信息。
答案 2 :(得分:0)
是的,您的理解是正确的。
使用Fabric中的“私有数据”功能,您可以从与您的组织在同一频道上的组织隐藏数据,但是您不希望他们看到您的数据。在通道中仅发送数据的哈希。发送哈希值可防止未经授权的组织和订购服务看到您的数据。
答案 3 :(得分:0)
很简单。
在结构应用程序(v1.2)中,有三个组织Adam(org1),Bob(org2)和Sara(org3)。并且您正在adam(org1)和sara(org3)之间的通道上定义组织的子集。您正在创建一个仅由Adam(org1)和sarah(org3)组成的私有数据收集通道。 请注意,您并不是要创建单独的频道。
因此,只有亚当(org2)的这些方之间才可见数据。亚当(org2)将仅获得哈希值。散列可作为交易的证据,用于状态验证,可用于审计目的。但是您的数据保持私有(加密)状态。 是的,你是对的。
答案 4 :(得分:0)
以您的说法,鲍勃会看到莎拉评论了亚当的个人资料(哈希),但他看不到评论是什么,而亚当和莎拉将看到评论的内容。