链抽象:朝着新互联网的可组合性进行协调

本文探讨了区块链的碎片化问题及其背后的原因,并提出了链抽象的设计理念,以应对这些挑战。文章详细分析了以太坊及其EVM的优缺点、扩展方案、跨链通信协议以及SOCKET协议如何促进多链应用程序的互操作性,同时阐明了通过链抽象实现用户体验统一的重要性。

区块链仅仅是构建精彩事物的基础,其无权限的特性使得几乎不存在完美解决方案来解决它们面临的任何一个问题。这个问题最初被称为“区块链三难困境”,它大体上定义了每个单体区块链在去中心化、安全性和可扩展性之间必须做出权衡。

对这个问题的认识和理解自其提出以来日益增长,各种设计同时被提出作为解决方案。

除了在特定垂直领域的优化之外,还有一些解决方案应运而生,以解决特定问题。

所有这些发展将加密行业带到了今天;一个分散而孤立的开发网络,在这些链上,推动需求的“轮子”需要一次又一次地被重新发明。

在本文中,我们打算提出多年来由于不断追求“终极区块链”而浮现出的问题,研究这些问题的源头,并提出相对较新的链抽象设计理念,旨在解决加密的碎片化问题。然后,我们将讨论 SOCKET 协议的设计选择,审视其工具如何推动加密用户体验的统一与简化。

以太坊和EVM备受追捧的图灵完备性

以太坊作为第一个由EVM启用的智能合约链的出现,促成了去中心化应用(dAPP)的构思与开发,旨在以抗审查的方式提供各种金融和社交服务形式。

不过,从一开始就显而易见,仍有很多工作需要进行,以确保应用程序不会因为链自身的限制而受到约束。最初的处理方法是引入在此上下文中灵活兼容的原语——AMMs及其不同形式和池贷市场是一些由于现有基础设施执行和共识设备的局限性而被追求的、更 recognizable 的原语。

由于EVM的主导地位,当时大多数项目似乎集中于以太坊的共识设备的限制,因此提供相对于以太坊更高的TPS值、更快的区块时间和更大的区块大小。然而,EVM仍然是智能合约链的执行标准。这导致了一个停滞期,许多几乎不可区分的替代L1区块链被推出,获得的收益逐渐减少,并遭到广泛批评。但是,它们大多只是在不同程度上复制了EVM的设计。

最终,替代L1通过实现新的虚拟机设计(通常称为altVM)而变得有所区别,这些设计相对于以太坊提供了不同的一系列权衡。这导致替代L1出现了新的方法;在执行和共识领域的优化。

以太坊以rollup为核心的可扩展性解决方案

毫无疑问,以太坊的持续成功主要得益于EVM。由于其显著有限的可扩展性,EVM的共识设备对于应用程序并不完全理想,因此一直是研究和开发的主要领域,证明这一点的成就有The Merge、提议者-构建者分离(PBS)及其他持续的研究努力。

而替代L1则在前几个周期的浪潮中继续发展,取得了相对较小的成功,以太坊则将其扩展方法从分片转向了rollup和其他L2设计。这种方法使得专门的区块链可以受益于以太坊的安全性和抗审查能力,同时保持对其平台进行特定应用或功能优化的能力。

L2网络的根本要点是,它们将一部分工作转移到一个底层L1网络(在这种情况下为以太坊),从而可以在特定方向轻松优化,无论是速度、状态管理、共识机制,还是更多以用户为中心的目标(如dYdX v3、LAST网络、Unichain)。这从本质上允许在一个连贯的方式下进行激进的努力分布,现在通常被称为模块化扩展

在转向rollup为中心的方法后,一些与EVM等效的替代L1决定成为以太坊上的rollup,借助其安全保障,这样便加入了数百个建设通用和特定应用rollup的团队,共同构建出一个具有更低信任设置的可组合未来。

以rollup为核心的路线图所遇到的问题是,每个rollup的“状态”仍然是动态的,而大多数通用rollup相对于其同类产品提供的改进微乎其微。如果rollup没有彼此孤立开来,且不必通过现金找(并留住)一些关注来寻找合理性,或许这将不成为问题,因为在这种情况下,这主要归结于谁拥有最好的营销团队。

