Composable Finance:作为第一个跨链智能合约L1而崭露头角

本文详细介绍了Composable Finance的跨链虚拟机(XCVM),强调其在DeFi领域中实现真正的可组合性的重要性。XCVM允许在多个区块链之间无缝交互,提供了一种全新的构建去中心化应用的方式,解决了当前跨层解决方案的局限性。

在过去的一年或两年里,“互操作性”从DeFi领域被松散地当作一个流行词到现在成为了一种蓬勃发展的现实。Composable Finance及其他致力于促进互操作性的项目,成功地促进了不同区块链网络之间的各种桥接和通信功能,努力使这些链接变得尽可能高效和有效。现在,我们看到DeFi中的互操作性已实现为一个区块链上的智能合约交易能够触发另一个区块链上的智能合约的响应。

互操作性一直是Composable Finance的主要关注点,但我们也一直梦想着更大的愿景。我们想象一个无缝连接、可无限定制的乐高式DeFi行业,在这个行业中,价值和用户体验得到优化,而复杂性和挫败感被最小化。换句话说,我们一直在追求(更重要的是,也在朝着)这个领域的下一层次互操作性:可组合性。

从基本定义来看,可组合性描述了将一系列不同的精选构建块组合成新事物的能力。在Composable,我们进一步认为,可组合性意味着整体大于部分之和的状况;换句话说,这些工具的组合提供了一种优越的功能,高于仅使用单独工具所能提供的功能。如果在DeFi中实现了这一点,那么可组合性的结果将是新的且无与伦比的创新和机会。要真正实现可组合性,所有独立的部分必须能够无缝结合,以至于划分线几乎不可检测。此外,构建可组合基础设施的开发者应该能够毫无障碍地进行构建,而无需受限于选择特定生态系统中的任意组成部分,以自如地构建他们精确的愿景和目标。用户的体验也必须同样无障碍。

Composable的跨链虚拟机(XCVM)是能够最终实现DeFi多个生态系统之间真正可组合性的主要技术,得益于其原生跨链智能合约。 在当前的DeFi格局中,现有的最常见的虚拟机(如以太坊虚拟机EVM)仅在一个链上存在和执行交易,然而,Composable XCVM不同,任何通过XCVM部署的内容将是原生跨链 _。要理解这一点如何运作以及为什么重要,我们必须探索当前Composable Finance及其他提供的互操作性水平。

当前的互操作性解决方案是追溯性的

我将当前在DeFi中互操作性提供的选项概念化为项目用来允许其应用在其他链或层中实例之间相互通信的“胶水”。最开始,以前不相连的区块链和应用现在通过受信任的中继传输在选定位置固定在一起,例如在LayerZero中。它的中继传递链之间的消息,而预言机验证消息的正确性;它们共同允许已经部署在这些链上的不同应用和链上的智能合约相互沟通。

这是推动DeFi行业增长和扩展的一个极为重要的步骤,但它并没有实现完全的互操作性。其局限性在于互操作性是追溯使用的,而不是主动生成的。

智能合约及其所属的项目仍必须首先在一个链上原生部署,然后必须使用中介平台来访问与其他链上智能合约的桥接。这在不同链上的协议之间移动资金和管理不同链上协议的不同实例时相对有效。然而,主要问题是这仍然迫使DeFi开发者选择必须原生部署其应用的区块链,以获得其互操作性功能。XCVM框架与这些解决方案显著不同,因为它充当了一个编排层,开发者可以在一个地方利用这一层构建其应用,而不是被迫选择单一链进行构建。

XCVM可组合性的愿景

在这一部分,我将讨论DeFi中跨层互操作性的现状,并与XCVM解决方案进行对比。我还将概述XCVM的各种特性,这些特性将使其在实现可组合性方面更加成功,包括其对CosmWasm和IBC的应用。最后,我将提供XCVM与现有跨层解决方案的图示比较,以及XCVM的优势总结。

当前跨层解决方案的问题

像Layer Zero这样的解决方案依赖中继器和预言机来广播和检查不同链上应用之间的事件。而XCVM则创建了一个由 Centauri桥接基础设施提供最终性证明的信任无关环境 ,使得不同链上的智能合约能够相互操作。

