MEVless 的两阶段块:先排 hash 再放内容,出块人看不见单 图 1
MEVless 的两阶段块:先排 hash 再放内容,出块人看不见单 · 图 1

三明治攻击的前提只有一个:排序的人能在下单前看见你的单。你买入的兑换单被看到,前后就被插入买与卖两笔,价格被抬着走完一个来回,差价落到插单人手里。EIP-8099 在 2025 年 9 月提出的 MEVless 协议,选择直接拆掉这个前提:让交易在排序阶段以哈希形态出现,出块人只见到一串无法解读的指纹。提案是草稿状态,未进入任何升级计划,但机制思路值得完整读一遍。

两块一体的结构

协议把区块分成两种角色交替出现。奇数高度是排序块:它不收交易正文,只收交易哈希与对应的预付费用,按预付从高到低给哈希排队,把排好的序列作为承诺写进块里。偶数高度是执行块:用户在排序后把交易正文亮出来,节点核对正文与此前承诺的哈希是否一致,然后严格按排序块定好的顺序执行。排序与执行之间隔了一个块的时距,而排序那一刻,没有任何人知道每个哈希背后是什么。

为什么这样能挡住提取

抢跑需要知道套利机会藏在哪笔交易里,夹单需要知道交易将在兑换池里推动什么方向的价格。信息在排序期被哈希遮住,这两件事都无从下手:排序者按预付费用排座次,唯一能做的合法动作就是卖插队位置。提案在动机章节把现有方案各打了一遍:加密内存池要养一整套加解密基础设施,私有内存池依赖中心化服务商,PBS 只是把看单的权力从提议者转移到构建者,构建者照样看得见。MEVless 的卖点是把这些成本与信任全部换成一个协议层的排序游戏。

用户侧多了什么流程

交易流程从一步变三步:先算哈希并随哈希预付基础费与可选小费,等排序块把自己的哈希排进序列,再在下一块亮出正文等着执行。多付的那笔基础费覆盖哈希存储与排序计算,小费决定位次。这带来一个必须直说的推论:排序权完全由预付价决定,费用支付能力直接兑换成队列位置,快与慢变成纯出价问题。对延迟敏感的策略,这套机制未必比现状便宜。

这份草稿要过的质疑

排序块到执行块之间,用户必须敢亮正文:如果亮出后发现被排在不利位置,能不能放弃亮单白嫖排序位?提案在安全考量里给了一个结构性前提:出块归属必须不可预测。若生产者能提前知道自己将出下一块,他可以先大量提交哈希占位,再按已亮出的内容决定是否补交正文——预付最终会作为区块费用回到自己口袋,投机等于免费;随机出块则让每笔投机预付变成真金白银的沉没成本,验证者越多、单个中块概率越低,投机越亏。随机出块、预付沉没、两阶段承诺,三条支柱缺一不可,社区对钱包适配与正文缺失的降级规则等细节的讨论仍在继续。

一笔对照账

把现状与 MEVless 摆在一起:现状是排序者看得见内容,靠外部服务(私有交易池、加密池、构建者市场)给交易补隐私;MEVless 是协议层直接给交易蒙眼,代价是所有交易多付一轮排序费、延迟至少多一个块。前者像给个别贵重包裹上保险,后者像全城快递统一蒙面发货。哪种更划算,取决于你认为监控成本该由个人摊还是由系统摊——这正是读这份提案最值得带入思考的分歧点。

快与慢的新分界

传统链上排队,等待时间由 gas 出价与打包运气共同决定;MEVless 把等待明码标成排序预付费,且排序块间隔可以比执行块更短,理论上把定序延迟压到更细的粒度。代价同样直白:所有用户都要为这层确定性买单,哪怕他根本不在意被夹。读这份提案时不妨自问:如果每个 swap 都贵一点、但没有人被夹,你愿意吗?答案没有对错,但会把你对协议设计的偏好照得很清楚。

风险提示:本文是对协议草案的机制解读,不构成任何投资建议;协议设计仍处讨论阶段,实际规则可能完全改变。