[PS:这与最近一些代币发行的提取性质话题有关;引导是一个艰巨的任务,存在许多需要养活的“口”,以便甚至在获得关注的机会下一步行动]

现存rollup的共同设计使其仅在一定程度上与L1可组合,并且彼此之间并不相互连接,导致人们称其与替代L1并没有多大区别的看法,这种看法是可理解但不正确的。

不同之处在于,各种rollup生态系统内 enforcing composability 的向后兼容的方法,由于其EVM或EVM兼容设备的实现,能够被使用。激进的altVM实现不能享受这种待遇。

为促进生态系统内互操作性而研究的突出的提议设计包括:

  • rollup集群
  • 共享排序
  • 账户抽象

接下来我们将简要阐述这些内容。

Rollup集群

最近,大多数初始通用rollup为其他rollup(无论是L2还是L3)的启动独立设计了框架,以使其能够立即与其建立的生态系统进行可组合。这种方式易于建立一个设计上确立了相似信任假设的rollup网络,从而确保彼此之间的同质性以及与以太坊的一致性。

Optimism目前在这个方面处于领先地位,他们概念上的超级链中,rollup通过OP-Stack框架启动。紧随其后的是Arbitrum及其Arbitrum-Orbit框架,以及Polygon的Agglayer

然而,这种方法仍然还有很大的改进空间,因为现有的rollup在没有对其当前机制进行几乎完全改造的情况下,无法轻松利用这种集群方法,这是一个巨大的挑战。所需要的是一个允许已有的生态系统得以赋能,同时为新的rollup提供平台的解决方案。Agglayer的设计选择考虑了这一点,但目前仍处于概念阶段,对未通过其zk-EVM启动的L2的支持相较之下还在更长的路线图中。

共享排序

rollup中的排序器负责运行所采用的执行设备,因此负责在rollup上执行交易,从而给用户提供在L1上执行的保障。该保障被称为软最终性,因为在极端情况下仍然可能在L1上被撤销。有关排序器的更多信息,请参阅我们在此主题上的深入报告这里

共享排序网络旨在为特定条件下的区块链提供灵活适配的执行设备。它们是状态不可知的实现,旨在允许既定的执行者集(区块构造者、验证者、证明者等)向集成其产品的区块链提供执行或排序的保障,通过构建部分或全部区块在相关链上以异步原子方式执行。

它们被提议允许rollup采用现有的排序器集,脱离单一排序器模型,从而在不必承担相对更高的创建有效排序器集成本的情况下,获得更高的抗审查。在封装这些状态时,目标是提供任何选择加入其实现的一组区块链的超集状态。

在这个类别中值得注意的设计示例包括:Espresso、Anoma和SUAVE。

账户抽象

账户抽象最初被提出是为了简化和统一以太坊中的账户交互,但现在被视为解决其rollup生态系统碎片化问题的潜在解决方案。

对以太坊及其rollup的交易格式制定标准,意味着可以存在并使用一种“alt-mempool”结构,用于原子跨链交易。这不影响任何特定网络在处理常规交易方面的方式,因为alt-mempool仅作为一种替代品。

账户抽象是消除对账户与网络的交互方式的固有约束。它在努力统一和简化UX和DevEx的同时,解锁诸如天然气支付抽象、条件访问政策和执行批处理等好处。

当前形式的账户抽象设计服务于仅与EVM和EVM兼容的执行设备,因此altVM仍然是孤立的。这的直观原因在于,altVM被设计得与EVM有着根本性的不同,因此在任何上下文中设计处理账户操作的机制都是一个密集的问题,而两个生态系统都目前不太可能愿意去解决。

上述设计大多旨在服务于以太坊及其rollup,提供不同安全保障和信任假设的各种互操作性。互操作性的经济方面切入这个研究领域并非易事,也成为大多数方法的主要障碍,然而,正在取得进展。我们相信,多个方法(如RIP-7755等新提案的出现)的存在展示了以太坊强大的研究基础,并将防止在未来发生问题的情况下过度关注某个单一方法。

