Fabric官方文档---Key Concepts---Private data

news/2024/5/18 4:04:03 标签: 区块链, fabric, 官方文档

1.1 问题背景:

如果某个渠道上的一组组织需要将数据与该渠道上的其他组织保密,则他们可以选择创建一个仅包含需要访问数据的组织的新渠道。 但是,在每种情况下创建单独的渠道都会产生额外的管理开销(维护链码版本,策略,MSP等),并且channel不允许参与者都看到交易同时又保留一部分交易的用例。 

Private data 使渠道上已定义的组织子集能够认可,提交或查询私有数据,而无需创建单独的渠道。

1.2 私有数据收集什么

一是实际的私有数据,通过gossip协议发送peer-to-peer 给有权查看的组织

此数据存储在授权组织对等方的私有状态数据库中,可以从这些授权对等方上的链码进行访问。排序服务看不到私有数据。

需要注意的是,由于gossip在授权组织之间分配所有数据peer-to-peer,需要引导锚节点,在每个peer上配置CORE_PEER_GOSSIP_EXTERNALENDPOINT,以引导跨组织通信

二是该数据的哈希值,已经背书、排序、写到channel中每个peer结点的账本中。

hash用作事务的证据,并且用于状态验证以及审计目的。

下图展示了授权的peer结点有私有数据:

如果收集成员发生争议或想要将资产转让给第三方,则收集成员可以决定与其他方共享私人数据。 然后,第三方可以计算私有数据的哈希值,并查看其是否与通道分类帐上的状态匹配,从而证明该状态在某个时间点存在于集合成员之间。

问题:When to use a collection within a channel vs. a separate channel

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

1.3 A use case to explain collections

考虑一个在渠道上交易产品的五个组织:

  • 一位农民在国外出售商品
  • 一家将货物运往国外的分销商
  • 托运人在各方之间移动货物
  • 批发商分销商处购买商品
  • 零售商托运人和批发商那里购买商品

分销商可能希望与农民和托运人进行私下交易,以使批发商和零售商对交易条款保密(以免暴露他们收取的加价幅度)。

分销商可能还希望与批发商建立单独的私人数据关系,因为它向零售商收取的价格要比零售商低。

批发商可能还希望与零售商和托运人建立私人数据关系。

可以为多个关系之间定义共享多个私有数据集合(PDC),而不是为这些关系中的每个定义许多小渠道。

PDC1:分销商,农民和托运人
PDC2:分销商和批发商
PDC3:批发商,零售商和托运人

使用此示例,分发者拥有的对等方将在其分类账中拥有多个私有数据库,其中包括来自分发者,农民和托运人关系以及分发者和批发商关系的私有数据。

1.4 Transaction flow with private data

当在链码中引用私有数据集合时,事务流程会略有不同,以便在提议,认可并提交给分类帐的事务时保护私有数据的机密性。

1.5 Sharing private data

在许多情况下,一个集合中的私有数据键/值可能需要与其他渠道成员其他私有数据集合共享,作为交易的一部分,接收方通常会希望根据链上的散列来验证私有数据。

1.6 Purging private data

1.7 How a private data collection is defined


http://www.niftyadmin.cn/n/962526.html

相关文章

tensorflowgpu利用率为0_运用仿真模拟提高锻件钢材利用率

万向钱潮传动轴有限公司拥有5个专业工厂,1个研究所,专业研发、制造各类传动轴、转向管柱、EPS等汽车零部件。公司利用仿真模拟技术优化制坯工艺、模具增加阻力埂设计、立式封闭锻工艺、买入钢材长度定制等,重点通过新技术的手段深挖节材空间&…

USB协议详解第0讲(系列博文介绍)

目录 1.课程目标 2.简单介绍 3.课程大纲 1.课程目标 USB协议详解旨在为大家通俗理解USB通讯协议,我会带着大家一步一步理解USB通讯中的各种概念及通讯方式,并且会借助于USB Protocol Analysis软件一步一步对USB的协议进行抓包分析。软件界面如下&…

Fabric官方文档---Operations Guides---Access Control Lists (ACL)

1.1 What is an Access Control List? 注意:本主题在通道管理级别上处理访问控制和策略。 要了解链码中的访问控制,请查看我们的开发人员链码教程。 Fabric通过将策略与资源相关联,使用访问控制列表(ACL)来管理对资…

python删除列表第几个元素_python-----删除列表中某个元素的3种方法

原博文 2019-03-20 14:57 − python中关于删除list中的某个元素,一般有三种方法:remove、pop、del: 1.remove: 删除单个元素,删除首个符合条件的元素,按值删除举例说明: >>> str[1,2,3,4,5,2,6] >>> str.remove…

Fabric官方文档--Key Concepts--Smart Contracts and Chaincode

从应用程序开发人员的角度来看,智能合约与分类帐一起构成了Hyperledger Fabric区块链系统的核心。 账本保存有关一组业务对象的当前和历史状态的事实,而智能合约定义可执行逻辑,是生成添加到账本中的新事实的可执行逻辑。 管理员通常使用链…

三部门共建国家智能交通综合测试基地

工业和信息化部、公安部、江苏省人民政府共建国家智能交通综合测试基地 2017年9月10日,工业和信息化部、公安部、江苏省人民政府共建的国家智能交通综合测试基地在无锡正式揭牌。江苏省副省长马秋林、工业和信息化部科技司司长陈因、公安部交通管理局局长刘钊、江苏…

android:使用Gon解析解析json

android中有提供json的解析,但其JsonReader的SDK是从3.0之后才能使用的 其解析方法可参考http://developer.android.com/reference/android/util/JsonReader.html 对于低版本的我们可以使用一些外加包来方便实现解析 使用Gson包 com.google.gson.stream.JsonReader …

python函数调用时参数位置可不可以调整_python函数中的位置参数、默认参数、关键字参数、可变参数区别...

原博文 2017-10-06 17:25 − 一、位置参数 调用函数时根据函数定义的参数位置来传递参数。 #!/usr/bin/env python # codingutf-8 def print_hello(name, sex): sex_dict {1: u先生, 2: u女士} print hello %s %...06128 相关推荐 2019-09-28 21:13 − Python python是一种跨平…