以 Bifrost 为例,解析全链应用新范式
The following article is from Bifrost Finance Author Bifrost Finance
从单链到多链,再到全链
作为最早的智能合约平台,以太坊在诞生之初,所有去中心化应用大多都只能部署在以太坊上,但随着公链生态的百花齐放和 L2 的发展,应用程序有了更多的选择。
其一,应用程序可以选择适合自身业务的某条链进行部署。每条链或者 L2 都有自己独特的机制设计,在去中心化程度、隐私性、数据可用性等方面各具特色,可以满足不同应用的需求。与此同时,各种一键造链的 Stack 也日趋成熟,应用开发者完全可以做自己的链,并自定义相关特性。比较典型的例子是 DYDX 协议,这是一个最早创建在以太坊上的去中心化衍生品交易市场,现在已经迁移到了一个单独的 Cosmos Zone,以更好的满足其对吞吐量的要求。
其二,应用程序可以选择部署在多条链上,让不同链上的用户能够使用该应用所提供的服务。从应用自身角度讲,这么做可以扩充业务规模,提升协议收入。例如知名借贷协议 AAVE 将其程序部署在了 6 条链上。
然而,多链的格局,以及应用程序的上述选择,也带来了 Web3 生态的割裂,包括用户体验的割裂和流动性的割裂。
用户体验割裂:用户为了使用不同的链上服务,需要将资产在多链中转移,注册不同链上的地址,并学习不同链上的操作。很多时候,用户需要操作很多个步骤,准备很多种 Gas,才能达成想要的结果。
流动性割裂:
在很多类型的 DeFi 协议中,流动性深度都是其核心体验的一部分。然而,同一份流动性无法同时存在于多条链上,每一个 DeFi 协议,当部署到一条新链上时,都需要重建流动性,这降低了流动性的整体效率。
为了解决上述问题,一种新的应用范式开始被探索—全链应用(Omni-dApp)。全链应用是一种崭新的应用程序构建方式,开发者构建应用时,将全链互操作作为前提,把应用在不同链上的部分,作为一个整体去设计,而不是简单的把单链应用程序复刻到多链上去跑。全链应用由不同链上的不同模块组成,这些模块具有互操作性,共同构成一个完整的应用。相比多链部署,全链应用可以做到把触角伸到更多的链上,让更多链上的用户可以使用程序服务,不存在用户体验割裂与流动性割裂的问题。
全链应用的一般架构
全链应用的架构可以被描述为“总店+分店”模式。应用程序的主要逻辑是放在一条链上,就像一个“总店”,然后其他链上提供一个远程访问模块,以实现与终端用户之间的交互(获取用户输入,输出用户想要的结果),就像一个个“门店”。
门店获取用户的输入后,将该输入跨链传递到总店,总店进行处理后输出结果,再将该结果跨链传递到门店,向用户输出。某些情况下,总店的不同模块可能被拆分到不同链上,它们共同构成一个虚拟的总店。
这种架构的优势在于:
其一,便于扩展。程序的主要逻辑在一条链上处理,应用程序拥有一个统一的状态记录。用户在新的链上部署门店模块之后,可以继承来自总店的所有状态记录和流动性,而不必重造车轮;
其二,用户体验更好,用户无需关心程序部署在哪条链上,可以从任意门店访问该程序,就像访问本地程序一样,而不用将资产跨来跨去,也无需学习多条区块链上的操作,准备多种 Gas;
其三,便于跨链集成。其他应用程序在集成该程序时,仅需和总店进行对接,就可以使用其所有功能和流动性,而非需要分别于所有分店对接。
在下表中,我们将全链架构和单纯的多链部署做一个类比:
特性 | 多链 Multi-chain | 全链 Omni-Chain |
状态记录 | 分散在多个链上 | 统一在一条链上 |
流动性 | 分散在多个链上 | 统一在一条链上 |
用户体验 | 用户需要熟悉多链操作、准备多链 Gas、频繁转移资产 | 用户可以在任意链访问程序,就像访问本地程序一样 |
可集成性 | 仅对同链集成较友好 对跨链集成而言比较复杂 | 更好的跨链可集成性 |
Bifrost 如何实践全链架构
全链应用对于链间的可操作性有较高的要求。从目前来看,异构链间的互操作还存在诸多问题 ,包括缺乏安全可靠的基础设施、缺乏通用的意图表达语言,但波卡生态没有这些限制:
波卡的共享安全性架构及 XCMP 传输协议,允许平行链间安全的传递信息,其安全性与中继链的共识安全性相当。
XCM 为平行链之间的消息传递提供了一套规范的意图表达语言。当用户发起跨链请求时,应用程序可创建清晰的语句来表达用户的意图。这个意图可以很复杂,逻辑可能涉及多个平行链之间的跳转,但无论如何复杂,XCM 都可以清晰的表达并被执行。
作为全链 LSD 协议的开拓者,Bifrost 选择使用一条平行链来承载程序全局状态,在其上部署了用来支持 vToken 铸造和赎回的 SLP 模块,也在其上部署了 vToken 的官方流动性池,这些将是全链 LSD 的“总店”模块。
我们将首先在其他平行链上部署“分店”模块,并在基础设施允许时,在异构链上部署“分店”模块,最终,用户将可以在任何链上铸造、赎回、兑换 vToken。值得注意的是,用户将可以在任何链上铸造、赎回、兑换所有的 vToken,而非只是某一个 vToken,例如用户可以在 Moonbeam 上铸造、赎回、兑换 vGLMR、vMOVR、vDOT、vASTR,而非只是 vGLMR。
进一步讲,与用户直接使用“分店”模块相比,我们更期待的是,其他链上的 dApp 通过访问远程模块,实现对 Bifrost 的深度集成,例如某条链上的借贷协议可以自动帮助用户把抵押品转化为 vToken 进行抵押,从而在用户无需额外操作的情况下为用户提升收益率。
小结
总之,全链应用作为一种新的范式,为我们打开了很多新的可能性。除了 LSD 资产的任意链铸造、赎回、兑换之外,我们还可以想象到更多场景:
用户在 Chain A 抵押资产,希望在 Chain B 取出借款
用户在 Chain X 提供资产 X,希望换得 Chain B 上的资产 Y
用户在 Chain A 上用资产 X 兑换资产 Y,但使用 Chain B 上的 Pool
用户的资产在 Chain A 上,但是想使用 Chain B 上的某个应用进行挖矿
在全链架构下,上述情形,应用程序都可以让用户在不感知任何跨链过程的前提下,为用户完成操作。
当全链应用成为去中心化应用的主流范式时,无论是应用程序开发者还是用户,都能在区块链世界中体验到前所未有的自由度。
Bifrost 是什么?
Bifrost 是基于 Polkadot 构建的模块化、可拓展、非托管的全链 LSD 平行链,通过 XCM 为 Web3 提供标准化、高收益、安全可靠的底层附息资产,正在实现任意链使用任意 LSD 的全链愿景(Omnichain LSD)。
往期文章
官网 https://bifrost.finance
白皮书 https://whitepaper.bifrost.finance
Github https://github.com/bifrost-finance
Twitter https://twitter.com/BifrostFinance
Telegram https://t.me/bifrost_finance