虽然以太坊领衔互操作性讨论,其设计主要适用于各种程度的EVM兼容性系统,但仍然存在和即将出现的altVM,用户和开发者无疑会寻求使用,并应有机制允许EVM-altVM的互操作性。常见的做法是使用跨链通信协议,我们现在将对此进行讨论。

跨链通信协议

跨链通信协议通常被设计为提供任何网络(无论其是否与EVM兼容)的跨链执行保障。

通常被称为,这一协议家族可以实现以下一项或两项功能:

  1. 跨链资产迁移
  2. 跨链资产交换

它们能够做到这一点,通过在不同网络之间建立和维护一个传输层,使用它们的传输层验证通过这些网络传递的数据,并更新相关网络的状态,以反映由于通过它们沟通的数据而发生的变化。

传输层通常由不信任的代理(agents)来管理,这些代理“观察”支持的链并将来自原始链的数据发布到指定的目标链,而无需审查/验证数据的真实性。验证层则通过采用各种方法来证明数据的完整性,以确保它们接收的数据与在原始链上记录的发送数据一致。然后,执行层则在目标链上实施状态转移功能(STF),利用传达的数据。这通过采用不同的一组不信任的代理来实现,这些代理接收经过认证的数据,并利用该数据的变量触发原始链的消息构造者定义的操作。

因此,跨链通信协议记录异构网络的状态,在基本情况下,它们要么

  1. 向用户提供来自原始网络的镜像资产到目标网络的选项,
  2. 触发用户在原始链上定义的特定操作,在目标链上执行。

因此,它们成为寻求在具有异构信任假设的网络之间移动的用户的单一信任源。

尽管无疑很有用,但跨链通信协议在很大程度上都是一种必要的邪恶。正如Zamyatin等人的结果所表明的那样,跨链通信在没有值得信赖的第三方,或者稍微说,是一个在进行操作时提供所有被考虑网络保障的单一来源的情况下,几乎是不可能的。大多数现有的CCC协议的经济性相对于其所遍历的网络来说,显然都没有足够的激励机制使其成为这一来源。

任何没有受益于或共享它帮助进行通信的网络的安全保障的桥,承担着重大风险,这在过去几年中已被证明。无论是锁定-铸造模型,意图导向模型,还是流动性池模型,任何“非原生”桥都可能由于技术和经济设计带来的安全风险而变成潜在的“蜜罐”。所以现在你可能会好奇,什么才使桥是原生的,为什么它更安全?我们将在下面看到。

原生/内置桥

原生桥之所以被称为“原生”,是因为它们被埋入在主网络的执行设备中。它们通常由智能合同rollup实现,通过加密证明来实现rollup与以太坊之间信任最小化的跨链通信,从而为后者提供了一种非集中性的方法来验证前者的状态转变。

在这种机制下,rollup放弃对母链的主权,因此几乎与后者一样安全,这样就不需要引入一位负责提供这种保障的第三方,而这种情况在其他跨链通信协议设计中是常见的。

关于这个主题的更多信息,请参考这里的综合报告。

将讨论重新引入上下文,原生桥能够通过采用具有最小信任化框架的第三方(例如区块链)作为其保障来源,克服存在值得信赖的第三方所带来的问题。尽管这带来了其自身独特的风险和折衷,但重组及51%攻击的可能性低于桥被攻击的风险。

去中心化网络与权衡的谷底

互操作性的目标在技术上受制于网络之间信任假设和安全定义的异质性。这一技术障碍可以视为各种严格定义在具有几乎不兼容激励的孤立社交圈中的接受标准。这方面的一个例子是:可以说以太坊优先考虑安全性和抗审查性,而不是“快速交付”。

这一社会因素在过去一年中变得更加明显,特别是在围绕altVM的炒作加剧,主要是叙述驱动的。以太坊/EVM优先考虑去中心化、抗审查性和安全性,而不是基于L1的应用和应用开发者-用户体验的做法遭到了巨大的批评;但这是一个旨在强化预想的互操作性多链未来的有意设计选择。

