扩展跨链可组合性
概括 — — 为何使用虫洞批量验证批准(Wormhole Batch VAAs)?
- 信任是被孤立的 → 组合性协议只信任跨链桥
- 可组合性为默认设置 → 任何与虫洞集成的协议都带有可组合性
- 简易的集成流程 → 协议只需直接与虫洞集成
- 低成本 → 相比于单条信息验证,批量验证可维持在几乎相同的成本
介绍
去年是DEFI元年,大量的金融科技创新涌现。其中的主要驱动因素之一就是可组合性(Composibility),让协议之间可以无缝交互和相互集成的同时又能发挥各自的原语。
随着以太坊的容量不断地被用户占据,可替代的通用结算层方案也逐渐发展起来。这也促使用户在多链交互的需求日益增长。
我们看见用户们把中心化交易所作为区块链价值跨链的初步方案。但依靠中间商在无许可的结算层上转移资产,是不理想的方案。
而在去年,我们见证了第一批去中心化跨链桥和通用性跨链互操作协议的诞生。
他们大多数都执行非常基本的原语 — — 跨链信息传送。虽然跨链信息传送可实践很多跨链通用用例,但它无法有效的让不同的协议组合在一起。
为何跨链可组合性如此重要?
通常用户需要通过多个不同的dApps程序的协作来完成跨链交互。这是因为需要通过程序和跨链桥之间的组合交互来达成价值传送。
现状:跨链可组合性不简单
若想了解为何跨链可组合性非常艰难,我们必先懂目前跨协议交互是如何执行的。特别是跨链交互的后端流程,是限制可组合性的原因。
基本上,在同一条链上部署的程序是可以互相同步调用。但若在不同的链上部署(就算是同一个程序)则无法直接调用。反之,他们需要在原链上传送信息,经由中继、验证和诠释后在目标链上完成目标任务。这信息包含在目标链上所需执行的所有指令。
但这种信息传送原语的做法却阻碍了可组合性的发展。这是因为所有交互的程序必须将操作指令嵌入到同一条信息才能达成同步调用。
因此目前的设计模式都把不同程序指令一个个给嵌套在同一个信息中。
例如: 用户调用 → dApp调用 → 跨链桥调用 → 信息传送协议
这个做法有几个弱点:
- 信任:这种嵌套的方案需要对调用的协议互相产生信任。以上例子中,信息会在目标链以逆序解包,意味着dApp信任跨链桥来传送指令。若嵌套链中最弱的一环失败,其他协议也会跟着一起失败。
- 集成力度: 这方案需要嵌套链中的每个dApp前后互相集成。安全考量的门槛非常高。实际操作的可组合性被限制了。
- 复杂程度:以上举例是较简单的写法。其实三个以上的协议集成是非常复杂且容易出错的。
- 安全性能:过去已经有一堆采用类似用户调用机制的DEFI协议被骇了。
挑战:
为跨链可组合性打造新的原语:
- 采用即插即用(plug-and-play)集成模式来代替现有嵌套链集成模式。
- 在多链交互间执行原子交互( atomic interactions)。
- 抛弃嵌套链组合协议的模式。
- 防止集成的协议相互依赖对方的安全假设。
解决方案:🌈 原子批量验证批准 (Atomic Batch VAAs)
Atomic Batch VAAs是能将上述挑战一一解决的全新方案。
背后的设计思路非常简明 — — 让不同的协议在同一个原子交易中独立发送信息。每一项独立操作都为各自的协议所有,但他们只能一同在一个原子期内执行(可选择)。
这让集成商把各个协议以原子凡是组合起来,过程无需信任对方的安全假设,也无需花时间在集成协同中(利用即插即用)。
协议们可以构建自己的核心原语,将它转换成开放端点,让其他人在这基础上创建其他应用。
例子参考:
这里显示六个不同的协议以无许可的方式组合在一起
- 一个消费者应用xApp
- 两个不同的跨链桥
- 一个开放式的中续网络
- 一个在目标链上的dApp
- 当然还有…虫洞
从中,xApp正利用其他不同的协议轻松地执行其所需的操作,与其它链上的协议进行交互和价值转移。比如在借贷池存款或在DEX交易。
而那中续网络在后端使用另一个代币跨链桥来传送中续支付。这交互流程无缝式的套入同一个虫洞批次中,并可在目标连上原子式执行。
有史以来,我们首次能将如此复杂的跨链交互以无许可的方式实现,同时让每个协议都隐式的与虫洞集成。
接下来,我们将会揭晓Wormhole Batch VAA 如何开发去信任、可替换的开放式中继系统。敬请期待!