Hyperledger Fabric如何确保couchdb中的状态完整性?

时间:2018-04-27 14:18:59

标签: hyperledger-fabric

在Fabric的1.x版中,您可以使用Couchdb作为状态存储。 Fabric如何确保国家的完整性?例如,如果有人通过直接访问特定节点上的Couchdb来操纵Fabric之外的状态。至少可能导致该节点与网络的其余部分不一致。

1 个答案:

答案 0 :(得分:1)

检测某人的方式是在其中一个同伴中操纵和调和状态是利用并仔细定义认可政策。

例如,假设您有两个组织,每个组织有两个对等组:OrgA,OrgB和peer1_orgA,peer2_orgA,peer1_orgB,peer2_orgB。因此,您可以定义认可政策,这需要所有4个同行的认可。接下来,假设peer1_orgA遭到入侵并伪造。

由于客户端必须满足认可策略,它将向所有对等方发送事务提议,对等体将模拟事务并根据散列RWSet上的状态和签名返回RWSet。

现在,由于peer1_orgA状态伪造它将返回不同的RWSet,因此签名会有所不同,因此客户端无法满足认可政策,而且它将能够发现该结果peer1_orgA已经分歧了。

这样可以防止在状态下进行分叉,并且可以处理非确定性,从而确保状态的完整性。