因此,我们可以简单归纳出,缺乏对执行环境中信任的标准化定义是由于行业内对此的不同理解水平,并因而成为造成加密用户和dAPP受苦的碎片化现象的责任。这一问题或许通过一种兼容性良好的设计来解决,该设计的假设是其所服务的网络所做的任何信任假设的超集,但这一解决方案并非小事,如果相关网络必须主动选择加入,这种方案的接受程度可能较小。

作为一个行业,我们花费了太多时间沉迷于无谓的指标和定义,这些指标和定义无法立即转化为应满足任何建立在这些网络之上的用户面向应用的主要目标——可用性。

这并不是说这些论点或所提出的观点不重要,或现有应用程序就不重要或无用(它们的理想性是一个完全不同的论点);但区块链的核心点在于它们是不变的和抗审查的基础,用于建立各种形式的应用。

智能合约链的爆炸式增长,每一条相对于他者在某些方面提供了优化,甚至直接复制现有实现,造成了常被提及的流动性碎片化问题。但这里不仅仅是流动性碎片化,还有开发者、用户、应用和DevEx/UX。这一切(简单来说)源于一个问题——状态碎片化。

权衡是正常的,而方面优化也是公正的,但必须确保它们增强的网络能够彼此组合。这意味着我们渴望的应用和用户面向的流动性不可知论,除非它是在启用前者的网络根本之中一种内建特征。

虽然区块链作为信任less和抗审查的应用基础,通用区块链面临一个关键限制:它们无法有效地针对每种可能的使用案例进行优化。现实情况催生了应用特定区块链(appchains)的兴起,这应对了区块链设计中的根本性张力。虽然分布式系统理想情况下应保持中立,但开发者必须作出特定权衡以优化其应用的需求。这些权衡无可避免地影响应用的功能和用户体验。因此,许多应用可能通过使用特定的专门链来获得更好的结果,从而使其优化满足相关要求。

以太坊的rollup为中心的发展路线为这些应用提供了以rollup的形式启动并受益于已经被某种程度上标准化的工具集的好处,同时能够将其共识的一部分转移到L1。有了具有信任最小化假设的原生验证桥在智能合约rollup和以太坊之间提供的,即刻的互操作性,之后我们之前简要讨论的设计的快速发展将实现信任最小化的L2-L2互操作性。

然而,尽管研究仍在进行,状态依然是碎片化的,用户仍处于具有不可证明的信任假设的跨链通信协议之下。

状态异质性及其后果

状态是确保网络生存所需的数据,即产生并验证区块的过程。区块链的状态转移函数指的是使用这些数据生成功能的新状态的过程。

状态碎片化的产生源于链级别的信任假设和设计选择的差异,并向下影响应用程序。

在基于账户的智能合约链上,状态因合约执行的相互依赖和该合约在此之前无法访问其想要更改的状态而变得极为多变。这影响了原子操作的成功率,但至少这是一个“一旦成功则成功”的情况,用户不必为失败的操作支付过多费用。这一优势源于大多数共识机制的垄断设计;单一代理负责提供执行保障,因此可以真的承诺将其执行或不执行。对于跨链操作来说,事实并非如此,因为没有单一的领导者。

共识机制因链而异,代理必须满足的条件也各不相同,因此在以太坊这样的网络上验证者的质量和功能与Sui或Aptos的验证者是截然不同的;这些差异源于这两者的共识机制在经济和工程角度所做出的不同设计选择。

这意味着对于原子跨链操作,并不存在信任最小化的单一执行担保来源;在缺乏愿意的对方提供此类保障的情况下,用户在最坏的情况下要面临他们所欲操作的部分执行风险,在较好的情况下,他们采用的设计不再是优于其他设计的。直接转化为糟糕的用户体验和潜在的损失,以及其他问题。

因信任和状态异质性造成的碎片化以以下多种形式显现:

  1. 流动性碎片化:流动性是衡量任何协议成功的最简单指标。尽管替代L1有很好的竞争,但以太坊DeFi部门的巨大流动性持续存在,证明了它经过多次考验的执行环境为开发者提供了安全感。

