本文探讨了区块链的碎片化问题及其产生的原因,介绍了一种新的设计哲学——链抽象(chain abstraction),旨在统一和简化加密货币用户体验。随着以太坊和EVM的崛起,尽管出现了多种解决方案,但仍然面临许多挑战,例如状态碎片化和跨链交互的复杂性。最后介绍了 SOCKET协议解决方案
- 原文链接:research.2077.xyz/chain-abstra...
- 译者:AI翻译官,校对:翻译小组
- 本文链接:learnblockchain.cn/article…
本文探讨了区块链碎片化问题,并引入链抽象作为统一多个链之间状态、流动性和资产的解决方案。它强调了 Socket 协议在为 dApp 和开发者提供无缝用户体验和多链组合性方面的作用。
区块链只是构建精彩事物的基础,其无许可的特性使得几乎没有任何一个问题能找到完美的解决方案。这最早通过“区块链三难困境”来表达,该困境大致定义为每个单体区块链必须在去中心化、安全性和可扩展性之间做出权衡。
自其概念提出以来,对这一问题的认识和理解不断膨胀,各种设计同时被提出作为解决方案。
除了在特定垂直领域的优化外,还有一些解决方案应运而生,以解决特定问题。
所有这些发展使得加密行业走到了今天;一个个孤立开发网络,在寻求吸引力的链之间不得不一次又一次地重新发明轮子。
在本文中,我们打算呈现由于不断追求“终极区块链”而在这些年中浮现出的问题,审视这些问题的来源,并提出相对较新的设计理念——链抽象,旨在解决加密的碎片化问题。然后,我们将讨论 SOCKET 协议的设计选择,并审视他们的工具如何推动加密用户体验的统一和简化。
以太坊作为第一个由 EVM 支持的智能合约链的出现,促使了去中心化应用(dAPP)的构思和开发,这些应用旨在以抗审查的方式提供各种形式的金融和社会服务。
然而,从一开始就显而易见,仍然有很多工作要做,以确保应用不会因链自身的限制而受到约束。最初的解决方案是引入在此上下文中灵活兼容的原语——AMM 及其各种形式和池化借贷市场是由于现有基础设施的执行和共识工具的限制而追求的一些更为人知的原语。
由于 EVM 的主导地位,当时大多数项目似乎专注于以太坊共识工具的限制,因此提供相对于以太坊更高的 TPS 值、更快的区块时间和更大的区块大小。不过,EVM 仍然是智能合约链执行的标准。这导致了一个停滞期,许多几乎无法区分的替代 L1 区块链被推出,回报逐渐减少,并受到广泛批评。它们大多复制了 EVM 的设计,因此在不同程度上是 EVM 等价的。
最终,替代 L1 需要通过实施新的虚拟机设计(通常称为 altVM)而变得有差异,这些设计相对于以太坊提供了一组不同的权衡。这导致了替代 L1 的新方法;在执行和共识领域的优化。
几乎没有人怀疑,以太坊的持续成功主要归功于 EVM。其共识工具对于应用并不完全理想,因为其可扩展性极为有限,因此一直是研究和开发的主要领域,这一点通过诸如TheMerge、提议者-构建者分离(PBS)和其他持续的研究努力得到了证明。
虽然替代 L1 在之前的周期中继续肆虐,但以太坊将其对可扩展性问题的关注从分片转向了 rollup 和其他 L2 设计。这种方法允许专门的区块链受益于以太坊的安全性和抗审查性,同时保持优化其平台以适应特定应用或功能的能力。
L2 网络的基本点在于,它们将部分工作转移到底层 L1 网络(在这种情况下是以太坊),以便能够轻松地在特定方向上进行优化,无论是速度、状态管理、共识机制,还是更以用户为中心的目标(dYdX v3、LAST 网络、Unichain)。这本质上允许以一种连贯的方式进行激进的努力分配,现在通常被称为 模块化扩展。
在转向以 rollup 为中心的方法后,一些 EVM 等效的替代 L1 决定成为以太坊上的 rollup,并受益于其安全保障,从而加入数百个团队,构建通用和特定应用的 rollup,朝着低信任设置的组合未来迈进。
以 rollup 为中心的路线图的问题在于,“状态”在每个 rollup 之间仍然是动态的,而大多数通用 rollup 相对于其同行提供的改进微乎其微。如果 rollup 在一开始没有被孤立,并且不必为寻找(和保留)一些吸引力而消耗现金,这可能不会成为一个问题。
现有 rollup 的常见设计是,它们与 L1 的组合性仅限于一定程度,并且彼此之间没有互联,导致人们产生合理但误导的说法,认为它们与替代 L1 并没有太大区别。
不同之处在于,由于它们实现了 EVM 或 EVM 兼容的工具,因此在以太坊的 rollup 生态系统中,有向后兼容的方法来强制执行组合性。这一点是激进的 altVM 实现无法享受的。
目前正在研究的作为强制执行生态系统范围内互操作性的机制的杰出提案设计包括:
rollup 集群
共享排序(shared sequencing)
账户抽象
我们现在将简要阐述这些内容。
最近,大多数初始通用 rollup 独立设计了启动其他 rollup(无论是 L2 还是 L3)时与其已建立生态系统兼容的框架。通过这种方式,设计具有相似信任假设的 rollup 网络得以轻松建立,因此它们与彼此和以太坊是同质的。
Optimism 目前在这方面处于领先地位,他们构思的 超级链 ,其特点是使用 OP-Stack 框架启动的 rollup。其他紧随其后的是 Arbitrum 及其 Arbitrum-Orbit 框架,以及 Polygon 的 Agglayer。
然而,这种方法仍然有很大改进的空间,因为现有的 rollup 无法在不进行近乎完全重构其当前机制的情况下,轻松利用这种集群方法,这个要求非常高。所需的是一种解决方案,它能够赋权于现有生态系统,同时为新 rollup 提供平台。Agglayer 的设计选择考虑到了这一点,但仍处于概念阶段,并且对没有 zk-EVM 的 L2 支持在路线图上更远。
Rollup 中的排序器负责运行链所采用的执行小工具(gadget),因此负责在 rollup 上执行交易,从而为用户提供在 L1 上执行的保证。这一保证被称为软最终性,因为在极端情况下仍然可以在 L1 上撤销。有关排序器的更多信息,请参阅我们在这一主题上的深入报告 这里。
共享排序网络旨在为区块链在特定条件下提供灵活适配的执行小工具(gadget)。它们是与状态无关的实现,旨在允许一组已建立的执行者(区块构建者、验证者、见证者等)为整合其产品的区块链提供执行或排序保证,通过构建部分或完整的区块,在相关链之间以异步原子方式执行。
该方案的目的是允许 rollup 采用现有的排序器集,并摆脱单一排序器模型,从而实现更高水平的抗审查能力,而无需承担相对较高的启动有效排序器集的成本。
因此,共享排序模型旨在提供采用其实现的任何区块链集合单独状态的超集状态。
在这一类别中,著名的设计例子包括:Espresso、Anoma 和 SUAVE。
账户抽象最初被提出是为了简化和统一以太坊内账户的交互,但现在被认为是解决其 rollup 生态系统碎片化问题的潜在解决方案。
在以太坊及其 rollup 中确立交易格式的标准意味着可以存在并用于原子跨链交易的“替代内存池”结构。这不会影响任何特定网络处理正常交易的方式,因为替代内存池仅作为替代方案。
账户抽象是移除对账户与网络互动方式的约束。它在努力统一和简化用户体验(UX)和开发者体验(DevEx)的同时通用化了链的账户模型,同时解锁诸如 gas 付款抽象、条件访问策略和执行批处理等好处。
当前形式的账户抽象旨在仅为 EVM 和 EVM 兼容的执行小工具服务,因此替代虚拟机(altVM)仍然是孤立的。直观的原因在于,替代虚拟机的设计与 EVM 有着根本不同,因此设计一个机制来处理在任何一种上下文中的账户操作是一项复杂的任务,目前没有任何一个生态系统在解决此问题上感到关心。
这些概述的设计主要旨在服务于以太坊及其 rollup,提供不同程度的互操作性与不同的安全保证和信任假设。互操作性的经济方面是一个不简单的研究领域,这对大多数方法构成了主要障碍,但进展正在取得。我们相信,存在多种方法(由于如 RIP-7755 等新提案的出现)证明了以太坊强大的研究基础,并在未来出现问题时能防止对任何一种方法的过度依赖。
虽然 以太坊引领了互操作性 的讨论,设计方案主要旨在服务于具有不同 EVM 兼容性的系统,但仍然存在和即将出现的替代虚拟机,用户和开发者肯定会寻求使用,并且应该有机制允许 EVM 和替代虚拟机之间的互操作性。通常的方法是使用跨链通信协议,我们将在下文讨论。
跨链通信协议通常被设计为在其管理的任何网络上作为跨链执行的担保者,无论是否兼容 EVM。
通常被称为 桥,这一系列协议可以实现以下其中一项或两项:
跨链资产迁移
跨链资产交换
它们通过在不同网络之间建立和维护 传输层,使用其传输层验证跨网络传递的数据,并更新相关网络的状态以反映因通信数据而发生的变化,从而实现这一目标。
传输层通常由离线代理(offchain agent)管理,这些代理“观察”支持的链,并在不检查/验证数据真实性的情况下,从源链将数据发送到指定的目的链。验证层则通过使用多种方法来证明数据的完整性,以确保接收到的数据与在源链上记录的最初发送的数据一致。执行层随后在目的链上使用传递的数据实施状态转换函数(STF)。它通过采用一组不同的离线代理,接收经过身份验证的数据,并使用其变量触发由源链消息构造器定义的特定操作来实现这一点。
因此,跨链通信协议记录异构网络的状态,在基本情况下,它们要么
为用户从原始网络到目的网络提供他们选择的镜像资产,
在目的链上触发用户在源链上定义的特定操作。
因此,它们为希望在具有异构信任假设的网络之间移动的用户提供了单一的信任来源。
虽然无疑很有用,跨链通信协议在大多数情况下都是一种必要的恶。正如 Zamyatin et al 的结果所示,跨链通信是在没有受信任的第三方的情况下无法实现的,或者说是轻微地——在执行操作时提供所有相关网络担保的单一来源。大多数现存的跨链通信协议的经济因素——相对于它们所经过的网络——都不足以激励它们成为此来源。
任何不受益于或不共享其所帮助沟通网络的安全保证的桥都存在重大风险,历史上这一点已有所体现。无论是锁定和铸造模型、基于意图的模型,还是流动性池模型,任何“非原生”桥都可能因其技术和经济设计中的安全风险而成为潜在的蜜罐(未对我们桥的朋友们表示不敬)。所以现在你可能想知道,什么使一座桥是原生的,为什么它更安全?我们将在下文中看到。
原生桥接之所以被称为原生,是因为它们嵌入在宿主网络的执行工具中。它们通常由智能合约rollups实现,以通过加密证明在rollups和以太坊之间实现信任最小化的跨链通信,这为后者提供了一种验证前者状态转变的非高强度方法。
在这一机制中,rollups放弃了其主权,几乎与父链一样安全,因此无需引入一个第三方来提供通常在其他跨链通信协议设计中提供的保障。
有关此主题的更多信息,请参考全面报告这里 。
回到上下文,原生桥接可以通过采用具有信任最小化框架(如区块链)作为其保障来源来克服依赖信任第三方所带来的问题。这带来了其独特的风险和权衡,但重组和 51%攻击发生的可能性低于桥接黑客攻击。
互操作性的目标在技术上受到跨网络信任假设和安全定义异质性的阻碍。这个技术障碍可以被视为各种严谨定义在被孤立的社交圈中作为被接受的标准所导致的,几乎与利益不兼容。例如,说以太坊优先考虑安全性和反审查能力而非“shipping( 发货能力)”并不不准确。
随着围绕替代虚拟机(altVM)的炒作在过去一年中加剧,这种社会因素变得更加明显,而这主要是基于叙述的支持。以太坊/EVM 的方法优先考虑去中心化、反审查能力和安全性,而不是应用程序及应用开发者和用户体验的 L1 可扩展性,遭到了很大的批评;但这是为了增强一个设想中的可互操作多链未来的基础而做出的故意设计选择。
因此,我们可以将缺乏执行环境中关于信任的标准化定义归因于行业中对其理解的不同水平,从而导致加密用户和去中心化应用程序(dAPP)面临的碎片化。这个问题最好由一种向后兼容的设计来解决,其假设是为其服务的网络所做的任何一组信任假设的超集,但该解决方案并不简单,如果相关网络必须积极选择加入,预计很难得到广泛应用。
作为一个行业,我们在无谓的指标和定义上花费了太多时间,而这些指标和定义并不能直接转换为任何基于这些网络构建的用户面向应用程序所应满足的主要目标——可用性。
这并不是说这些论点或所提到的观点不重要,或者现有应用程序就不重要或无法使用(他们的理想性是一个完全不同的论点);但区块链的主要功能是它们是不可篡改的、反审查的基础,供各种形式的应用程序建立。
智能合约链的爆炸,各自提供相对于其他链的某些方面的优化,甚至直接复制现有实现,造成了经常被引用的流动性碎片化问题。但不仅仅是流动性被碎片化,开发者、用户、应用程序以及开发者体验/用户体验也都是如此。所有这一切(简化说)源于一个单一的问题——状态碎片化。
权衡是正常的,方面优化也是合理的,但必须进行此类操作,以确保它们增强的网络之间仍然保持可组合性。这意味着我们渴望的应用程序和用户的流动性非依赖性,除非它是构成能够实现前者的网络根本的内置特性,否则是无法实现的。
尽管区块链作为无信任和反审查的应用程序基础存在,但通用区块链面临一个关键限制:它们无法有效优化每一个可能的用例。这一现实导致了应用专用区块链(appchains)的兴起,这些区块链解决了区块链设计中的根本紧张关系。理想状态下,分布式系统应该是无偏见的,但开发者必须进行特定的权衡,以优化其应用程序的需求。这些权衡不可避免地影响到应用程序的功能和用户体验。因此,许多应用程序可能通过使用其专用链获得更好的效果,从而实现针对其特定需求的优化。
以太坊的rollups中心路线图为这样的应用程序提供了以rollups形式启动的好处,并可以受益于某种程度上标准化的工具套件,同时能够将其共识的某些方面转移到 L1。原生验证桥的存在,以及在智能合约rollups与以太坊之间的信任最小化假设,为前者提供了与最安全的区块链的直接互操作性,而我们上面简要讨论的设计的快速发展将很快实现信任最小化的 L2-L2 互操作性。
然而,虽然研究仍在进行中,状态依然被碎片化,用户仍然受到具有不可辩驳的信任假设的跨链通信协议的影响。
状态是指确保网络活跃所需的数据,即;块被产生和验证的方式。区块链的状态转变功能是指利用这些数据生成新状态的过程。
状态碎片化是由于链级别的信任假设和设计选择的差异而产生的,并向下渗透到应用程序。
在基于账户的智能合约链上,由于合约执行的相互依赖以及这些合约无法事先访问它们希望更改的状态,状态已经非常可变。这影响了原子操作的成功率,但至少它是一个全成功-除非回滚的情况,用户不必为失败的操作支付过多费用。这种优势归因于大多数共识机制的垄断性设计;单个代理负责提供执行保障,因此可以可靠地承诺执行或不执行。跨链操作并非如此,因为没有单一的领导者。
共识机制在各个链之间差异很大,代理必须满足的条件也有所不同,以便被授予执行能力。这意味着以太坊等网络上的验证者的特质和功能与 Sui 或 Aptos 上的验证者大相径庭;这些差异源于其共识机制在经济和工程方面做出的不同设计选择。
这意味着对于原子跨链操作,没有信任最小化的单一执行保障来源;在缺乏愿意的对方提供这些保障的情况下,用户在最坏的情况下面临部分执行所需操作的风险,而在最好情况下,他们采用的设计的信任假设并不有利。这直接导致了不好的用户体验和潜在的损失。
由于信任和状态异质性导致的碎片化以各种形式表现出来,如下所示:
新的执行环境面临着一个“鸡与蛋”的问题,由于参与者对风险的厌恶,流动性稀缺。通过对早期支持者的奖励计划(积分、空投等)来应对这个问题,但这些计划最近趋向于提取性,加上监管的不确定性,可能已经消除了用户的信任。
因此,流动性可能会在生态系统内大大孤立,因为用户与跨链交互相关的风险。这种流动性的锁定导致资本效率降低和用户潜在收入的损失。
这些问题影响了 dAPP 开发者的部署选择,并进一步影响用户的体验。
由于 EVM 上存在经过考验的合约套件以及多年的行为形式化,EVM 仍然保持流行,相较于其他执行工具。然而,有些应用更适合定制执行工具,这些应用仍然偶尔需要与“更常规”的应用进行接口,而没有办法让这些应用无信任地接口,资源浪费和重复造轮子的现象将继续存在。
由于资产遵循不同的执行标准,以及由于成本限制,服务提供商(如钱包)能够提供的网络数量有限,用户必须在多个网络上生成和管理多个账户,以便全面了解其资产库存。这一问题因各种应用在同一链上为其特定用例发行的流动质押/再质押和包装代币而进一步加剧。
我们在区块链机制设计的争论中陷入了困境,以至于似乎忘记了通用区块链仅仅是实际用户面向应用的基础板。这些争论当然很重要,如果我们希望保持去中心化和抗审查性,但事实是,具有不同安全假设和设计的通用智能合约链的激增对所有参与者都是负面的。多链只有在链之间易于兼容时才是酷的,而链抽象旨在提供这种兼容性的框架。
链抽象是统一加密货币日益模块化的堆栈并构建凝聚力以实现跨多个链的安全交互结算的总体目标,而不是实现这一目标的特定机制。
链抽象并不是跨链操作的启用,这些操作已经存在(1i1o 操作),而是各种设计选择的协调,以便为用户提供简化的应用体验,而不受底层区块链的限制(1iMo、Ni1o、NiMo 操作)。
因此,它预计在应用层最为明显,为用户提供一个整合的界面,以便通过一套旨在实现组合性的基础设施,跨各种状态进行交互和余额管理。
还是不明白?链抽象是中心化交易所的主要功能之一:整合用户在各种状态下的余额,并允许他们以特定/支持的方式使用这些余额,而无需手动整合他们的余额。如果你从 Op-Mainnet 向 Coinbase/币安/Kraken 存入 500 USDC,再从 Arbitrum 存入 700 USDC;你的余额将简单地显示为 1200 USDC,你可以将其作为整体用于购买 ETH,而无需其他操作。如果你以相同的方式存入到像 MetaMask 这样的钱包提供商,资产所在的链将被指定,因此你无法将其作为整体使用。
不过,钱包提供商并不应受到指责,维护用户在多个网络上的余额的同质接口,同时保持这些余额的可验证性是一项艰巨的任务,存在许多潜在的攻击向量。而且不仅仅是他们,还有像 Uniswap 和 Aave 这样的面向用户的应用。
然而,随着我们在产品设计和工程方面的思考取得显著进展和增长,提供与 CEX 相同的用户体验并不是不可能的,尽管这并不意味着它会立即达到 DeFi 预期的完全无信任状态。
从前面的部分可以明显看出,任何旨在实现链抽象的机制必须至少属于以下类别之一:
解决流动性碎片化的问题:通过例如无链交换、 跨链意图的跨链操作。
解决应用碎片化的问题:建立应用元状态,使应用超越其部署链上的应用开发限制。
解决资产余额碎片化的问题:通过诸如 ERC-7281 的提案统一资产接口,支持 xERC20 和聚合余额接口。
接下来,我们将讨论 SOCKET Protocol 如何为这些解决方案提供协调框架/层。
SOCKET 作为一个链无关和模块化的协议,为链抽象倡议做出了贡献,提供了多链组合性的好处给应用和用户。部署在多个网络上的应用可以利用 SOCKET 的工具,创建称为 链抽象包 的交易结构,这些包可以以异步方式执行。
下面,我们将介绍 SOCKET 的架构。
多链应用可以利用 SOCKET 的包来实现异步反射。通过这种方式,在不同链上协议的单次迭代中进行的操作可以轻松地在另一链的协议的不同迭代中重现,而用户无需手动使用跨链桥。这本质上赋予了应用一个“元状态”,可以在用户请求的任何链上(以包的形式结构化)引发状态变化。
以 Uniswap 为例:该应用将在 SOCKET 上展示为一个简单的元应用,代表其在各个网络上的各种合约部署,这个元应用简化地持有 Uniswap 的整个状态,因此可以允许用户从他们的视角在 Mainnet 合约上从 Arbitrum 合约进行交换/流动性提供。实际涉及的交易(桥接,然后交换/流动性提供)仍然在各自的链上正确记录。
SOCKET 实现了一个 offchainVM,其组成如下:
用户请求:本质上是用户使用离链授权方案签名的交易,按各自应用的允许进行。
应用合约:这些是最简化/轻量级的应用实例,旨在将 SOCKET 协议连接到多个链上所需应用的合约。它们负责为用户提供一个接口,以便用户构建请求并将其传递以获得响应。
传输者响应:它们呈现执行路径,由各自应用定义,用于用户生成的请求。如果有效,用户请求与获胜响应相结合,生成一个可执行结构,称为 chain-abstracted packet (CAP)。
这些合约由称为观察者的代理托管,观察者跟踪支持的链以处理用户请求。它们运行并维护网关,直观地负责将请求和响应解析为 CAP。
它们是轻量级合约,允许应用合约定义必须满足的独特任意逻辑,以确保针对该应用的操作成功。
所有这些合约和行动都在 SOCKET 的合约之上进行和结算,使其可以充当通过该协议进行交互的准结算层。
在 CAP 成功解析后,称为 传输者 的代理负责其执行。它们通过网关提交执行请求,从而参与请求执行权的拍卖(稍后会详细介绍)。
如果成功执行,SOCKET 会对受影响的网络进行必要的状态更改。
因此,SOCKET 协议的整个过程在典型场景中如下所示:
用户通过提供的接口向应用的网关发送签名请求
观察者广播用户请求的详细信息,以便传输者可以发送适当的响应作为执行出价。
网关的逻辑基于应用预定义的条件选择获胜出价。优胜者出价的响应与用户请求结合形成一个 CAP,并由观察者签名。
应用选择的Switchboard用于为负责 CAP 执行的 SOCKET 合约提供验证上下文。因此,Switchboard检查并验证 CAP 的内容,以便执行能够进行。
数据包的执行最终将在相关网络上以循环方式进行,直到用户请求在最佳范围内得到完全满足。
此实现使得应用的状态(用户的配置文件和头寸、合约持有等)聚合为用户易于交互的单一入口。
那么,传达的用户请求是如何处理的,传输者的拍卖过程又是怎样的?让我们看一下下面的内容。
区块链被称为 共识知识系统 ,是由于其透明性以及信息的广泛民主化,这使得在某些情况下能够集体采取行动以实现特定结果。这种哲学与流行的 MEV 问题 实际情况一致,该问题至今困扰着主要网络:搜索者利用公共内存池和拓扑优势抢先用户并参与拍卖以获取提取一些非零价值的能力,从而导致用户价值的损失。
这个特性通常通过实施访问控制机制来限制,这使得在 STF 的任何时刻传播的信息被限制于系统中存在的一部分参与者,以优化用户的结果并收取费用。因此,这些参与者的激励与用户兼容,使得系统具有可信度。这样的访问控制机制的一个显著例子是 OFA;在基于意图的系统及其他方面利用,旨在通过指定用户价值的一部分,给予任何满足用户期望结果的参与者。
基于意图的协议试图将 STF 变量的生成外包给被认为比主要受益者更合适/更有知识的参与者。它们可以视为专业服务聚合协议的泛化,例如用于兑换的 1inch 和 matcha,以及用于收益的 yield 和 alchemix。
这些聚合器计算用户结果的最佳路径,使用户输入最少,但这种自动化伴随着显著的计算成本。
我们认为基于意图的设计是一种泛化,因为它们可以在一次简单表达的逻辑(通常是人类可读的)后批处理多个交易逻辑。这使它们能够在一个综合框架下利用多个专业聚合服务,为用户提供一个可组合的接口。
所有这些都是在说 OFA 和意图很酷,即使它们的经济学还没有完全搞清楚。
求解者中心化是每个相关实现中显而易见的问题,原因在于独占的订单流 (EOF) 和订单流支付 (PFOF),后者是由于应用将用户的订单出售给特定参与者。主要内容在 这里,但是基础是,在目前形式的 OFA 受到它们最终执行的区块链的抗审查能力的极大限制。
这意味着模块化订单流拍卖 (MOFA) 设计旨在跨多个区块链执行,其可信度仅限于处理其操作的最低抗审查能力的链。
然而,它们确实带来了降低成本的好处,因为应用无需自我启动全新的求解者集。因此,每个人都能从中受益:
应用无需承担为其 OFA 启动求解者的成本,这意味着我们可能会看到更少的 PFOF 和 EOF,因为选择提取的求解者将为其他选择参与的求解者“留下桌上钱”。
PFOF 模型的降低费率意味着用户在操作时更有可能获得更好的执行,因为寡头垄断垂直整合的概率降低了。
求解者将被迫在公平的基础上竞争,因此每个操作的最佳者将获胜。
基础区块链将从这一活动中受益,因为求解者必须在其上持有一定库存,以降低执行/操作成本。
返回到 SOCKET;网关合约负责在接收到用户请求时,在传输者之间进行 MOFA,这一请求通常会被表达为一种意图。然后,传输者将他们的执行竞标作为回应发送给网关,并根据最终留给应用程序的条件,产生一个获胜的竞标,并由观察者签署以进行执行。
CAP 的不可知论意味着传输者在多个网络中提供服务会更有利,而不是仅限于单一网络。支持更多网络意味着他们可能跨网络持有库存,从而大大有助于降低其执行请求的运营成本,并有效竞争。
SOCKET 设计所启用的一个突出功能是链抽象账户,这可以基于任何新兴的链不可知账户框架(例如,提议的 RIP-7560、magicspend++ 等)进行构建,以在多个支持的网络上向用户呈现其资产的可支配总和。
这种统一可以通过采用现有的原语(如时间锁定合约)轻松实现,我们将在下面讨论。
时间锁定是比特币的一项低调创新,最初只存在于满足边缘案例,但现在正看到更广泛的使用。比特币交易提供了一系列可编程字段,用户可以使用这些字段对其交易施加基于时间的有效性条件。其中最显著的字段是 nLocktime,用户可以利用它定义交易在最短时间内不得添加到区块中。
通常情况下,时间锁定被钱包提供者用于防止手续费抢夺,但与哈希锁定结合使用后,它们的用途最终扩展到支付通道和原子跨链交换 ,作为通常被称为 HTLCs 的哈希时间锁定合约。
MagicSpend++ 基于这些时间锁定合约的理念构建,但将其作为跨链的模块化保险库,存款可以由支付者使用用户满足的操作生成的加密证明以拉取方式消费。
我们之前讨论了以太坊通过智能账户推动账户抽象,以统一用户在 Rollups 上的体验。然而,由于在协议中确立智能账户的开销,它目前是通过建立在 ERC-4337 标准上的协议外基础设施提供的。
MagicSpend++利用时间锁定合约,为通过其智能合约钱包选择 ERC-4337 提供服务的用户提供统一的可支配资产余额。基本思想是,用户通过其智能合约钱包在支持的链上将其支持资产的余额锁定在一个可配置的保险库中,从而使其只能通过在任意数量链上结算的 userOps 进行消费。
下面我们将按照步骤详细介绍这一实现过程:
用户像往常一样通过支持 ERC-4337 的接口启动操作,并选择一个支付服务。
支付者检查用户的链抽象余额,以确保其足以覆盖其服务的费用和操作的执行。如果该检查的结果令人满意,他们将返回一个特别签名,其使用将在后面进行讨论。
解析 userOp,并将 paymasterAndData 字段设置为用户在第一步中选择的支付服务,以及第二步中支付者提供的 特别签名。
userOp 被发送给打包器,然后如常发送至入口合约进行认证。
在通常的 userOp 认证/验证过程中,支付者验证他们提供的 特别签名,并定义一个 {address => amount} 的映射,为操作的资金提供来源,同时确定用户操作可以提取的上限。
使用提供的映射,用户调用 withdrawGasExcess,并从支付者所指定的地址提取指定金额,以及 userOp 执行的 gas 费。
在 userOp 执行后,支付者提供的映射被清除,用户生成一个新的映射并附上其操作执行的证明。该映射和执行证明被发送到包含用户跨链资产余额的保险库,允许支付者获得报酬并支付其服务费用。
重要的是要注意,用户积极参与的唯一部分是定义他们所需的操作,其余过程在用户的钱包与必要基础设施之间的后台进行。
在本文中,我们已经确定加密货币面临的碎片化挑战的主要原因是协议开发者在优化特定结果时做出的各种工程选择。与其争论哪个结果和优化更好,大家在选择使用的链上进行信任最小化的交易会更有利,而不必担心底层过程。
这种方法提供了两个关键好处:
对于用户:与多个区块链上的应用程序和代币交互时的无缝体验。
对于开发者:自由实验专门机制设计的同时维护通过公共数据传输标准的互操作性。
因此,部署在多个链上的去中心化应用程序在对待用户的结算层时最好是不可知的。它们应该能够支持尽可能多的区块链,以便将其产品提供给更多用户。这里我们使用_结算_作为执行和最终性的占位符,暗示应用程序及其用户应该能够从多个智能合约链提供的功能中受益,而不必过度依赖任何一个人的假设和权衡。
SOCKET 的设计允许通过其使用标准化工具实现这种灵活性/不可知论,使应用程序和用户能够摆脱困扰加密货币的链中心设计。其 CAP 可以被多链应用程序集成,以寻求统一用户体验,从而使应用程序能够轻松结算跨越单一链的用户订单。
SOCKET 的 CAP 设计已经有一个不断增长的生态系统在其上构建,例如 Bungee,它为 dAPP 提供全球状态/流动性,以及 Kinto 用于无链交换。
SOCKET 的直接目标是服务于以太坊充满活力的 Rollup 生态系统,同时继续研究和开发固化的替代方案,这种方法是直观的,因为 Rollup 互操作性可以被视为链抽象的一个子集。它的虚拟机无关性确实承诺未来与更多多样化的 altVM 标准的组合能力。
SOCKET 对链抽象账户的支持为用户提供了类似中心化交易所的体验,但信任要求降低,使他们能够在一个界面中查看和管理跨多个链的资产。通过 MagicSpend++ 以及其他支持的框架,用户可以立即利用他们在各链上的聚合余额,而无需额外的交易。因此,开发者能够竞争并构建异构基础层,而用户始终受益,因为他们获得了统一的界面,并且免受竞争标准的影响。
在后续文章中,我们将深入讨论我们可以期待在 SOCKET 上看到的应用类型。敬请关注!
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!