Composable:XCVM 如何帮助 DeFi 开发者实现跨链部署?

去中心化金融社区2022-09-13 16:36
通过引入 XCVM,Composable Finance 解决了区块链开发者目前面临的基本挑战。


原文标题:《Composable:XCVM 是如何抽象跨链开发者体验的?》(How does the XCVM abstract the cross-chain developer experience?)

撰文:Composable Finance

编译:ChinaDeFi


由于生态系统在零和竞争中相互竞争,使得 DeFi 的流动性在这些生态系统中是分散的,这种情况阻碍了它的整体增长,对用户和开发者都产生了负面影响。如果要广泛采用 DeFi,应用程序和协议的功能必须能够超越生态系统。在 Composable 上,我们发现了一个跨链智能合约框架 CosmWasm,它允许开发者用一种语言编写代码,用于跨多个链部署,从而帮助解决了多个问题。因此,Composable 的 XCVM 的一个关键好处是,它通过利用 CosmWasm 来抽象执行环境。这使开发者不必担心在哪里部署他们的应用程序,也就不必担心构建什么解决方案。因此,CosmWasm 和 XCVM 使开发者能够使用单一的编程语言构建和部署面向未来的应用程序,从而实现跨生态系统的功能。


DeFi 开发者面临的问题


对于散户投资者和机构投资者而言,DeFi 的众多产业链和层级都提供了极具吸引力但尚未开发的机会。将这些用户引入 DeFi 的挑战在于,开发者无法构建有效利用和抽象 DeFi 各种生态系统的应用程序。


流动性在整个 DeFi 中以「自相残杀」的方式流动:较新的区块链、rollup 和应用程序在一个自我实现的循环中从较旧的区块链中获取流动性。因此,这不仅对协议偿付能力具有挑战性,而且对最终用户来说也是如此,他们需要在这些不同的生态系统中部署其资产。


虽然最终用户能够被动地将他们的资产转移到最有希望为他们提供最大利益的生态系统,但开发者必须先发制人地决定他们的生态系统。此外,如果需要重新部署到新的链或生态系统上,开发者必须处理一些复杂的问题。与最终用户不同的是,开发者并不能获得后见之明的好处;当需要在链之间迁移时,部署应用程序的位置的选择是非常繁琐的,并且是一项艰巨的工作。这些问题导致开发者在开始开发他们的解决方案之前就必须思考并强调在哪里构建的问题。


这进一步增加了开发者的困难,在这种孤立的环境中构建最佳解决方案并不一定会导向用户采用。正如上文所指出的,DeFi 用户倾向于选择生态系统,并会随着机会的出现而迁移到新的生态系统。最终,构建一个失去关注或流动性的生态系统对项目的成功是致命的。


进入 XCVM


随着 XCVM 的引入,这些问题就将不再困扰开发者。总的来说,通过 XCVM 部署本地跨链 dApp 的能力使整个 DeFi 变得强大,它代表了 Composable 对跨链启用 DeFi 的未来「赌注」。使用 XCVM 的话,开发者就不需要局限于单个区块链甚至单个生态系统,这可以极大地降低他们的长期风险。因此,在 XCVM 上构建的开发者可以从以下方面获益:


非凡的灵活性


用 CosmWasm 编写的合约是模块化的,并且具有高度的可移植性,因此可以部署在连接到 XCVM 的任何链上。这是通过 XCVM 的 Satellite 合约实现的。正如 XCVM 规范中所述,Satellite 合约采用不同的形式。例如,Substrate 呈现被实现为一个托盘,而在 Cosmos 上,它可以采取 CosmosSDK 模块的形式,或者作为在 EVM 链上相互作用的多个智能合约。


无论链或实现如何,这些合约总是由相同的基本构建块组成。开发者的最终结果是,无论他们希望部署到哪个链,他们都能够遵循相同的流程。通过编写 XCVM,跨链应用程序如下:


  • 在 CosmWasm 中编写合约,并利用 XCVM SDK 来利用跨链功能,如资产转移或在另一个链上调用合约。
  • 通过所选链上的解释器实例提交 XCVM 合约。
  • 让 XCVM 基础设施来处理其余的工作。


XCVM SDK


希望通过 XCVM 部署应用程序的开发者将能够受益于 XCVM SDK。目前,我们有一个可用的的 Rust SDK,它允许开发者在我们的平行链上构建 XCVM 程序。例如,开发更多的 SDK,以允许从基于 Solidity 的链部署 XCVM 程序。此外,开发者构建前端应用程序也可能希望使用 XCVM 构建,在这种情况下,我们也计划提供一个 Javascript SDK。


一个合约,多条链


使用 XCVM,你只需要编写一个合约就可以部署跨链应用程序。如果需要添加对新生态系统的支持,只需生成一个新的解释器实例就行。在 XCVM 规范中可以找到这样的一个例子,开发者将资金转移到新的链,拿到贷款,然后将资金转移回原始链。此示例如下所示:


Spawn XYZ BridgeSecurity::Deterministic 0 [

Call 0x1337, //chain-specific encoding to make a smart contract call.

Transfer Relayer USDC Unit 50, // 50 bucks for the fee. The relayer earns this if the inner spawn is dispatched.

Spawn HOME BridgeSecurity::Deterministic 0 [

Transfer Relayer USDC Unit 50 // Another 50 bucks fee for the operation, but now reverse direction.

Transfer USER { USDC: Ratio::ALL } // On ABC, we transfer all USDC to the user.

] { USDC: ALL }, // We send over all our USDC back to ABC.

] { DOT: UNIT 100 }, // We send over 100 DOT from ABC to XYZ.

XCVM 程序示例


统一的流动性和用户基础


XCVM 开发者可以通过 Satellite 智能合约的跨链、统一状态转换功能,让他们的产品可以在所有主要生态系统中使用。基于 Cosmos、DotSama 和基于 EVM 链的统一将允许 XCVM 开发者与这些典型的孤立的生态系统的原生资产进行交互。


有了 XCVM,开发者将能够在这些生态系统之间无缝地转移资产,并构建能够覆盖所有 DeFi 用户的应用程序。这种可能性是无穷无尽的。这不仅将改善跨链应用程序的开发体验,而且还将影响最终用户,他们将能够发起跨链资产从源链到目标链的转移,只需一个动作——调用 XCVM 启用的合约。


调用现有应用程序


最大限度地减少对特定生态系统决策的需求是 XCVM 的主要目标之一。然而,上面提到的 Satellite 合约确实允许开发者调用任何链上的现有应用程序。Satellite 合约充当一种转换器,将链特定编码应用于 XCVM 指令。这使开发者能够在所有 DeFi 中利用现有应用程序。


改善用户体验


虽然在技术上令人印象深刻,但 XCVM 的真正力量在于它以用户为中心的设计。我们相信,易用性是实现大规模采用的必要条件。XCVM 开发者将在他们自己的应用程序中利用开源工具、预构建的 UI 小部件 ( 如 Composable 的 stepper 和跨链区块浏览器 ),从而受益于这种增强了的用户体验。


如下所示,stepper 为用户提供了可视化辅助,以跟踪其跨链交易的状态。开发者将能够在他们自己的前端实现这个特性,以帮助用户更好地理解他们正在处理的应用程序。



除了 stepper,开发者还可以利用 Composable 的跨链区块浏览器。区块浏览器将提供与传统浏览器类似的用户体验,但也将允许用户查看每个适用链上发生的交易:



结论


通过引入 XCVM,Composable Finance 解决了区块链开发者目前面临的基本挑战。

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

来源链接

相关Wiki

相关标签