# Layer2 | 链间通信 Interoperation

By [Renaissance Labs](https://paragraph.com/@renaissance-labs) · 2022-02-11

---

跨链通信是一个跨链的技术，它和 Plasma 不一样，两条链之间没有特别强的主次关系，其子链和侧链仍然有权利自己产生资产，自己运行，然后通过某种协议和主链或者其他链进行跨链交互，大家进行数据互通。

它严格来说不是 [Layer](https://so.csdn.net/so/search?q=Layer&spm=1001.2101.3001.7020) 1 的 Layer 2，但是它对整个系统 Scability 的提升是很有好处的。接下来我简单介绍两个项目，方便大家来理解。

### Cosmos

Cosmos 的系统架构如图所示，它中间有一个 Cosmos Hub，周围的叫做 Zone，可以认为中间是一个交换链，周围其他是子链。Zone 是用 Tendermint 来做的，采用的是 BFT 共识以及区块链框架，它也满足 Instant Finality（即时终结性），如果系统是少于三分之一的作恶节点，它一定是正确的。它引入了链间通讯协议（ Inter-Blockchain Communication ，简称 IBC） ，这个是类似 Plasma 和 State Channel 的一个协议。

它的简单流程如下，A、B链都是 Zone。

1.  用户在 A 链上锁了 10 个币
    
2.  A 链10 个币被锁住的密码学证明被提交到了 B 链上
    
3.  如果被 2/3 的验证者验证通过，则它是有效的。
    
4.  B 链上将会产生 10个币
    

而之所以需要 Cosmos Hub 的原因是它能够把 Zone 相互建立的IBC 的数量从 N^2 变成 N，不过这个也是有前提的，即所有的 Zone 必须是 Instant Finality，你给我一个证据，我就认为你的币就锁在那里，拿不出来了，它不能是概率确认的，不能这里生成，那里又推翻了。

但是由于比特币和以太坊是概率确认的链，如果这样 Cosmos 就连接不到它们上面了，所以它做一个Peg Zone，这是一个代理链，给概率确认的链做了一个代理，这样 Cosmos 就能和它们交互了。

### Polkadot

相对 Cosmos 来说 ，Polkadot 是非常完善的项目，但它的架构和 Cosmos 几乎是一致的。它的中间叫做 Relay Chain ，是 Cosmos 中 Hub 的角色，周围的 Para Chain 是 Cosmos 中 Zone 的角色。

Para Chain 用的是 Parity Substrate 这么一个框架，这个链是基于 BFT 的，所以也是 Instant Finality，而这样同样会遇到连接概率确认的区块链的问题，所以它提了一个 Bridge Chain 这样的概念，这个和 Cosmos 的 Peg Zone 是一样的。

但是 Polkadot 的 Parity Substrate 相对 Cosmos 的 Tendermint 是做的是比较完善的。

Polkadot 的创始人用 Rust 实现的 VM 以及 BFT 做了一个升级，增加了随机选举验证节点的方式加速了共识协议，所以它的速度会非常快，而且它部署智能合约以及升级节点的能力也很强。而且 Substrate 上引入了相对其他链更完善的治理机制。

### 安全机制

现在我们重点来说说它的安全机制，这个是和 Cosmos 区别非常大的。它提了一个概念叫做共享安全池（ Shared Pool Security ），在 Polkadot 里面，它的记账节点和出块节点是混在一起的。

其中有几个角色， Collator、Validator、Fisherman 、高阶Validator、 Nominator。其中 Collator 是做区块的打包和收集和交易的验证，但是它没有权利把这个区块给确认，即他不能把区块写到区块链里面，而把区块写到区块链里是 Validator 来做的。

Collator 是针对每一条链的，每条 Para Chain 都有一组有相对应的 Collator，但是 Validator 是整个全网公用，是随机选出来的。

假设 PareChain 有一组 Collator 生成了一个区块，这个区块由哪些 Validator来验证我们并不清楚，它是随机选的，而选出的 Validator 将会投票看区块是否合法，只有合法才能写到这个子链的区块链里面。

而 Fisher Man 是用来监督 Validator的，那些经得起考验的 Validator，可以变成一个更高阶的 Validator，高阶的 Validator 可以判断这个 Fisherman 的监督是正确还是错误，比方说 Fisherman 举报这个 Validator 作恶，之后高阶 Validator 会判断它是不是真的作恶了。

高阶 Validator 的选举需要满足两个要求，一方面 Fisher Man 没有举报过低阶 Validator ，另外一方面 Nominator 会来提名谁能来当高阶的 Validator，这是一个互相制衡的结果。但是它是怎么制衡，它最新的设计里面还没有公开，它只是大致实现了这样的一个点。

通过以上，我大致介绍了一些 Layer 2 团队和项目，虽然有的严格意义上来说并不能称作是 Layer 2，但是我也一并列了出来，方便大家理解。

目前的情况就是，公链的创新和热度已经逐渐趋于平缓，各种 Layer 2 的新团队在不断地涌现，我觉得这也是一个正确的趋势，Layer 1 本来就不需做这么多事情，做好去中心化和安全就可以了。这也是 Nervos 在做的事情，我们认为一个好的 Layer 1 只需要做好 Key State 的存储， Key Computation 以及对 Layer 2 友好就够了。

像 Turebit 只需要链上的一步运算就能够证明所有运算是正确还是错误，和我们认为 Layer 1 需要做好的 Key Computation 是非常一致的，而 State Channel 和 Plasma 中所强调的 State 也和我们的方案很契合。

---

*Originally published on [Renaissance Labs](https://paragraph.com/@renaissance-labs/layer2-interoperation)*
