文章来源于https://hyperledger-fabric.readthedocs.io/en/release-2.0/

  私有数据集在v1.4中提出,一直使用的是隐私数据集方式,即建立一个隐私数据集,类似一个结构体,在配置文件中指定该集合为个别组织可见,即隐私数据集的哈希在指定用户间单独传输(即满足指定节点也得不到真实数据,只能事后验证),不参与背书或者排序打包成块。而在v2.0中,换了一种新的模式,不是传输隐私数据集,而是在隐私数据集中直接包含一个组织,在隐私数据集之间进行数据的往来。

  1、接收方使用GetPrivateDataHash()这个API,从先前的私有数据交易创建的上链哈希值验证私有数据是否相匹配。

  2、私有数据收集现在可以选择覆盖为集合中链码实例化时指定的背书策略。这个功能可以用来限制哪些组织可以将数据写入到一个集合。例如,可能有一个需要大多数节点背书的背书策略,但对于任何给定的交易,你可能需要两个交易机构单独在自己的私有数据集对协议背书。

  3、不需要进行隐私数据集的定义。


  https://hyperledger-fabric.readthedocs.io/en/release-2.0/private-data/private-data.html  

  在fabric中,隐私数据集包含两部分,可以理解为key-value对,隐私数据实体是key,它的哈希是value。隐私数据集key通过gossip协议点对点直接传输,只有指定用户可见,这些数据保存在指定组织的认证节点中的私有状态数据库,可以通过安装在这些认证节点上的链码获取私有数据。排序服务自然也不可见这些数据。另外,使用gossip协议进行组织间数据传输必须要有锚节点用于数据接收广播。而value是作为传输数据,用于后续的验证和作为交易的证据。


  fabric中隐私数据的流转过程:

  1、客户端发起一个读或者写隐私数据的请求。

  2、背书节点模拟执行交易,将隐私数据存放在暂态区(节点本地的临时存储区),背书节点将隐私数据基于隐私策略分布式存储,之间通过gossip协议通信。

  3、背书节点向客户端返回响应,响应包括已经经过背书的读/写集(公开数据+hash(隐私数据)),隐私数据本体不会发送给客户端。

  4、客户端提交交易给排序节点,其中包括隐私数据的哈希,隐私数据的哈希和公开数据一起被打包成块。

  5、在块提交阶段,节点查看隐私策略确认是否有隐私数据权限,如果有,即到本地的暂态存储区确认在链码背书阶段是否已经存储了隐私数据,如果没有,就到其他的认证节点上拉取隐私数据。然后与链上存储隐私数据的块进行hash比较然后提交。一旦提交,私有数据将拷贝到私有状态数据库和私有读写集中,然后从暂态区删除。

Fabric v2.0中的隐私数据的更多相关文章

  1. PCMM(人力资源能力成熟度模型)V2.0中英对照版发布

    PCMM中英版终于发布 时光荏苒,从当初的回眸到如今的回头,这才发现:坚守一份承诺是多么的不易! 一年多了,这份承载殷切期待的作品--<PCMM(人力资源能力成熟度模型)V2.0 (中英文对照版 ...

  2. (转)Fabric 1.0 读写集

    本文译自Fabric 1.0 文档,这篇文档详述了当前读写集语义实现的细节.文档地址为: https://hyperledger-fabric.readthedocs.io/en/latest/rea ...

  3. 【JS】heatmap.js v1.0 到 v2.0,详细总结一下:)

    前段时间,项目要开发热力图插件,研究了heatmap.js,打算好好总结一下. 本文主要有以下几部分内容: 部分源码理解 如何迁移到v2.0 v2.0官方文档译文 关于heatmap.js介绍,请看这 ...

  4. HyperLedger Fabric 1.0的Transaction处理流程

    如果把区块链比作一个只能读写,不能删改的分布式数据库的话,那么事务和查询就是对这个数据库进行的最重要的操作.以比特币来说,我们通过钱包或者Blockchain.info进行区块链的查询操作,而转账行为 ...

  5. 谈谈PBOC3.0中使用的国密SM2算法

    转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/39780825 作者:小马 一 知识准备 SM2是国密局推出的一种他们自己说具有自主 ...

  6. PageAdmin Cms V2.0 getshell 0day

    黑小子在土司公布了“PageAdmin cms getshell Oday”,并给出了一个漏 洞的利用EXP.经过危险漫步在虚拟机里测试,存在漏洞的是PageAdmin Cms的次最薪版本PageAd ...

  7. 带你全面认识CMMI V2.0(一)

    新发布的CMMI V2.0在方法论和方法上都提出了一些战略上的变化和改进.这些更新提供了新的要求.历史标准的演进以及以往实践的延续. CMMI V2.0和CMMI V1.3的变化 CMMIV2.0的定 ...

  8. Vue3.0中引入地图(谷歌+高德+腾讯+百度)

    1 概述 项目需求需要引入地图,对于目前最新的Vue3.0,无论是百度/高德/腾讯地图目前还没有适配,只有Vue 2.x版本的: 目前只有谷歌地图的Vue3.0适配: 但是没有适配并不代表不能使用,本 ...

  9. 在 Fabric 中使用私有数据

    本教程将演示收集器(collection)的使用,收集器为区块链网络上已授权的组织节点 提供私有数据的存储和检索. 本教程假设您已了解私有数据的存储和他们的用例.更多的信息请参阅 私有数据 . 本教程 ...

