ImplicitMeta和Signature有什么区别?我试图了解超级账本策略的工作原理,但我很难理解。下两个代码块之间的区别到底是什么?:
Policies:
Readers:
Type: Signature
Rule: "OR('Org2MSP.admin', 'Org2MSP.peer', 'Org2MSP.client')"
Writers:
Type: Signature
Rule: "OR('Org2MSP.admin', 'Org2MSP.client')"
Admins:
Type: Signature
Rule: "OR('Org2MSP.admin')"
Policies:
Readers:
Type: ImplicitMeta
Rule: "ANY Readers"
Writers:
Type: ImplicitMeta
Rule: "ANY Writers"
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"
A Signature policy是一个低级策略,它指定其签名可以满足该策略的特定角色。它可以应用于与渠道相关的政策相关的组织的所有级别。Fabric中有一些默认的签名策略:读取器,写入,管理员。读者定义哪个主体可以读取分类帐,写入定义哪个主体可以写入通道分类帐中,而管理员定义哪个主体可以执行管理员操作(组织/信道更新)。另外,可以根据需要创建自定义策略。
[签名策略中的规则涉及由操作和主体组成的表达式。例如,语句:
Admins:
Type: Signature
Rule: "OR('Org2MSP.admin')"
声明组织2的每个管理员都可以执行管理任务。
An ImplicitMeta policy在配置级别上较高。 ImplicitMeta策略可避免重复记录和更新策略时的多次更改。这里的规则与其他ImplicitMeta或Signatures策略链接,但是最终决定将由Signature策略评估。与签名相反,ImplicitMeta只能应用于通道配置级别。
例如:
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"
Admins是名为Admins的签名策略,它在组织级别指定了admins。因此,为了编辑与应用程序相关的参数,例如在应用程序通道中添加新组织,参与该通道的大多数组织管理员必须同意该更改。
有关更多信息,请研究:https://hyperledger-fabric.readthedocs.io/en/release-1.4/access_control.html