Composable:XCVM 是如何抽象跨链开发者体验的?

语言: CN / TW / HK

由于生态系统在零和竞争中相互竞争,使得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解决了区块链开发者目前面临的基本挑战。

Source: https://medium.com/composable-finance/how-does-the-xcvm-abstract-the-cross-chain-developer-experience-2fcb1ab68940

关于

ChinaDeFi– ChinaDeFi.com 是一个研究驱动的DeFi创新组织,同时我们也是区块链开发团队。每天从全球超过500个优质信息源的近900篇内容中,寻找思考更具深度、梳理更为系统的内容,以最快的速度同步到中国市场提供决策辅助材料。

Layer 2道友– 欢迎对Layer 2感兴趣的区块链技术爱好者、研究分析人与Gavin(微信: chinadefi)联系,共同探讨Layer 2带来的落地机遇。敬请关注我们的微信公众号 “去中心化金融社区”