随机推荐

  1. 目录方式扩展swap分区大小

    1.查看swap大小:free  -m  (-k|m|g) --以k|m|g为单位用去尾法显示大小  [root@lbg tmp]# free -m total        used        ...

  2. oracle的迁移工作

    1.创建新数据库用户 1).创建用户和分配权限 sqlplus / as sysdba create user ENFRC_TEST_GZ_TMP identified by ENFRC_TEST_G ...

  3. hackrf GPS欺骗

    在对GPS欺骗之前,先对GPS的知识做一个简单的介绍 GPS 系统本身非常复杂, 涉及到卫星通信等各个领域. 这里只是简单介绍一下. 我们通常所说的 GPS 全球定位系统是由美国国防部建造完成. 目前 ...

  4. [原题复现+审计][SUCTF 2019] WEB CheckIn(上传绕过、.user.ini)

    简介  原题复现:https://github.com/team-su/SUCTF-2019/tree/master/Web/checkIn  考察知识点:上传绕过..user.ini  线上平台:h ...

  5. go返回json数据

    package main import ( "encoding/json" ) type Repay struct { Code uint64 `json:"code&q ...

  6. springboot中使用Filter、Interceptor和aop拦截REST服务

    在springboot中使用rest服务时,往往需要对controller层的请求进行拦截或者获取请求数据和返回数据,就需要过滤器.拦截器或者切片. 过滤器(Filter):对HttpServletR ...

  7. FL Studio时间面板讲解

    今天我们一起来学习一下FL Studio时间面板的知识.看到这个名词我们一定就会想到该功能跟时间是脱不了关系的,是的,它就是用来显示时间的.它显示当前时间的方法不是很单一,而是有好几个,具体有哪几个下 ...

  8. CDR中调和工具的使用方法

    CDR中的调和工具也是一个神奇的工具,和AI中的混合工具类似,可以做出很多好看的形状,下面先看下他的基本操作方法. 要了解CorelDRAW平面设计软件中的cdr调和工具怎么用,首先要知道调和工具的作 ...

  9. 关于Boom 3D预设音效的妙用,如何鉴赏音乐流派

    音乐流派,亦可理解为音乐的曲风.类型.不同的音乐流派表达的音乐形式也更不相同.例如民族音乐.古典音乐等这种传统乐器的应用,流行音乐则更注重节奏.韵律的变化.带给我们的音乐感受也不尽相同. Boom 3 ...

  10. GIF图保存下来不会动?用Folx的浏览器捕获下载功能试试!

    表情包大多是GIF格式的动图,有时候使用浏览器的另存为保存完发现并不能动态播放,怎么办呢?试试Folx提供的浏览器捕获下载功能,就能将各种格式的图片,包括GIF动图的下载链接捕获下来,供进一步下载使用 ...