图 1:Polkadot 架构,内圈是中继链,外面连接的是平行链 中继链负责维护平行链的安全以及之间的信息传输,分别通过验证证明和 XCMP (跨链信息传递)实现。平行链与中继链共享安全的同时需要共享状态,他们通过 BABE 和 GRANDPA 达成共识,只要超过三分之二的节点投票支持,区块就可以被认为是最终性的。为了保证网络安全,平行链中的信息会由验证人证实已经执行过后,才会记录到中继链上。收集人向负责的验证人提交候选区块和状态转换的验证证明,如果平行链区块是无效的,则会被验证人拒绝。最终是验证人维护整体网络安全,验证人数量越多网络越安全,与平行链上收集人的数量无关。转化状态证明的验证必须使用验证人储存在中继链上的已注册的状态转换函数。为了防止验证人和收集人共谋,验证人会每隔一段时间进行随机分配。 XCMP 负责实现两条平行链的互操性,通过中继链上的验证者解决信息跨链问题。XCMP 由发送者和接收者组成,发送者的收集人会将跨链信息放入出站列中,负责的验证者验证后将其添加其进入接收者站列,接受者的收集人会看到这条信息后执行要求,并构建候选区块。接收链上的收集人最后将区块交给验证者,经由验证人验证消息已经被处理后,纳入中继链完成一次跨链。中继链既保证安全又协助跨链,因此 Polkadot 可以视为一个整体。 Cosmos Cosmos 通过 Hub 和 Zone 的形式来实现多层结构,网络通过增加 Zone 实现扩容,Zone 也可以成为 Hub 再连接上其他 Zone。相对于来说,Zone 就是网络中的分片, Zone 与 Zone 之间可以通过 IBC (区块链间通信)协议实现通信。 图 2:Cosmos 网络架构 每个 Zone 和 Hub 都是一个独立的区块链,网络的安全性由每条链自行维护,每条链上都设有独立的验证者节点,他们通过共识保障链上财产。Cosmos 网络多层结构交互独立,这有别于 Polkadot。在构建 Zone 时,Cosmos 提供了模块化的开发工具包 Cosmos SDK,允许开发者直接使用 Tendermint BFT 共识算法。Tendermint 的容错率为三分之一,并且在共识时可以实现同一区块高度上不会出现两个区块,避免了网络分叉以此实现安全。 Cosmos 中的 Zone 通过 IBC 机制进行信息交换,IBC 类似于互联网的 TCP 协议,目的是实现信息的可靠传输,需要共识算法的最终性防止双花,Tendermint 是最符合其要求的共识算法之一。在跨链实现前,双方需要了解对方的区块头信息,相当于保存了对方的轻节点。发送方在链上执行相关操作后,会生成相关证明传送给接收者。接收者验证后发送者的操作后,会执行下一步骤。 (责任编辑:admin) |