应用特定排序(ASS):重塑DeFi交易排序与MEV治理的新范式
最大可提取价值(MEV)一直是以太坊生态里一个让人头疼的老问题。简单来说,就是一些套利者利用交易排序的漏洞,通过各种花式操作赚走本该属于普通用户的利润。虽然很多研究团队尝试在协议底层修改规则来堵住这个漏洞,但到目前为止,还没有一个真正让人满意的方案。
在这种背景下,应用特定排序(Application-Specific Sorting,简称ASS)出现了。它不像以前那样试图在底层协议里大动干戈,而是把交易排序的权力交还给每个应用自己。这样一来,链上的应用不仅能保护用户和流动性不被MEV“薅羊毛”,还能把原本流到以太坊验证者手里的那部分价值留住,让整个DeFi环境更可持续。
想象一下:以前,高频交易者为了最大化套利,会拼命抢跑,把散户的每一笔交易都当成“猎物”,大部分套利利润最后都跑到了验证者和底层链手里。而有了ASS,每个应用可以自己定义交易排序的规则,为用户打造一个更定制、更高效、也更公平的体系。这其实是MEV治理思路的一个大转弯——从试图在网络层解决,转向在最核心的应用层动手。
背景:从 VSR 到 ASS
应用特定排序(ASS)这个概念,最早源于Matheus对去中心化交易所(DEX)里可验证排序规则(VSR)的研究。Matheus证明了VSR能通过减少矿工对交易排序的控制权,来改善交易执行效率,同时减轻MEV的负面影响。后来Tarun进一步把这个想法推开了,展示了应用专属的排序规则会怎么影响协议参与者(包括用户、验证者和排序者)的收益。
所谓“收益函数”,其实就是特定交易排序能带来的经济价值。它反映了协议参与者因为交易排序而赚到的利润或效用,能直观地看出排序机制对财务结果的影响。这个函数有两个关键特点:
- 非平滑回报:排序哪怕只变一点点,MEV都可能剧烈波动。
- 非单调回报:排序的微小变化可能让MEV增加,也可能让它减少,而且方向并不固定。
当收益函数同时具备这两个特征时,你很难找到一个简单的优化策略。所以必须在应用层用更复杂、更定制化的方法,才能保证用户拿到公平的交易结果,也让DeFi生态能持续运转下去。
应用特定排序(ASS)的工作原理
要搞懂ASS,得先看看现有的交易流程长什么样:
- 交易先被发送到公共或私有的内存池(mempool)。
- 区块构建者(Builders)把这些交易收集起来,打包成区块。
- 构建者参与区块拍卖,赢家的区块会被加进区块链,他出的价则付给区块提议者。
相比之下,基于ASS的应用有下面几个核心特点:
- 受限排序权:只有指定的排序者或质押验证者才能跟应用合约交互,这样能防止恶意行为绕过应用内部的价值分配逻辑。
- 应用专属内存池:用户不再把交易扔到公共内存池,而是把交易意图发到应用自己的内存池里。这些意图随后由应用专属的排序者收集和处理。
- 与顺序无关的结果:为了执行排序规则并给用户最好的经济回报,ASS交易需要确保它的结果不受构建者对其他交易排序的影响。这通过让应用状态由共识机制控制来实现。ASS订单会被整合成一个捆绑包,发给构建者。因为这个捆绑包不会跟其他应用访问的状态冲突,所以它在区块里的具体位置其实无所谓。
依靠这些基本原则,ASS让任何链上应用都能重新拿回执行和合约状态的控制权,变成真正的“主权应用”。
实际案例:Angstrom
Angstrom是一个典型的“主权应用”,它是Uniswap V4的一个钩子(Hook),主要目的是保护流动性提供者,不让他们被中心化交易所(CEX)和去中心化交易所(DEX)之间的套利者坑,同时保护交易者不受“夹层攻击”(Sandwich Attacks)的伤害。Angstrom节点网络会跟以太坊并行,对即将执行的交易集达成共识,具体流程是这样的:
- CEX-DEX套利者通过竞价,争取成为第一个通过自动做市商(AMM)进行交换的人(通常不收手续费)。
- 与此同时,用户把预定的交换操作以签名限价单的形式,发送到Angstrom的内存池里。
- Angstrom网络运行共识协议,形成一个捆绑包。其中第一笔交换由出价最高的套利者执行,他的出价会按比例分配给交换范围内所有的基础流动性提供者。所有其他有效限价单以及AMM的流动性,都按同一个统一清算价格执行。
- 这个捆绑包随后由被选中的Angstrom节点发送给以太坊的构建者和公共内存池。
活性与信任假设
ASS本质上是一种部分区块构建方式,主权应用按照自己规定的排序规则,把排序权委托给一个去中心化的运营商网络。所以,ASS不可避免地会引入一些额外的活性和信任假设,这点需要心里有数。
活性假设(Liveness)
主权应用依赖特定的应用排序器来正确执行协议,并及时提供状态更新。如果活性出了问题(比如网络分区),用户可能暂时无法跟应用的某些部分交互,直到共识恢复为止。
不过,主权应用也可以限制合约状态的范围——那些依赖排序器来更新的状态。这样能尽量减少合约对其他外部因素的依赖,确保哪怕排序器出了问题,一些关键状态(比如存入的流动性)仍然可以访问。
信任假设(Trust)
为了保证排序器遵守规定的排序规则,主权应用可以用加密经济方案(比如PoS)或加密方法(比如TEE或MPC)。具体用什么方法,得看应用的需求:有些应用可能需要就执行优化达成共识,另一些则更看重通过加密机制确保执行前的隐私。现在已经有不少工具可以用来降低排序器的信任成本,同时满足每个主权应用独特的目标。
抵制审查
以太坊生态里有好几种审查机制:
- 监管审查:构建器和中继器根据OFAC制裁名单来审查交易。这是目前以太坊上最突出的审查形式之一,主要由中继器执行。
- 经济审查:有动机的攻击者可以贿赂区块提议者,来审查受害者的交易。
- 节点级审查:P2P网络里的节点可能会拒绝传播收到的交易。如果协议假设大多数节点对收到的交易看法一致,并据此运行,那这可能引发大问题。对手可以只在时隙末尾向一半节点发送交易,来分割诚实节点的本地视图,从而阻止协议运行。
很多研究人员都指出,以太坊需要更强的抗审查机制。像多并发提议者(MCP)和分叉选择强制包含列表(FOCIL)这些方案已经浮出水面,成了热议焦点。
抵制审查也是主权应用最关心的问题之一。应用专属的排序器可能是外部实体,他们对接收额外的私人交易和订单流各有各的算盘。比如,一个做市商身份的应用验证者,可能有动机去审查竞争对手做市商发送的交易。所以,就算基础协议本身不搞审查,顶层的主权应用也可能遭遇本地审查。
ASS的审查抵制机制,一个典型例子就是Angstrom。为了确保所有有效订单都能被包含进即将到来的时隙,Angstrom节点必须广播任何经过验证的传入订单,并就把它纳入提议的交易包达成共识。如果交易包缺少大多数网络节点都观察到的订单,那提议者就会受到惩罚。下面是Angstrom审查抵制机制的示意图。
可组合性困境
主权应用面临的一个主要挑战,就是如何让那些跟外部合约状态交互的交易具备可组合性。如果简单地把应用专属的交易跟任意外部交易捆在一起,就会破坏保护主权应用及其用户所必需的“订单不可知性”。当单个无效的非ASS交易跟应用专属的交易组合在一起时,可能会产生一种连锁反应,导致整个捆绑包被回滚。一旦发生这种情况,哪怕达成了有效共识,主权应用也没法在分配的时间段内执行用户订单,最终损害的是用户体验和整体福利。
不过,可组合性的问题已经有了一些潜在的解决方案,不同团队正在探索各种思路,比如包含预确认、共享应用特定排序器,以及构建者承诺等概念。每种方案都在可组合性的程度和信任成本之间做了不同的权衡。
纳入预确认(Inclusion Preconfirmation)
要理解纳入预确认,得先知道基于预确认是怎么工作的。基于预确认利用加密经济安全性,确保提议者已经质押了抵押品,保证会在当前时期的某个特定时间段之前,把特定交易集纳入进来。这个保证受限于提议者发布的保证金规模。
纳入预确认是基于预确认的一种特殊形式,其中交易的纳入跟任何合约状态都无关。请求纳入预确认的交易必须跟状态无关,也没有争议,也就是说它们的执行不受区块位置的影响。通过利用纳入预确认,提议者可以承诺:只有当ASS捆绑包包含在同一个区块里时,才去纳入非ASS交易。这种方法在无争议交易和ASS捆绑包之间,提供了一种加密经济强制可组合性。
不过,鉴于这个方案提供的可组合性有限,它增加的复杂性和信任成本,可能对某些主权应用来说得不偿失。所以,探索那些能在简单性和功能性之间找到更好平衡的替代方法,就显得很重要了。
共享特定应用排序器和构建者承诺
主权应用可以用专属的排序器来管理多个应用之间的交易排序,而不必依赖提议者的承诺。比如,一个处理多个主权应用交易的排序器,可以在遵循每个应用排序规则的前提下,促进它们之间的原子可组合性。这种共享排序器的方法,能实现跨主权应用的无缝组合和协调。
但对于非主权应用,就需要不同的方案了。区块构建者如果参与了主权应用的排序,他们的交易纳入承诺可以在非主权和主权应用之间创建原子可组合性。构建者保证两种类型应用之间指定的交易顺序。这种构建者承诺,可以弥补ASS在可组合性上的短板。
上图左边展示了主权应用之间通过共享排序器实现原子可组合性,右边则展示了构建者承诺在主权与非主权dApp之间实现原子可组合性的方式。
虽然关于构建者承诺的经济动态、纳入预确认的可行性以及潜在的二阶效应,还有很多疑问,但我相信ASS的可组合性挑战会随着时间慢慢解决。像Astria和Primev这样的团队,已经在积极研究和开发共享排序以及构建者承诺的改进框架。随着这些进步,可组合性应该不会再成为主权应用的瓶颈。
ASS 与特定于应用的 L2 和 L1
目前,dApp如果想控制交易排序,往往得自己搭一条应用专属的链。像“协议自有构建器”(PoB)这样的概念,让Cosmos L1能够拥有更具表现力的排序规则,从而帮助捕获MEV并重新分配给它的应用。同样,带有VSR的L2排序器也能做到类似的事情。虽然这两种方案都让应用能更灵活地排序和捕获MEV,但ASS有自己独特的优势:
- 交易执行不产生信任开销:ASS本身不执行或结算排序交易,它只委托排序权。基线信任假设来自本机执行环境(比如以太坊或其他L2),不需要额外增加。
- 获得流动性和订单流:用户不需要跨链桥接。dApp可以直接利用链内的流量和流动性。
- 资产保留在本机执行环境中,无法冻结:跟L2不同,大多数ASS不需要用户把资金锁定在桥接合约里。这种设计更安全:如果应用专属的排序器出了故障,潜在损失是有限的,因为排序器只能控制智能合约设定边界内的交易。虽然有些L2方案也实现了安全功能(比如紧急出口和强制包含),但实际操作中这些措施往往很难用。用户跟L2失去连接后,可能需要等好几天才能激活紧急出口。同样,通过L1强制包含通常也要至少一天的延迟。更关键的是,这些安全措施通常需要大多数用户不具备的技术能力,对普通用户来说并不实用。
- Strong-ASS 活性假设:L2的活性取决于执行节点(通常是rollup排序器,除非是基于排序的)。L1的活性取决于诚实的大多数节点重新执行相应的状态转换函数。而主权应用的活性主要取决于底层执行环境,智能合约可以指定哪些部分需要依赖应用专属的排序器。
上图是主权应用、L2、基于L2的链和L1之间的比较表。需要提醒的是,本文所有内容仅作为学习参考,不构成任何投资建议、交易建议或收益承诺。加密货币和迷因币价格波动剧烈,实际价格预测和市场数据应以官方公告、交易所页面及实时行情平台为准,投资者需独立判断、谨慎决策,切勿盲目跟风。