Moonbeam的多链架构 by:amos.berlin & RARA from SharkTeam
多链是指项目同时部署在至少两个区块链上,这有助于多个区块链之间的交易通信,最终目标是提升用户体验、提高效率。多链架构最广为人知的是Polkadot 和 Cosmos。
多链架构主要有以下几个特性:
- 安全性:多链结构可以让数据自由地穿梭在各个公链之中,以各个公链的共识结构来实现去中心化的设计,数据储存的去中心化越明显,数据的安全性就越高
- 可用性:多链结构相当于把需要跨链转移的资产和步骤都已经提前做好,用户在参与区块链项目时只要了解项目本身即可,而无需再去关注其他公链的运行情况。在多链无跨链的场景中,业务请求根据不同路由规则访问不同的单链,某个单链的不可用只会影响本链请求,其余链的请求依然可以正常处理,因此多链架构极大提升了整体可用性
- 伸缩性:多链结构可以提升异构结构和同构系统的自由度,任何系统都可以对接多链结构,交互自由度非常高,一次提升区块链项目开发的伸缩性,使得项目本身具有更大的想象空间
- 互操作性:各个公链之间的价值转换可以通过多链结构的项目拥有价值之间的双向交互能力。操作更简单、便捷
- 一致性:一致性是多链结构的主要特性之一,在跨链场景中,跨链转账的一致性问题有所简化。因为每次交互可以认为只有两方参与(点对点)。其中参与一方在执行跨链转账前,必须先确认消息的合法性
上文在解释到多链架构的定义和概念,有提到跨链相关的字眼,到底多链和跨链之间有什么区别?在了解跨链之前,我们先弄清楚什么是互操作性。
互操作性意味着不同的网络和项目可以相互通信,这就允许用户可以轻松地将数字资产从一个网络发送到另一个网络。然而,就目前而言,大多数区块链都被设计成一个孤岛,没有能力相互交互。这导致了一个非常严重的低效率问题,并抑制了该领域的创新,限制了用户自由使用自己的数字资产。
在上文说到多链并存的现象,如果这些链之间不能相互交互,那么就会又形成一个个孤岛,我们希望的是每条链在很好支持其上层应用之外,能够和其他链可以进行交互,这样不会造成信息孤岛,也能让链上资产能够更好的流通。不同链之间信息交互的过程,我们称之为跨链。我们了解多链和跨链后,接下来介绍跨链是如何完成的。
2.1 基于哈希时间锁的资产互换
这边可以采用一个简单例子来解释原理:A要用1个Token X换取B的10个Token Y。
- 链上的A 随机生成 随机数r,然后对其做哈希,H(r)。A 在 A链上发起一笔交易给B链上的B,并且设置过期时间,如果B链上的B未能及时验证H(r),就原路返回
- 链上的B看到这笔交易,确认交易后,B在B链上发起一笔交易给A链上的A,并且设置过期时间,时间比A的时间要短,同样是做了哈希H(r),如果A链上的A未能及时验证H(r),就原路返回
- 链上的A确认并验证了B的交易H(r),获得了10个Token Y。B链上的验证了A的交易H(r),获得了1个Token X
哈希时间锁定通过资产交换这一方式巧妙得使得交易双方都保证信息可靠性,但是也有一个问题就是,如果上链时,双方的Token价格波动,会造成双方有不同程度上的损失。
验证者模式需要类似可信的中间人。这边再举一个例子来解释原理:A要用1个Token X换取B的10个Token Y。
- 将1个Token X发送给第三方即可信验证中间人手里
- 将10个Token Y发送给第三方即可信验证中间人手里
- A,B两者的Token后,将10个Token Y转交给A,将1个Token X转交给B
这种模式,中心化风险较高。一般采用多个可信验证中间人进行聚合签名,而不是采用单个可信验证中间人。
中继者(Relays)允许链来验证在其他链中发生的事件。与验证者方案不同,中继在链与链之间工作,不需要可信的分布式节点。中继者的工作方式是,一个链上的合约是另一个链上的某种客户端。通过每个链在其各自链上发生的变化,消除了可信分布式节点的相关性。中继者架构与特定特征的链一起工作效果最好,这些特征包括快速的共识确定性和灵活的多重签名能力。
首先,我们知道Moonbeam是一个智能合约平台,用于构建多链互连应用程序,能够访问任何链上的用户、资产和服务。通过将来自以太坊、Cosmos、波卡等功能整合到一个平台中,Moonbeam解决了当今用户体验碎片化的问题,解锁真正的互操作性。Moonbeam平台使用集成的跨链信息传递(XCMP),通过 XCMP可达到波卡(Polkadot)网络各平行链之间的信息交互,共享可信逻辑。
Moonbeam主要集成以下几个场景:
- Polkadot)平行链:各个项目可能从一个或多个智能合约开始逐步迁移到Moonbeam,最终成为Moonbeam网络上的“原生应用程序”。基于Moonbeam的智能合约为专门化的智能合约和平行链功能提供“bash like”的环境配置,实现高阶效应。项目想要成为波卡(Polkadot)系统中的平行线程或平行链,就需要更多的曝光或者想要直接控制自己的经济环境
- Polkadot)网络各类项目:随着波卡(Polkadot)网络集成功能的不断完善,Moonbeam可以帮助开发人员通过智能合约获取这些集成功能,并且在各个区块链上创建新功能
- Moonbeam。这一应用工具将实现单次、单向的信息迁移。或者并入Moonbeam的点对点以太坊桥,可以实现代币转移和跨链状态查询及消息传递。
- 集成Cosmos:Axelar 提供了完整开发Web3应用的安全套件,将跨链互操作性浓缩为一组简单的API请求。Moonbeam可以通过Axelar能够轻松兼容Cosmos。