新的执行环境面临一个“先有鸡还是先有蛋”的问题,由于参与者避免风险,流动性匮乏。为应对这一问题,针对创始支持者的奖励机制(积分、空投等)应运而生,但这些机制最近趋向于提取性,以及监管的不确定性可能消除了用户的信任。

因此,由于用户与跨链互动的风险,这种流动性很可能会在生态系统内高度孤立。这种流动性锁定造成了资本效率降低,用户可能的收入损失。

  1. 应用程序碎片化:这可能采取两种形式:i)链A上dAPP实例与链B上其实例不可组合,或;ii)链A上的应用程序无法利用链B上另一dAPP提供的有益特性,而这些特性在链A的任何协议上都未提供。

这些问题影响dAPP开发者的部署选择,并进一步影响用户体验。

由于与行业中其他执行设备的比较,EVM因其历经考验的合约组合而仍然流行,且经过多年的行为形式化。然而,更适合自定义执行设备的应用仍将偶尔需要与“更常规”的应用进行交互,而没有这些应用能够无缝信任彼此接口的方式,这将继续造成资源浪费,不得不重新发明轮子。

  1. 资产碎片化:可以说,资产碎片化的表现最为恼人,不同应用和链上存在不同实例的同一资产,流动性和可用性各不相同,这是一个很大痛点。

由于资产遵循不同的执行标准,并且由于成本的限制,钱包等服务提供商能够支持的网络数量有限,用户为了全面了解自己的资产库存,不得不在多个网络间生成并管理多个账户。这一问题被同一链上由各种应用发行的流动质押/再质押和包装代币的数量进一步加重。

我们一直在围绕区块链机制设计进行争论,以至于似乎已经忘记了通用区块链仅仅是实际用户面向应用的基础。这些争论当然重要,如果我们旨在维持去中心化和抗审查,但是可以肯定的是,随着不同的安全假设和设计的通用智能合约链的激增对所有相关方来说都是负面影响。多链仅在链易于兼容时才有趣,而链抽象则试图提供这种兼容性的框架。

链抽象;跨越异质性

链抽象的总体目标是统一加密日益模块化的栈,并在此基础上构建良好协作,以在多条链之间实现安全的交互结算,而不是单一实现。

链抽象并不是跨链操作的启用,跨链操作已经存在了(1i1o操作),它是为用户提供简化的体验所设计的各种权衡方案,而无视底层区块链的限制(1iMo、Ni1o、NiMo操作)。

因此,链抽象将在应用层上最为明显,提供用户在多个状态下交互与余额的综合界面,依托于建构可组合性目标的基础设施集。

还不明白?链抽象是中心化交易所的主要职能之一:合并用户在各个状态下的余额,并允许用户以特定方式使用它,而无需手动合并余额。例如,如果从Op-Mainnet存入500 USDC到Coinbase/Binance/Kraken,再从Arbitrum存入700 USDC;你的余额会仅以1200 USDC的形式显示,用户可以将其用于购买ETH而无须任何其它操作。如果你以相同的方式存入MetaMask这样的钱包提供商,所持资产的链会明确指出,因此用户不能整体进行消费。

然而,钱包并没有错,维护用户在多个网络上的余额,并通过均质接口进行验证,是一项复杂的任务,存在许多潜在攻击向量。不仅如此,用户面向的应用程序如Uniswap和Aave同样面临这种挑战。

然而,随着我们在产品设计和工程方面的相应进展和成长,提供与CEX相同的UX并非不可能,即使其并不立即达到DeFi期望的完全无信任状态。

从前面的章节可以明显看出,任何旨在实现链抽象的机制至少必须落入下列一种类别:

  1. 流动性碎片化解决方案:通过例如无链交换、跨链意图实现跨链操作。

  2. 应用程序碎片化解决方案:创建应用元状态,以使应用程序能够超越各自部署链上的应用开发限制。

  3. 资产余额碎片化解决方案:通过如ERC-7281等提议的方式统一资产接口,从而实现xERC20s和汇总余额接口。

下面我们将讨论SOCKET协议如何为这些解决方案提供协调框架/层。

