【问题标题】:What is the meaning of Hierarchical property of channel configuration in hyper ledger fabric?超级账本结构中通道配置的层次属性是什么意思?
【发布时间】:2018-05-29 07:12:51
【问题描述】:
我是超级账本的新手,我正在阅读文档以了解超级账本,尤其是在通道配置 (configtx) 部分。
他们在那里定义
频道配置具有以下重要属性:
版本化:配置的所有元素都有一个关联的版本,每次修改都会升级。此外,每
提交的配置收到一个序列号。
-
许可:配置的每个元素都有一个关联的策略,该策略控制对该元素的修改是否是
允许。任何拥有之前 configtx 副本的人(并且没有
附加信息)可以验证新配置的有效性基于
这些政策。
- 层次结构:根配置组包含子组,层次结构的每个组都有关联的值和策略。这些
策略可以利用层次结构在一个位置派生策略
从较低级别的政策级别。
有人可以举个例子解释一下第三点吗?
这是上述段落的链接http://hyperledger-fabric.readthedocs.io/en/release-1.0/configtx.html
【问题讨论】:
标签:
hyperledger-fabric
hyperledger
【解决方案1】:
渠道配置分层的最重要方式与策略评估有关。有一种策略类型称为“隐式元策略”。这种策略类型的评估取决于树中更深层次的策略的评估。
以/Channel/Admins 策略为例。此策略的默认值是一个隐含的元策略,其规则为MAJORITY Admins。此规则意味着大多数子组必须具有名为 Admins 的策略,该策略评估为真,/Channel/Admins 策略评估为真。在标准应用程序通道中,有两个子组:Application 和Orderer。其中每一个都有一个Admins 策略,默认情况下也是MAJORITY Admins。 /Channel/Application/Admins 策略将要求每个子组的 Admins 策略评估为真。这些子组是应用程序组织,每个组织都有一个默认的Admins 策略,可以通过来自其管理员证书之一的签名来满足。
因此,此层次结构的最终结果是,要满足/Channel/Application/Admins 策略,它需要大多数应用程序组织管理员同意。为了满足/Channel/Orderer/Admins 政策,它需要大多数订购者组织的同意。最后,要满足/Channel/Admins 政策,需要大多数订购组织和大多数应用组织都同意。
最后,考虑到这些策略行为,希望配置的自然组织为“分层”是有意义的。配置根附近的配置元素一般需要全网同意才能修改。随着元素离根越远,离叶越近,利益相关者的数量就会减少,并且可以在较少达成一致的情况下进行修改。例如,一个组织可以修改自己的 CRL 或 CA,而无需网络中任何其他组织的同意。