与现有的区块链虚拟机版本不同,XCVM并不迫使应用程序和智能合约只能部署在某一特定链上。相反,XCVM为应用程序提供了一种原生跨链的全新机会。其目标是促进从上而下的互操作性和可组合性的开发,而不是将不同的现成组件连接在一起。在 pre XCVM 时代,开发者希望创建一个可互操作的应用程序,需要考虑他们希望应用程序在何种链之间运行并将选择缩小到一个作为其原生链。然后,他们必须将其项目部署以与该特定链的虚拟机配合使用(例如,在以太坊上构建的项目使用 EVM)。另一个对开发者的额外负担是找到一个能够与以太坊以及他们希望应用程序与之通信的其他链的互操作解决方案,集成该解决方案,并在需要桥接到不在以太坊上的其他应用程序时使用它。此外,假设他们想在其他链上部署该项目。在这种情况下,DeFi 开发者必须完全重新创建他们的项目,然后将其与现有项目连接 - 可能要多次进行,这依赖于他们希望创建的实例数量。

XCVM 解决方案

相比之下,XCVM 被定位为一个可互操作的智能合约环境,我们设想开发者能构建可以在链之间原生运行的去中心化应用程序。因此,项目可以同时利用几条链的优势,同时省去在多条链上创建多个实例或依赖各种桥接的额外步骤。

IBC 集成

跨链通信协议(IBC)目前允许在 Cosmos SDK 链之间以不可信的方式传递任意数据。至关紧要的是,它通过轻客户端和最终性证明实现了信任无关,而不是依赖于传统的中继和铸造结构。Composable 正在努力扩展 IBC 的功能,以连接其他生态系统(例如 NEAR 或其他支持轻客户端的生态系统)上的链,通过集成轻客户端来跟踪这些生态系统中的最终性,这为 Composable XCVM 提供了传输层。

因此,我们实际上是在帮助 IBC 成为 Cosmos 生态系统所设想的样子:一个区块链互联网。促进生态系统之间的通信一直是 Cosmos 的愿景,并通过创建 IBC 和 Cosmos 的多链合约取得了一些初步进展。然而,作为中心的 Cosmos 尚未实现绝对的空间互连。Composable 将 IBC 和 CosmWasm 集成到 XCVM 中,将允许更多新的生态系统与 Cosmos 之间的集成,帮助扩展 Cosmos 的能力。

编写 CosmWasm 智能合约

为了给 XCVM 带来更多的好处,Composable 决定使用 CosmWasm 框架来构建这项技术,这意味着这是开发者能够构建跨链原生应用程序的框架。该框架结合了 WebAssembly(Wasm)智能合约引擎、Cosmos SDK 和 Cosmos 的 跨链沟通协议(IBC)的优势。CosmWasm 的另一个特点是允许多链合约:一个去中心化应用程序(dApp),一个合约,但多个链。任何使用 Cosmos SDK 的链都可以轻松集成 CosmWasm 模块,该模块旨在保持系统需求的低开销。CosmWasm 允许在多个链之间进行组合和迁移,具有内置的、许可的、预合约迁移功能。

CosmWasm 从一开始就专注于互操作性,旨在与 IBC 兼容,并集中于为具有多个连接链的生态系统构建一个智能合约环境。CosmWasm 已被证明是一个经过良好测试的框架,准备作为 XCVM 的基础开发框架,因为它促进了多个生态系统之间的原生通信和智能合约,尤其是超越了 Composable 已经集成的生态系统。

利用 XCVM 的去中心化应用程序将用 CosmWasm 编写。

CosmWasm 框架中的智能合约以不同于传统智能合约的方式运作。CosmWasm 智能合约可以通过 IBC 转移消息向其他链发送侧消息。总体而言,发送消息的基本合约端点可以被分解为以下内容:反射消息到处理程序,并将本地或非原生代币进行包装/发送到链 B 中被执行。然后,身份验证检查确保两个链之间的通道连接,并构建一个数据包到 Composable 平行链/IBC 启用的链,底层是 CosmWasm。最后,一个 IBC 消息被执行并发送到另一个合约。

系统架构

下图来自 LayerZero,描绘了他们的协议,类似于目前领域中的其他协议,如何实现跨层操作。要使链 A 上的交易引起链 B 的响应,这笔交易必须首先通过 LayerZero 传递给离线中继器。正如之前所述,这不是真正的原生跨链通信。