SOCKET及其在链抽象框架中的位置

SOCKET作为链无关和模块化的协议,为链抽象倡议做出贡献,为应用程序和用户提供多链组合的好处。部署在多个网络上的应用程序可以利用SOCKET的工具集,以便创建称为_链抽象包(chain-abstracted packets)_的交易结构,从而能够以异步方式执行。

下面,我们将讨论SOCKET的架构。

SOCKET CAPs 对于 dAPPs

多链应用可以利用SOCKET的包实现异步反应能力。这样,某一链上协议的单次迭代所执行的操作可以容易地在另一链的协议的另一版本上重新执行,而无需用户手动使用跨链桥。这为应用提供了一种“元状态”,促使状态的变更得以在用户请求(以数据包形式构建)的所有链上执行。

以Uniswap为例:该应用将在SOCKET上作为一个简单的元应用展示,代表其在多个网络上的各种合约部署,这个元应用简单地持有了uniswap的完整状态,从而允许用户仅通过一次操作便能从Mainnet合约中以Arbitrum合约进行兑换/流动性交换。实际涉及的交易(桥接,然后换/流动性提供)仍会在各自的链上被正常记录。

SOCKET实现了一个offchainVM,包括以下内容:

  • 用户请求:本质上是由用户签名的交易,采用了相应应用允许的离链授权方案。

  • 应用合约:这些是最小化/轻量级的应用实例,旨在将SOCKET协议连接到多个链上所需应用的合约,负责为用户提供一个界面以构建请求并传递反馈。

  • 发送者响应:展示由相应应用定义的执行路径,以回应用户生成的请求。如果有效,用户请求将与成功的响应结合,生成称为链抽象包 (CAP)的可执行结构。

  • 网关合约:这些合约持有将用户请求与代理响应组合成可执行CAP的逻辑。它们作为离链的应用逻辑,旨在为正在考虑的应用启用CAP的链上执行,具体实现通过验证用户请求及其响应而成。

这些合约由被称为“观察者”的代理托管,后者跟踪用户请求的支持链,运行维护网关,直观地负责将请求和响应解析成CAP。

  • 交换器:这些合约用于提供网关合约在验证用户请求和代理响应期间所需的验证逻辑集。

它们是轻量级合约,使应用合约能够定义必须满足的特定条件,从而确保针对应用目标的操作得以成功执行。

这些合约和操作均发生在SOCKET的合约之上,使其能够作为使用该协议所进行交互的准结算层。

当CAP被成功解析后,负责执行的代理称为发送器。它们通过网关提交执行请求,因此参与执行权拍卖(稍后更多内容)。

如果执行成功,SOCKET便在相关网络中实现因CAP而产生的必要状态更改。

因此,SOCKET协议的总流程在典型场景中如下:

  1. 用户通过提供的接口向应用的网关发送已签名请求。

  2. 观察者广播用户请求的所有详细信息,以便发送器能够发送适当的响应作为执行投标。

  3. 网关的逻辑选择获胜的投标,基于应用预先定义的条件。获胜投标的响应随后与用户请求结合,形成被观察者签名的CAP。

  4. 应用选择的交换器将用于为SOCKET合约提供执行CAP所需的验证环境。因此,交换器审核、验证CAP的内容以允许执行。

  5. 包的最终执行在相关网络上以循环的方式进行,直到用户请求在最佳范围内得到完全满足。

该实现使得应用的各个状态(用户的资料和位置,合约持有等)被整合为一个用户便于交互的单一入口。

那么如何处理被传达的用户请求、发送器的拍卖过程将如何进行?我们来看看下面。

模块化OFA和激励无止境扩展

区块链被称为公共知识系统,因其透明的特性和所包含数据的广泛民主化,它们能够在某些情况下朝特定结果采取集体行动。这种哲学与现实案例相符,即目前问题过盛的MEV问题:搜索者利用公共mempools和拓扑优势,以抢先交易用户并参与拍卖,以提取某种非零价值,从而造成用户损失。

