
术语与适用范围
区块链语境中的“夹子”通常指与三明治交易有关的程序:围绕另一笔交易的执行顺序安排前后交易,利用价格变化提取价值。以太坊开发者文档将其列为MEV的一种形式,并指出它可能使被夹交易承受更差的成交结果。本文讨论以太坊与去中心化交易应用中的通用概念。
MEV与交易排序
MEV指通过纳入、排除或调整区块内交易顺序,在常规区块奖励和手续费之外提取的价值。待处理交易池是理解交易可见性的基础,但公开可见的交易并不代表全部交易流。

交易被观察到、被提交和最终被执行是不同阶段。研究排序问题时,需要分清交易内容、执行前状态和实际区块顺序,不能仅凭提交时间推断执行位置。

价格影响与执行条件
流动性池中的交易可能改变后续兑换条件。价格影响描述交易对池内价格的作用;滑点描述预期成交结果与实际结果的偏差。两者相关,但不能混用。
这一分析适用于交易会改变后续报价的场景。具体影响取决于协议定价规则、流动性与当时状态,不能把某一种池子的模型直接套用于所有去中心化交易协议。
原子性、模拟与Gas
原子性关注一组操作能否全部成功或全部回退。跨越多笔交易的前后安排,不能直接视为单笔合约调用内部的原子执行。
本地模拟用于检查特定状态下的执行结果;状态或排序改变后,结果可能不同。Gas反映执行资源消耗,手续费影响执行成本,但提高费用不能被理解为必然获得某个排序位置。
合约权限与管理边界
OpenZeppelin访问控制文档介绍了单一所有者和基于角色的授权机制。前者适合管理职责集中于一个主体的合约,后者适合拆分不同权限;两步所有权转移要求新所有者明确接受。
权限设计回答谁可以调用受限功能,交易排序回答调用何时执行,两者属于不同层面。即使访问控制正确,也不能据此认定合约具备防夹能力。
常见问题
MEV是否都属于夹子?不是,三明治交易只是其中一种,MEV还涵盖其他依赖状态与排序的活动。理解MEV并不等于掌握某一种执行方案。
拥有某个业务角色是否就能授予别人该角色?通常不能,角色使用权限与角色管理权限需要分别检查。系统分析既要核对执行逻辑,也要核对授权关系及其变化。