Renaissance Labs

Posted on Feb 10, 2022Read on Mirror.xyz

Layer2 | 链间通信 Interoperation

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

它严格来说不是 Layer 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 也和我们的方案很契合。

Recommended Reading