此特性通常通过访问控制机制进行限制,这使得在任何STF的某个点传播的信息在系统内部将被限制于一小部分在系统中存在的演员,以优化用户的结果并通过支付费用来实现。因此,这些参与者的激励与用户相符,从而使这个系统具备可信度。其中一个显著的访问控制机制的例子是OFA,它被应用于基于意图的系统等,旨在通过指定用户预期的结果将其一部分价值分配给满足其期望的代理,从而与用户的预期结果连接。

基于意图的协议旨在将STF变量的生成外包给被认为比主要受益者更有资格/更出色的代理。它们可以被视为对专门服务汇聚协议(如1inch与Matcha的交换,Yield与Alchemix的收益率)的通用化。

这些聚合器维护计算用户结果的最优路径,并尽量减少用户输入,尽管这种自动化带来了巨大的计算成本。

我们认为基于意图的设计是一种通用化,因为它们可以用简单且通常是人类可读的逻辑批处理多条事务逻辑。这使它们可以在一个综合的框架下,借助多个专门的聚合器服务,提供一个可组合的接口给用户。

总而言之,这表明OFA和意图是好的,即便它们的经济模型还尚未探索完尽。

解决者的中心化显然是所有相关实现中的一个问题,以独占的订单流(EOF)和付款以获取订单流(PFOF)存在,它们是由于应用将用户的订单出售给特定参与者而出现的。其要义在于,这里的基本内容,但底线是OFA目前的形式在很大程度上受到最终执行的区块链的抗审查能力限制。

这意味着模块化订单流拍卖(MOFA)将在被处置时被执行,仅在处理操作的最不审查链上的话其信誉才能得到验证。

然而,它们确实带来了减轻成本的优势,因为应用无需为其OFA自主启动全新的求解集。因此,大家均能获益:

  • 应用无需承受为其OFA启动求解集的成本,因此我们可能看到PFOF与EOF的减少因为那些选择提取利润的求解者“会把钱留在桌子上”给选择加入的其他求解者。

  • 减少的付款基于模型的带来的PFOF,意味着用户可能会在其操作中获得更好的执行,因为垄断市场整合的可能性降低了。

  • 求解者被迫在同等条件下竞争,因此每个操作的“最佳者”将获胜。

  • 底层区块链将从这种活跃中受益,因为求解者将不得不在其中持有一定的资产以降低执行/操作成本。

回到SOCKET;网关合约在每次收到用户请求时负责在发送器中进行MOFA,当这些请求通常被表示为意图。发送器便发送执行投标以回应网关,基于条件最终由应用决定,以选出获胜投标,供其签名以进行执行。

CAP的非依赖性意味着发送者通过多条链提供服务将更有利,而非单一链。支持更多网络意味着他们可能会在其上持有存货,这极大地有助于降低执行请求的操作成本,并能有效展开竞争。

链抽象账户

SOCKET设计中能够启用的突出功能之一是链抽象账户,可以在任何新出现的链无关账户框架上构建(例如建议的RIP-7560、magicspend++ 等),以向用户呈现其在多个支持网络上的可支配资产总量。

这一统一可以通过采用现有的原语,比如时间锁合约,轻松实现,我们将在下面讨论。

时间锁合约

时间锁是比特币低调的创新之一,这一功能最初存在是为了满足边缘案例,如今正得到更广泛的应用。比特币交易提供了一系列可编程字段,用户可以用以为其交易施加基于时间的有效性条件。其中一个最显著的字段即是nLocktime,用户可以用它定义交易在被添加到区块之前所需的最小时间。

通常,时间锁被钱包供应商用于防止费用抢夺,但若与哈希锁结合,其用途最终拓展到了支付通道和原子跨链交换,称为基于哈希时间锁定的合约(HTLCs)。

MagicSpend++基于这些时间锁合约的理念,但相应的在跨链间提供基于模块化保管的时间锁账户,其存款可以通过满足用户操作生成的密码学证明以拉动方式进行消费。

MagicSpend++

