由此可见,具有可证明最终性的 BFT 类区块链,对跨链是更加友好的,因此,无论是 Cosmos 的还是 Polkadot,其造链标准都不约而同的采用了 BFT 类共识机制。需要说明的是,BFT 只是最终性确认的一种方式,是共识机制的一部分,尽管 BFT 类区块链一般都是 PoS 共识,而非 BFT 类区块链则一般是 PoW 共识,但并没有绝对的相关关系。 如何感知另一条链一个区块链系统,对于另外一个区块链系统来说,是封闭的,独立的,每条链都是一个「Walled Garden」,无法直接感知另外一条链中的交易及其状态。一条链对于另外一条链而言,是一个链外系统,因此一条链对另外一条链的感知,其实是个预言机问题。 因此,任何跨链技术,无论如何演变,都绕不开一个「中间人」的角色,系统与系统间相互独立,那发起跨链交易时,目标链在发行映射资产之前,如何才能确认源链的锁仓交易已完成呢?两条链之间会由可信的「中间人」来承担跨链消息的传递和验证的职能。这个中间人,在见证人方案中,体现为单主体或多主体组成的见证者集,在侧链 / 中继方案中,则体现为 Relayer 集,在共享验证人方案中则是共享验证人集,只有哈希时间锁技术在原理上是无中介的,但需要交易发起方和交易对手方同时在线,为了提高体验,我们需要有一个中间人充当一个公共的交易对手方,或者我们称之为流动性提供商。 在交易验证这个环节,见证人方案中,由见证人通过运行节点或者连接其他节点来验证交易,侧链 / 中继方案中,则通过在目标链上部署源链轻节点,来实现对源链消息真实性的验证,在共享验证人方案中,则由共享的验证人在源链共识过程中完成验证,目标链可以无条件信任。 如何安全的托管留置资产留置资产托管问题,存在于跨链资产传递的场景中。如前文所述,跨链资产传递的本质是,让资产在源链锁仓留置,并在目标链上生成模拟资产。那么留置资产的托管安全性就是跨链安全性的一个重要组成部分。 有四种类型的托管地址,分别是独立控制账户,多方多签账户,多方私钥分片账户,合约账户,前三者和见证人机制组合使用,形成了不同子类型的见证人机制;侧链 / 中继式的跨链方案中,则采取合约账户来托管留置资产。事实上,侧链 / 中继方案,也可以和非合约账户的托管方案组合,但几乎不会有项目这么设计,因为合约账户具有更高的安全性,即便有项目实际这么运行,更有可能是作为托管合约开发完成之前过渡方案。 实际上,跨链资产传递的场景中,还有一种方案是不需要托管资产的,即销毁-铸造(Burn-Mint)方案,源链上的资产不再锁定,而是直接销毁,进而在目标链上发行锚定资产。这种方案仅适用于耦合度很高的链,否则燃烧的资产,无法再反向铸造出来,资产跨链后再也回不去了,这显然是无法被接受的。波卡的平行链间进行通证跨链,用的便是 Burn-Mint 机制。 (责任编辑:admin) |