来源 | www.alexbeckett.xyz
作者 | Alex Beckett
对 Rollup 最常见的批评是它们“破坏了可组合性”。这一直都是大部分单一型链最大化派的主要观点。然而,“一条链管所有”是不可能的事。多链生态系统是前进的唯一道路。考虑到这一点,可组合性在主要基于 Rollup 的生态系统中有什么影响?
尽管可组合性这个概念看似简单明了,但在多链环境里它还有更多待探索的细微之处。
可组合性:是智能合约读取和写入另一个智能合约状态的能力。
简而言之,当应用程序可以与另一些应用程序交互时,这些应用就是可组合的。例如,一个自动化 Uniswap v3 流动性头寸的应用可以与 Uniswap 进行组合,因为它可以读取 Uniswap 流动性池的当前数据,并为用户执行增加或删除流动性头寸的操作。如果 Uniswap 和流动性应用在同一条链上,它们就可以同步组合。
同步可组合性:指的是智能合约之间的可组合性,其交互发生在已知且有限时间内。
简单来说,同步可组合性是应用之间的交互,它在单一区块的时间范围内产生。例如,闪电贷需要借款人在单笔交易的时间范围内借出并偿还。由于单笔交易无法跨越几个区块,所以它必须在一个区块内产生。通常,在同一条链上相互组合的应用是同步的。以太坊上所有的 DeFi 应用都与彼此同步组合。但是,同步可组合性不是唯一的可组合性类型。
异步可组合性:指的是智能合约之间的可组合性,其交互产生在未知且无限的时间内。有别于同步可组合性 (应用之间的交互必须发生在一个区块内),异步可组合性则可以让跨越多个区块的应用之间产生交互。虽然异步交互可能需要无限的时间,实际上没有人愿意永久等待。超时设定可以在交互超过预定时间后终止它,以此减轻超时现象。重要的是,异步可组合性可以让不同链上的应用实现交互。但如果应用在不同链上,他们要如何进行组合?
在不同链之间传输数据需要用到桥接合约。尽管许多桥接的存在只为了链与链之间的代币桥接,但异步可组合性的优势在于,它让用户在没有任何代币桥接的情况下与不同链上的应用进行交互。比如,假设第一个例子中的 Uniswap v3 和流动性应用运行于不同的链。当用户使用流动性应用在 A 链上进行一笔交易时,它将与链接到 B 链的桥接合约进行交互。这个流动性应用将向桥接合约指定它想要交互的 B 链应用,以及想要进行的交互类型。在这个例子中,我们可以说它在 Uniswap 上建立了一个流动性头寸。接着,桥接合约会将数据中继至 B 链以在 Uniswap 上建立一个流动性头寸,再将结果反馈回 A 链,包括一个来自 Uniswap 的流动性提供者(LP)NFT。
要使桥接能够实现异步可组合性,它需要具有通用数据传输能力。通用数据包括区块链可以传输的任意数据类型,如应用状态、有效性证明或是区块头。
存在于同一个 Rollup 上的应用可以与彼此进行同步组合。然而,不同 Rollup 上的应用则需要借助桥接合约来进行异步组合,这与不同单一型链上的应用的需求相同。因为只用一条区块链扩大所有 web3 活动规模是不可能的,所以具有异步可组合性的多链生态系统是唯一的解决方案。可以说,Rollup “破坏”了可组合性的观点是短浅之见,因为:
于是,多链生态系统面临着自己的一些基本问题:
除了拥有可扩展性属性之外,Rollup 还能解决上述的基本问题。Rollup 不需要有自己的验证者,只需要一组定序者生产区块。它的基础层提供着安全验证者集,共享着同一个结算层的 Rollup 之间可以构建信任最小化桥接,因为他们的状态转移可以通过结算层轻松验证。
最后,异步可组合性可以部分地缓解多链生态系统的另一个基本问题——碎片化,因为应用可以从不同链上获取流动性。例如,跨多个链聚合与路由交易的交易所将减少对较大交易的价格影响,因为获得流动性的机会增加了——对于稳定币和抵押衍生品来说也更好。
ECN的翻译工作旨在为中国以太坊社区传递优质资讯和学习资源,文章版权归原作者所有,转载须注明原文出处以及ethereum.cn,若需长期转载,请联系eth@ecn.co进行授权。