我们之前讨论了以太坊通过智能账户推动账户抽象,作为统一rollups上的用户体验的手段。然而,由于在协议中嵌入智能账户的开销,目前正通过基于ERC-4337标准的协议外基础设施提供。MagicSpend++ 利用时间锁定合同为选择通过智能合约钱包使用 ERC-4337 服务的用户提供统一的可支配资产余额。基本思想是用户通过他们的智能合约钱包在支持的链上将支持的资产的余额锁定在可配置的保险库中,从而使这些资产只能通过在任意数量链上结算的 userOps 进行消费。

接下来,我们将逐步讨论此实现的细节:

  1. 用户像往常一样通过支持 ERC-4337 的接口开始操作,并选择一个支付者服务来处理他们的操作。
  2. 支付者检查用户的链抽象余额,以确保足够覆盖他们服务的费用以及操作的执行。如果检查结果令人满意,他们会返回一个 _specialsignature,其用途将在稍后讨论。
  3. 解析 userOp,并将 paymasterAndData 字段设置为用户在第一步中选择的支付者服务,以及步骤 2 中支付者提供的 _specialsignature
  4. 将 userOp 发送到打包器,然后按常规方式发送到入口合约进行认证。
  5. 在常规的 userOp 认证/验证程序之后,支付者验证他们提供的 _specialsignature 并定义一个 {address => amount} 的映射,提供操作资金的来源,同时确立用户操作可以提取的上限。
  6. 使用提供的映射,用户调用 withdrawGasExcess,从支付者指定的地址提取指定金额,以及用户操作执行的 gas 费用。
  7. 在 userOp 执行后,支付者提供的映射被清除,用户生成一个新的映射及其操作执行的证明。该映射和执行证明被发送到包含用户跨链资产余额的保险库,以便支付者可以得到补偿并支付其服务费用。

重要的是要注意,用户在整个过程中唯一积极参与的部分是定义他们期望的操作,其余过程在用户的钱包与必要基础设施之间的后台进行。

结论

在本文中,我们已经确定,加密货币面临的碎片化挑战的主要原因是协议开发者为优化特定结果而做出的各种工程选择。与其争论哪些结果和优化是最好的,大家更应该在选择的任意链上进行信任最小化的交易,而无需担心底层的过程。

这种方法提供了两个关键好处:

  1. 对于用户:在与多个区块链上的应用和代币交互时,实现无缝体验。
  2. 对于开发者:在保持通过公共数据传输标准的互操作性的同时,能够自由地实验专门的机制设计。

因此,在多个链上部署的去中心化应用在其用户的结算层上最好保持无关性。它们应该能够支持尽可能多的区块链,以便将其产品提供给更多用户。在这里,我们使用 settlement 作为执行和最终性的占位符,暗示应用程序及其用户应能够受益于多个智能合约链提供的功能,而无需大范围依赖任何一个假设和权衡。

SOCKET 的设计允许这种灵活性/无关性,利用标准化工具使应用程序和用户摆脱困扰加密货币的链中心化设计。其 CAP 组件可以被寻求统一用户体验的多链应用集成,以便应用程序能够轻松结算跨越单链的用户订单。

SOCKET 的 CAP 设计已经有一个日益增长的生态系统在其上建设,例如 Bungee,它为 dAPP 提供全球状态/流动性,以及 Kinto 用于无链交换。

SOCKET 的直接目标是服务以太坊充满活力的 Rollup 生态系统,同时继续对公有链替代方案进行研究和开发,这种方法是直观的,因为 Rollup 互操作性可以被视为链抽象的一个子集。其 VM 无关性确实承诺未来与更丰富的 altVM 标准的可组合性。

SOCKET 对链抽象账户的支持为用户提供了类似中心化交易所的体验,但降低了信任要求,使他们能够在一个界面中查看和管理跨多个链的资产。通过 MagicSpend++ 和其他支持的框架,用户可以立即利用其跨链聚合的余额,而无需额外的交易。因此,开发者能够竞争并构建异构基础层,而用户始终受益,因为他们被提供了统一的界面,并且免于竞争标准的影响。

在后续文章中,我们将深入讨论我们可以期待在 SOCKET 上看到的应用类型。敬请关注!

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

0 条评论

请先 登录 后评论
2077 Research
2077 Research
https://research.2077.xyz