一文了解什么是跨链互操作协议
狭义来说,跨链是一种解决两个或多个不同链上的资产以及功能状态互相传递、转移、交换的协议。而狭义的侧链是一种让资产从主链转移到其他附属区块链,又可以从其他附属区块链安全地返回主链的协议。
当前,区块链玩家们对跨链仍处于初级探索阶段,正在研究不同玩法和实现方式。按照技术类型,可分为以下三种:公证人机制、侧链或者中继形式、哈希锁定等密码学形式。
公证人机制(Notary schemes),就是引入一方或多方中介,承担两条链上数据收集、交易确认和验证工作,并进行签名,资产只有在收到签名的前提下才会被解锁发送,以此实现链间的信任共识和数据互认。
中继技术,是指在两条链中间插入一个双方都认可的数据结构,起到中继器的作用,作为双方数据沟通的桥梁。中继器充当链间数据收集和传递的作用,数据接收链拿到发送链的数据后可自行验证发送链上的交易状态,而不用依赖可信的第三方公证人。
哈希锁定(Hash TimeLock Contract),是指通过智能合约,预先设定好触发条件(哈希锁+时间锁),在一定时间内出示正确的哈希值方可解锁资产,以此达到跨链交换的目的。
以上三种跨链技术各有短板,比如公证人增加了中心化威胁、中继在技术上有实现难度、哈希有应用场景的局限(仅实现跨链资产的相互交换,而没做到资产的转移),由此可见目前对于跨链尚无完美的解决方案;但这不影响玩家对跨链玩法的热情和探索,也创造出了许多值得学习和关注的项目。不同项目在产品设计和实现路径上有所差异。
侧链(sidechain)一词最早出现在 2012 年的比特币核心社区(bitcointalk.org),是为了解决比特币主网的可扩展性而提出的。而这一方案被总结归纳在了“Enabling Blockchain Innovations with Pegged Sidechains”这篇论文之中,也就是大家熟知的侧链白皮书。而在 2015 年,闪电网络方案被提出,这也是比特币线下侧链方案的一个具体例子。2016 年 Polkadot 和 Cosmos 两个跨链项目被相继推出。
生态型跨链协议介绍
生态型跨链协议包含双向锚定的侧链和闪电网络。其中有两个有代表性的例子:波卡(Poldadot)和 Cosmos。
双向锚定的侧链技术可以实现将主链上的资产锁定,在侧链上释放等价固定侧链资产;当侧链上的资产在侧链上锁定之后,主链上之前被锁定的等价主链资产可被释放。保证资产在不同区块链之间的转移。双向锚定技术实现的最大难点是侧链协议需兼容现有主链的协议,不能对现有主链的功能造成影响。
双向锚定的侧链示意图
Cosmos为方便平行链开发提供了基本服务Cosmos SDK,其中包括:共识、网络以及IBC协议等,这样基于Cosmos SDK开发的子链之间都能够方便地互相交互。此外对于非Cosmos SDK 开发的区块链需要使用Peg Zone进行桥接,如图中的Ethereum。
Cosmos为跨链带来的最大贡献在于IBC协议的设计,IBC协议提供了一种通用的跨链协议标准。IBC的设计使得跨链交易可以在多个Hub之间进行安全路由和转发,类似目前互联网的TCP/IP 协议。但是遗憾的是目前的Cosmos设计也只能够支持资产的跨链,而且由于不同区块链的业务不同其共识速率的不一致也会影响跨链交易有效性的证明。
Polkadot:Polkadot也是一种集成平行链和中继链的多层多链架构,Polkadot区块链的整体架构图如下图所示,主要包含三种角色链和四种参与方:
三种链角色:
中继链(Relay chain): 中继链位于Polkadot的体系的核心地位,主要是为整个系统提供统一的共识和安全性保障;
平行链(Parachain): 在Polkadot中平行链负责具体的业务场景,平行链自身不具备区块的共识,它们将共识的职责渡让给了中继链,所有平行链共享来自中继链的安全保障,中继链是Polkadot组成的一部分;
桥接链:桥接链指的是非Polkadot体系之外的区块链,如Bitcoin, Ethereum, 这些区块链有自身的共识算法,它们通过不同的Bridge与Polkadot连接在一起进行跨链交互。
四种参与方:
验证者(Validator): 验证者负责Polkadot的网络出块,会运行一个中继链的客户端,在每一轮区块产生中会对其提名的平行链出的块进行核验。当平行链的跨都被他们的子验证者集合确定好之后,验证者们会将所有平行链区块头组装到中继链的区块并进行共识。
核验人(Collator): 帮助验证者收集、验证和提交备选平行链区块,维护了一个平行链的全节点。钓鱼人(Fisherman):钓鱼人主要靠检举非法交易或者区块以获取收益;
提名人(Nominator): 拥有stake的相关方,维护和负责验证者的安全性。
Polkadot的特性包括两个,一个是共享安全性,一个是不需信任的跨链交互。这里的不需信任的跨链交互其实是和第一个特点共享安全性密切相关的,而且Polkadot的不需信任的跨链交互也主要是只其内部的平行链之间。
在Polkadot中如果parachain A 需要发送一笔交易到parachain B的过程如下:
A链将跨链交易放到自己的engress(每个平行链有一个消息输出队列engress 和一个消息输入队列ingress);
A链的Collator收集A链的普通交易以及跨链交易并提交给A链的验证者集合;
A链的验证者集合验证成功,将本次A链的区块头信息以及A链的engress内信息提交到中继链上;
中继链运行共识算法进行区块确认以及跨链交易路由,中继链上的验证者会将A链的相应交易从A链的engress queue中移动到B链的ingress queue中。
B链执行区块,将ingress queue中相应交易执行并修改自身账本。
以上便是Polkadot跨链交易的主要步骤,由于所有平行链的共识同步发生(中继链区块示意图如下),因此跨链交易不会有诸如双花等安全性问题。
Polkadot的平行链之间的跨链交换的安全性保障主要来自共享安全性这个特点,共享安全性使得跨链交易和普通交易同步发生也就不存在其他跨链场景中的双花等跨链数据不一致问题。其次Polkadot中的引入的特殊状态验证方法方便中继链进行跨链等消息的有效性验证。
这类跨链项目风险在于接入生态的项目数量、质量的不确定性。项目方(包括现有的公链)自主决定是否接受它们的跨链协议,拥有绝对的主动性。
跨链桥类型
跨链桥在两条具有不同协议和规则的公链之间,提供一个兼容的通道,使一条链通过预言机能获取另一条链上发生的交易。跨链桥的本质是在两条链上流通同一种资产,发生跨链时,在一条链上铸造新的资产,同时从另一条链上销毁相同代币,达到跨链的平衡。
目前跨链桥主要以资产映射的方式运行,例如,一个跨链桥在BSC和ETH上部署了跨链的智能合约,用户若要实现将ETH里的UNI代币转移到BSC链上,内部由以下几步构成:
a. 用户向跨链桥部署在ETH上的智能合约发起充值,并锁定UNI
b. 智能合约根据用户账户的状态变更,将信息发送给跨链桥部署在BSC链上的智能合约
c. BSC上智能合约收到信息,在BSC上生成对应数量的UNI-BEP20(BEP20是币安链上的代币标准)
d. 用户在BSC上获得映射资产并使用
这类跨链项目的优势在于,保持去中心化特性的同时,提供了一种简单的跨链方式。对用户来说,满足了跨链需求,且大多数跨链桥能维持很低的手续费,体验友好;对开发者来说,跨链桥的实现逻辑相对简单,所以当前大部分跨链项目都是以跨链桥的模式实现的,代表项目有:
Anyswap:曾获得币安的投资,当前支持的公链有:ETH、BSC、Fantom、HECO、Fusion、xDAI和Polygon,总交易额超过100亿美元。
Chainswap:由AntiMatter推出,曾获得300万美元战略融资;作为跨链资产桥,当前已接入5条公链(ETH、BSC、HECO、OKEx、Polygon)、支持61种货币之间的兑换;总交易额已经超过了1亿美元。
多链聚合型
如果说跨链桥的核心是资产的映射,那多链聚合,顾名思义是将不同链上资产的流动集中起来,构建跨链交易池,为用户实现资产的跨链交易,而不仅局限于跨链桥的资产转移。不同的多链聚合项目实现路径略有差异,以O3 Swap为例,若用户希望将BSC上的CAKE兑换成HECO上的MDX,路径为:
a. 用户向O3 Swap发起兑换请求
b. O3 Swap将CAKE换成BSC上的稳定币BUSD
c. 通过跨链池(池内储存不同链上的稳定币),BUSD被换为HECO上的稳定币HUSD
d. 在HECO链上,HUSD被换为目标的MDX
e. 用户在HECO钱包中收到MDX
多链聚合的另一个实现路径,是引入中间代币作为跨链资产的衔接,这里的中间代币代替了上述不同链上稳定币的中转功能,比如THORChain的跨链实现路径为:
a. 用户向Thorchain发起兑换请求
b. Thorchain在自己的CAKE-RUNE交易对中,将CAKE换成等价的RUNE(THORChain 的原生代币)
c. Thorchain在自己的MDX- RUNE交易对中,将RUNE换成等价的MDX
d. 用户收到MDX
其中,O3 Swap例子中的第2到4步,以及THORChain的2到3步都是在后台运行,用户无需手动操作。由此,用户完成了一条链上的币兑换成另一条链上的原生资产的过程。当然,多链聚合只是一个思路,具体的兑换流程可以有不同的存在形式,当前也有许多团队在探索更高效的中间路径,以提供更好的用户跨链体验。另外,基于多链聚合,当前在单链上的各种DeFi应用都能实现跨链体验(例如,用户可以质押闲置的UNI,换出BUSD去BSC上挖矿),做到了不同链上资产在运用层面的互通,真正意义上打破了数据孤岛。
总结
目前,上述的几种跨链技术路径对于数学以及密码学的要求都非常高,需要开发人员过硬的专业知识和代码能力才能使项目落地;一个项目的成功,不只有关技术,还要兼顾产品的用户体验、代码友好性、开放性、市场和商业落地等各方面。用户体验又有操作便捷度、交易速度、交易确认等待时间、交易费用等等更细化的角度,项目能否适应市场的发展,真正创造需求,将被时间所验证。
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场