(译)超级账本官方文档 基本概念(四) - 私有数据(Private Data)

如有翻译不当之处烦请指出,我不确定的地方都给出了原文

超级账本是Linux基金会发起的项目,意在提供一套企业级区块链应用框架,便于大家开发基于区块链技术的应用。

Fabric的基本概念

  • 私有数据
    什么是私有数据
    当一个Channel中的一些组织需要保证数据的私有,不让Channel中的其它组织访问,这些组织可以单独创建一个Channel,只包含有权限读取这些私有数据的组织。然而,如果出现这种需求就创建新Channel的话,会增加管理员的管理负担,并且不支持让所有在Channel中的人员都能看到所有交易的同时,保持一些私有数据。

这就是为什么Fabric在v1.2之后加入了私有数据集(private data collections),它允许在Channel中创建子组织,这些子组织可以背书,提交,查询这些私有数据,而不需要重新创建一个Channel。

什么是私有数据集
这个集合包含两个元素

  1. 真实的私有数据在有权限查看私有数据的组织间通过gossip协议点对点传输。这些私有数据被存放在peer的私有数据库中(有时候被称为“side”数据库,或者“SideDB”)。排序服务在这里就不需要了,也看不到私有数据。注意,设置gossip协议需要先初始化锚节点,因为需要用到跨组织间的通信。
  2. 私有数据哈希,这个哈希拥有背书,被排序了,同时写入了Channel中每个peer的账本。这个哈希服务可以作为交易的证据,状态验证的证据或者审计需要。
    下面的图示展示了一个账本中被授权能访问私有数据的peer和一个没有权限访问私有数据的peer。
    image.png

集合中的成员可以分享私有数据给其它成员,如果他们发生争执,或者他们想把资产转让给第三方。第三方可以计算私有数据的哈希,看他满不满足Channel中账本的状态。证明这个状态是在两个交易集间的某个确定时刻是存在的。

什么时候用Channel中的交易集,什么时候新建一个Channel

  • 当整个交易需要对Channel中的某些组织保密的时候可以用新建Channel的方法
  • 当交易需要对一些组织公开,但这些组织中又只有一部分可以存取交易中的某些信息时可以使用私有数据。另外,因为私有数据通过peer和peer之间传递,而不是通过区块传递,所以交易数据必须对orderer节点不可见。

使用私有数据的交易流程
当链码中使用了私有数据时,为了保证数据的私有,交易的提议,背书和提交到账本的过程会有些许不同。

  1. 客户端应用程序提交一个调用链码函数(读或者写私有数据)提议请求到集合中属于授权组织的背书节点。在链码中的私有数据或用于生成私有数据的数据被放置在交易提议的transient字段中。
  2. 背书节点模拟执行交易,把私有数据存储到transient data store中(peer节点中的本地临时存储区域),并根据数据集策略(collection policy),通过gossip协议把私有数据发送给授权的peer。
  3. 背书节点将交易提议的处理结果响应放在公共数据中返回给应用程序,这些处理结果包含私有数据的键值及内容的哈希。私有数据本身不会返回给应用程序。更多关于私有数据的细节可以阅读这篇文章
  4. 应用程序客户端(应该值的就是SDK)提交交易(包含私有数据的哈希)到orderer节点,orderer节点按照正常流程打包区块。包含私有数据哈希的区块被分发到各个peer节点。这样一来,在Channel中的所有peer都可以独立的验证包含私有数据哈希的交易,而不需要知道真正的私有数据内容。
  5. 在区块验证期间,被授权的peer根据数据集策略(collection policy)来判定自己是否有权限读取私有数据。如果有权限,他们会先验证本地的私有数据来判定他们是否在链码背书阶段就收到了私有数据,如果本地没有这些私有数据,他们会从其他peer中拉取。随后他们会验证私有数据与区块中的私有数据哈希值,然后提交交易和区块。在验证和提交过后,私有数据的拷贝被移动到了私有状态数据库及私有数据写集存储中。最后在peer的transient data store中的本地私有数据将会被删除。

举个栗子解释集合(collections)
比如现在我们在一个Channel中有5个组织来处理交易过程:

  • 一个买产品的农民
  • 一个运输产品的分销商
  • 一个提供两地运输的物流商
  • 一个从分销商批发产品的批发商
  • 一个销售从批发商或物流商得到的产品的零售商

分销商可能想让他和农民及物流商的交易私有化,不让分销商和零售商看到他们之间的交易,以免暴露自己的价格加成。

分销商也很有可能想让他与批发商的私有数据独立,因为批发商向他们要的价格要比他们给零售商的低。

批发商也可能需要它与物流商和零售商的数据保持私有。

相比于为这些数据关系建立单独的Channel,私有数据集合(Pirvate Data Collection)可以用来共享私有数据在:

  1. PDC1:分销商,农民和物流公司间
  2. PDC2:分销商和批发商之间
  3. PDC3:批发商,零售商和物流公司间
image.png

在这个例子中,分销商拥有的peer的账本中包含多条私有数据,比如分销商,农民和物流公司之间的私有数据及分销商和批发商之间的私有数据。因为私有数据的数据库和通道中的账本是分开存储的,所以私有数据库也被称为“SideDB”。

image.png

私有数据是如何定义的
更多关于私有数据底层信息可以查看私有数据详情页面

清除数据
对于非常敏感的数据,有权力存取私有数据的节点可能需要,或者被政府要求在一定时间后清除这些数据,只保留这些数据的哈希作为证据。

在有些情况,私有数据只允许保留在peer的本地数据库中,直到它可以被拷贝出区块链网络以外的数据库。也有可能这些数据只能留在peer中,直到在链码执行完成后才能进行后续处理。为了支持后面的情况,一旦将一定数量的后续区块添加到私有数据库中,就可以清除私有数据。( To support the later use case, it is possible to purge private data if it has not been modified once a set number of subsequent blocks have been added to the private database)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容