区块链原理之背书、背书节点、背书策略详解(三) [复制链接]

771
 
收到反馈,大家对“背书”、“背书节点”、“背书策略”非常感兴趣,但很多朋友还是不甚理解这些概念。其实,理解这三个概念的核心是:第一要理解“背书”一词(英文为endorsement),第二要理解区块链中的“节点”。真正理解了这两项,这三个概念一定会理顺的。综上,我将在此较详细的阐述一下,供大家学习交流。我们从事的是金融科技,一些金融相关概念的理解还是非常有必要的。
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈截止前面两篇文章,我完成了对背书、区块链节点和背书节点的概念的讲解,大家应该明白了其中的意义。下面我将介绍背书策略,并对背书、背书节点以及背书策略进行总结。
8btm.com-新币圈 8btm.com-新币圈Mercina-zy。
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈

8btm.com-新币圈 8btm.com-新币圈背书策略
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈背书策略(endorsement policy)可以理解为是对交易进行背书的条件,即要得到背书成功的结论,必须满足背书策略中给出的条件。
8btm.com-新币圈 8btm.com-新币圈区块链节点有预先指定的背书策略集,这些背书的策略集安装了特定的链代码,预安装了其部署交易指定。所有的交易都必须依据背书策略进行交易,因为只有经过背书处理的交易才是合法、被认可的交易。
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈只有根据背书策略进行了背书处理,才可以合法的声明交易。在此,要实现链代码的调用交易,首先要获取满足链代码策略的背书,否则其是不允许提交的。在这就需要通过提交客户端和背书节点之间的交互来进行实现。
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈所以也可以说,背书策略就是用来指导被选中的节点(背书节点)如何决策交易是否正确的条件。
8btm.com-新币圈 8btm.com-新币圈比如,当节点接收到交易请求时,其会调用与该交易的Chaincode(验证系统)相关的VSCC作为交易确认流程的一部分来确定交易的有效性。
8btm.com-新币圈 8btm.com-新币圈显而易见,一个交易需要得到包含一个或多个背书节点的背书(而且这些背书应该是有效的)。
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈

8btm.com-新币圈 8btm.com-新币圈注:
8btm.com-新币圈 8btm.com-新币圈VSCC的任务是做出以下决定:
8btm.com-新币圈 8btm.com-新币圈1)所有endorsement(背书节点)都是有效的(即来自有效证书的预期信息的有效签名)
8btm.com-新币圈 8btm.com-新币圈2)有合适数量的endorsement(背书节点)
8btm.com-新币圈 8btm.com-新币圈3)endorsement(背书节点)来自预期来源
8btm.com-新币圈 8btm.com-新币圈背书策略就是用来定义上边的第二和第三点的,很明显一个优秀的背书策略至关重要。
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈从形式上来说,背书策略也是对背书和可能出现的下一步状态的预估(判断是TRUE或者是FALSE)。
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈

8btm.com-新币圈 8btm.com-新币圈背书策略的预估会涉及特定的变量,常见如下几种:
8btm.com-新币圈 8btm.com-新币圈1)链码相关的键或者标识符,如背书节点集合
8btm.com-新币圈 8btm.com-新币圈2)更多的链代码元数据
8btm.com-新币圈 8btm.com-新币圈3)背书本身的元素
8btm.com-新币圈 8btm.com-新币圈4)其它
8btm.com-新币圈 8btm.com-新币圈预估列表可简单可丰富,可难可易,是可以设定的。但需要说明的是其最后得出的评估必须是确定性的。所有正常的节点都以相同的方式评估背书策略,其间无需进行交互,本地完成即可。
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈或者换种说法,用户在实例化代码的时候,是可以指定背书策略(endorsement policy)的。
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈

8btm.com-新币圈 8btm.com-新币圈背书策略是采用了 Signature Policy 结构进行指定,其同样可以基于 MSSprincipal 结构构建任意复杂的签名校验组合。
8btm.com-新币圈 8btm.com-新币圈在语法上,背书策略支持通过 -P 指定哪些 Signature Policy 会被需要。通过 -T 指定所需要的 Signature Policy 的个数。
8btm.com-新币圈 8btm.com-新币圈举例,其可以指定某几个组织内的任意成员身份进行背书,或者要求至少有一个管理员身份进行背书等等。
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈目前,客户端已经基本实现了对背书策略的支持,我们可以通过 -P 来指定,结合 AND、OR 来组合成员,完成成员身份(admin、member)的集合。
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈

8btm.com-新币圈 8btm.com-新币圈举一个例子:
8btm.com-新币圈 8btm.com-新币圈-P OR ( 'Orgl .admin' , AND ('Org2 .member' , 'Org3 .member') )
8btm.com-新币圈 8btm.com-新币圈上面的命令是可以指定要么 Orgl 的管理员 admin 进行背书,或者 Org2 和 Org3 的成员 member 同时进行背书,才满足背书策略。同样,怎么设定背书策略,是可以修改的。
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈最后,我进行总结,在这个系列中,我分别完成了对“背书”、“节点”、“背书节点”和“背书策略”的讲解,其中背书和节点的概念是基础,理解清楚这个,背书节点是非常好理解的,至于背书策略,其实是比较好理解的。这些概念还是非常重要的,清楚的理解有助于我们理解区块链技术原理。希望我的分享能给你启发,由于水平有限,难免有所缺欠,欢迎指正。
8btm.com-新币圈 8btm.com-新币圈Mercina-zy

本版积分规则

发表主题 回复
mailtopia,把去中心化做到极致!

(c) 2015-2018 8BTM Inc. M链、₥币 All Rights Reserved 智能硬件IoT产品:福州智垒电子科技有限公司

网站备案证书号: 闽ICP备18010811号  Ƀ猫商城 IoT&BlockChain:微物联(福州)网络科技有限公司 SiteMap