私有数据收集的目的到底是什么?

时间:2019-06-24 20:21:11

标签: hyperledger-fabric hyperledger

如果我们知道某些组织可能希望对某些信息保密,那么为什么不创建一个单独的渠道呢?私有数据是否仅用于管理并减少通道开销?

我已经阅读了有关何时在某个渠道还是一个单独的渠道中使用集合的文档:

当必须在属于该渠道成员的一组组织中对整个交易(和分类账)保密时,使用渠道。

当必须在一组组织之间共享事务(和分类帐)时,但是当这些组织的子集应该有权访问事务中的某些(或全部)数据时,请使用集合。此外,由于私有数据是通过点对点而不是通过块进行分发的,因此在必须防止对交易数据进行订购时必须保密交易数据时,请使用私有数据收集。

3 个答案:

答案 0 :(得分:2)

是的,私有数据主要用于减少信道开销。 动态添加新的私有数据集合更加方便,轻松,并且几乎没有网络开销。

如果网络中的频道太多会导致维护的噩梦,并且会严重影响网络的性能。

何时使用多个渠道

  • 可以独立交易时

  • 渠道数量是可管理的。

何时使用私有数据收集。

  • 仅需要隐藏txn数据(机密数据)时 不能使其他用户无法查看 所涉及的各方。(其他人无论如何都只能看到数据的哈希值,但 他们会知道参与方之间存在txn。)

答案 1 :(得分:0)

为此举一个实际的例子。有一家拍卖行和3-4家定期竞标的卖家。投标类型是封闭式拍卖。拍卖行是一个节点,它将宣布要竞标的物品。所有供应商都必须可见此项目。然后,每个供应商将通过区块链提交对项目的投标。由于每个出价都是私有的,因此卖方只能查看其出价,而拍卖行具有完全的可见性。

没有私人数据 1)频道PUBLIC->拍卖行创建了一个出价,所有供应商都可以查看它 2)频道VENDOR_1,VENDOR_2,VENDOR_3-此频道上只有一个卖方和拍卖行。卖方在这里提交出价

发生的情况是,拍卖行现在必须检查多个渠道的出价,选择中标者,然后适当地更新所有渠道。在更大的规模和更复杂的系统上,相关的开销很大。您可能需要单独的模块/ API调用,以确保跨通道某些对象(出价)的状态相同。

相反,私有数据将允许使用单个通道。卖方可以提交所有人都可以查看的出价,但是将出价的价格标记为私有,因此只有拍卖行和卖方可以查看。

答案 2 :(得分:0)

想强调一个重要的区别(在您的文档引用中也是如此):私人收藏也隐藏来自订购者的交易数据,即这些交易永远不会提交订购。使用多渠道方法时,您的交易将与订购者共享。