下图描绘了 Composable Finance XCVM。与 LayerZero 和其他现有解决方案相比,XCVM 使得创建原生跨链智能合约成为可能:

XCVM 示例

XCVM 的一个独特示例可以在下图中看到,其中用户打算在与存入不同的链上提取贷款:首先,用户将其 LP 代币存入链 A 上的借贷协议。在该合约实例化期间,消息绑定到 IBC 端口并发送 IBC 不透明数据包到链 B 上的卫星合约。因此,用户现在能够在链 B 上提取贷款。

XCVM 路线图

将我们对 XCVM 的愿景变为现实涉及路线图中的几个核心点。Composable SDK 在当前和早期版本中,是一组用于与 XCVM 子集交互的早期工具。

Composable SDK

我们构建了 Composable 软件开发工具包(SDK),在很大程度上实现了像 LayerZero 和其他类似协议的核心目的:将各种应用程序和链连接在一起。我们的 SDK 利用我们从头构建的 Mosaic,这使得在 EVM 和 Substrate 生态系统中的几条显著链之间进行函数调用成为可能。随着 XCVM 的持续发展,我们计划在 Composable SDK 中集成更多功能,使得直接与 XCVM 的核心部分进行交互成为可能。

目前,Composable SDK 仍然是一个早期版本,正在连接 XCVM。在未来,Composable SDK 将提供连接到 XCVM 及其特定隔离组件的端点。尽管我们的 SDK 在解决互操作性问题的过程中充当了一个关键的临时解决方案,但为了实现真正的可组合性,它仍需要在能力上进行进一步扩展。因此,我们希望通过创建 XCVM 特性来改善其当前状态。

XCVM 及其特性

最终,XCVM 在 XCM 和 IBC 协议之间形成了联盟,充当智能合约层以编排 IBC 和 XCM 消息。CosmWasm 将置于 ink! 集成模板之上,以允许编写智能合约,XCVM 将利用 IBC 作为数据和数据包格式在不同链上的合约之间传递的传输层。此外,我们正在使用受 XCM 启发的消息来实现数据包传递。

此外,通过构建向 IBC 报告其他网络最终性的轻客户端,我们可以连接 Cosmos 以外的其他生态系统,如 Near、Zksync、Starkware 以及许多其他启用了轻客户端技术和最终性证明的生态系统。在 XCVM 内部,我们将构建库以调用、借用和执行其他重要功能,供使用 CosmWasm 的智能合约开发者指定 DeFi lego 函数。

路由层将由索引器和求解器组成,它们协同工作以计算跨多个生态系统的最佳路由,并持续从 DeFi 应用程序二进制接口(ABI)库查询合约。路由层确定特定功能应在哪执行,哪些去中心化应用程序需要交互,以及更具体来说,哪个卫星合约应该交互。

我们还在探索成为基于子栈链的 rollup 环境的可能性,这将是此类环境的首次出现。例如,在 XCVM 的 spree 模块上部署合约,但在基于 zk-rollup 的执行环境中执行交易。

结论

考虑到当前 DeFi 的互操作性状态,智能合约局限于单一的部署位置,无法相互交互,且缺乏用于编排的顶层。因此,跨层和跨链解决方案极其局限于一个事件触发另一个链上的另一个事件的框架。

虽然这无疑是朝着正确方向迈进的一步,也是一个有用的临时解决方案,但这仍然没有真正解决开发者构建跨链应用程序的需求。是的,它解决了同时部署多个应用程序并使它们相互沟通的问题。然而,这不能允许原生跨链应用的部署。

为了提供对互操作性的自上而下解决方案,而不仅仅是将现有应用程序简单地粘贴在一起,Composable 创建了其 XCVM。Composable 设想 XCVM 作为部署能够在多个链之间原生通信的协议的顶级编排层。因此,这些应用程序不仅可以互操作,还可以可组合;开发者可以使用 XCVM 在各种现有链之间组合协议,以实现最大化的定制和效果。

— — —

如果你是拥有符合我们生态系统和目标的项目的开发者,并且你希望参加 Composable Labs 中互动测试环境的活动,请通过 Telegram 联系我,账号为 @brainjar。

  • 原文链接: medium.com/composable-fi...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
0xbrainjar
0xbrainjar
江湖只有他的大名,没有他的介绍。