一、背书策略是什么
Committing Peers在验证交易的时候,通过背书策略来验证一个交易是否有效,背书策略里面定义了一些要求,只有根据背书策略进行背书的交易才被认为是有效的。每个智能合约在部署的时候,都会指定背书策略。
Fabric定义了ESCC和VSCC两个system chaincode来为交易进行背书和验证:
- ESCC (Endorsement System ChainCode)在Endorsering Peer上签署提案响应
- VSCC(Validation System ChainCode)在Committing Peer上验证背书
背书节点仿真执行完交易后,会通过ESCC对执行结果进行签名,返回给client端;记账节点收到排序节点发送的交易区块后,会通过VSCC来验证是否符合背书策略,如下图所示:
二、合约级别的背书策略
背书策略在chaincode实例化的时候会被指定,使用-P参数即可,示例如下所示:
peer chaincode instantiate
-C mychannel
-n mycc
-v 1.0
-p chaincode_example02
-c '{"Args":["init","a", "100", "b","200"]}'
-P "AND('Org1MSP.member')