以太坊交易的上链顺序,从谁先发到谁出价高的底层逻辑

以太坊作为全球第二大公链,其交易上链顺序(即哪些交易能被打包进区块、打包的先后顺序)直接关系到用户的交易成本、确认速度,甚至应用的执行结果,与许多初学者“先发送就先上链”的直觉不同,以太坊的交易排序机制是一个融合了技术规则与经济博弈的复杂系统,本文将从核心机制、影响因素、实际案例三个维度,拆解以太坊交易上链顺序的底层逻辑。

核心机制:从“交易池”到“区块”的筛选与排序

在理解交易排序前,需要先明确两个关键角色:交易池(Mempool)区块构建者(Block Builder)

以太坊的交易并非直接发送给节点,而是先进入本地节点的“交易池”——这是一个临时存储待处理交易的“候车区”,每个节点都会维护自己的交易池,其中可能包含成千上万笔来自不同用户的交易,而区块构建者(通常是验证者或专门的 mev-boost 中继服务)则负责从自己的交易池中挑选交易,打包成新的区块并广播到网络。

交易池中的交易是如何被排序的?这取决于以太坊当前执行的执行层共识机制——从“PoW(工作量证明)”到“PoS(权益证明)”的过渡,让交易排序逻辑发生了根本变化。

PoW 时代:基于“Gas Price”的优先级排序(2022年9月前)

在 PoW 时代,矿工是区块的构建者,他们打包交易的逻辑相对直接:优先选择 Gas Price 高的交易

这里的“Gas Price”是用户为每单位 Gas 支付的费用,单位是 Gwei(1 ETH = 10^9 Gwei),Gas Price 越高,矿工单位时间的收益越高,因此矿工会优先将高 Gas Price 的交易打包进区块。

具体排序规则如下:

  • 第一优先级:最高 Gas Price:矿工的交易池会按 Gas Price 从高到低排序,优先处理出价最高的交易。
  • 第二优先级:Gas Limit 消耗:若 Gas Price 相同,则按 Gas Limit(交易消耗的计算资源)从高到低排序,因为 Gas Limit 高的交易能带来更多总手续费(Gas Price × Gas Limit)。
  • 第三优先级:交易哈希:若 Gas Price 和 Gas Limit 都相同,则按交易哈希(交易的唯一标识)的字典序排序,确保排序结果确定。

这一机制下,用户想要“插队”,最直接的方式就是提高 Gas Price——这也是为什么以太坊网络拥堵时,Gas Price 会飙升,高 Gas Price 的交易能更快被确认。

PoS 时代:从“Gas Price”到“优先费”的演变(2022年9月后)

以太坊合并(The Merge)后,PoS 成为新的共识机制,验证者取代矿工成为区块构建者,但交易排序的核心逻辑并未完全改变——优先费(Priority Fee,又称“小费”)成为新的“竞争货币”

在 PoS 时代,每笔交易的总 Gas 费由两部分组成:基础费(Base Fee)优先费(Priority Fee)

  • 基础费:根据网络拥堵程度动态调整(与区块 Gas Limit 消耗量相关),会被直接销毁,不属于验证者收益。
  • 优先费:用户自愿支付给验证者的“小费”,是验证者打包交易的直接激励。

验证者(或通过 mev-boost 中继服务的区块构建者)打包交易的优先级,从“总 Gas Price”变成了“优先费高低”——基础费是固定的(由网络状态决定),优先费才是用户“竞争”的关键。

具体排序规则调整为:

  • 第一优先级:最高优先费:验证者会优先选择优先费高的交易,因为这部分收益完全归他们所有。
  • 第二优先级:Gas Price(基础费+优先费):若优先费相同,则比较总 Gas Price(基础费+优先费),确保交易能覆盖当前网络的基础费水平。
  • 第三优先级:Gas Limit 与交易哈希:与 PoW 时代类似,优先费和总 Gas Price 都相同时,按 Gas Limit 和交易哈希排序。

影响因素:除了“出价高”,还有这些变量决定上链顺序

虽然“优先费高低”是核心,但实际交易排序还受多重因素影响,这些因素可能导致“高优先费交易未及时上链”或“低优先费交易反被优先”的情况。

交易池的“本地性”与“网络延迟”

每个节点都有自己的交易池,不同节点的交易池状态可能不同,用户 A 向节点 1 发送了一笔高优先费交易,同时用户 B 向节点 2 发送了另一笔更高优先费的交易,若节点 1 和节点 2 之间网络延迟,节点 1 的验证者可能暂时看不到节点 2 的交易,从而优先打包了用户 A 的交易。

这意味着,交易的“传播速度”也会影响排序——节点位置、网络带宽、甚至使用的客户端软件(如 Geth、Nethermind)都可能影响交易进入交易池的时机。

“MEV”(最大可提取价值)的干扰

MEV(Maximal Extractable Value)是指验证者或第三方通过排序交易获得的超额利润,它是交易排序中不可忽视的“变量”,常见的 MEV 策略包括:

  • 三明治攻击:检测到大额交易(如 DEX 交换)后,在前后插入“抢跑”和“套利”交易,通过抬高价格获利。
  • 抢跑交易(Fro
    随机配图
    nt-running)
    :优先打包自己的交易,利用信息差获利(如看到某代币即将大额买入,提前买入)。
  • 套利交易:在不同交易所间价差出现时,优先执行套利指令。

MEV 的存在,使得交易排序并非完全按“优先费”线性排序——有时,一笔优先费较低但能配合 MEV 策略的交易,可能被优先打包,验证者可能放弃一笔高优先费的普通转账,优先打包一笔能通过三明治攻击获利百万美元的 DeFi 交易,尽管后者的优先费更低。

交易中的“复杂逻辑”与“失败风险”

以太坊交易不仅包括简单的 ETH 转账,还包含复杂的智能合约交互(如 DEX 交换、NFT 铸造、借贷操作),这类交易可能因“前置条件未满足”(如余额不足、合约报错)而失败,验证者会优先打包“确定性成功”的交易。

一笔“用 ETH 交换 USDT”的交易,若用户设置的滑点过低(导致交换价格不满足),交易执行时会失败,验证者不会获得优先费,验证者的交易池可能会过滤掉这类“高风险交易”,优先打包逻辑简单、成功率高的转账交易,即使后者的优先费略低。

区块 Gas Limit 的限制

每个区块的 Gas Limit 是固定的(目前为 3000 万 Gas),这意味着区块能容纳的交易数量有限,当网络拥堵时,验证者需要在“高优先费但 Gas Limit 高”与“低优先费但 Gas Limit 低”的交易间权衡。

一笔优先费 100 Gwei、Gas Limit 21000(普通转账)的交易,总优先费收益为 2.1 ETH;另一笔优先费 50 Gwei、Gas Limit 100 万(复杂 DeFi 交互)的交易,总优先费收益为 50 ETH,尽管后者的单笔优先费更低,但总收益更高,验证者可能会优先打包后者,导致多笔低 Gas Limit 的普通转账被“挤出”区块。

实际案例:从“拥堵时刻”看排序逻辑

为了更直观地理解交易排序,我们来看两个典型场景。

以太坊网络拥堵时的“Gas 价格战”

假设某时刻以太坊网络因大量 NFT 铸造交易拥堵,基础费飙升至 100 Gwei,用户 A 想快速转账,设置了优先费 50 Gwei(总 Gas Price 150 Gwei);用户 B 急于完成 DEX 交换,设置了优先费 200 Gwei(总 Gas Price 300 Gwei)。

验证者的交易池中,用户 B 的交易优先费远高于用户 A,因此会被优先打包,若用户 A 想“竞争”,可能需要将优先费提高到 300 Gwei以上,但这会大幅增加交易成本——这正是以太坊拥堵时“Gas 价格飞涨”的根本原因。

MEV 下的“非优先排序”

假设验证者通过 mev-boost 中继服务检测到一笔 1000 ETH 的 DEX 交换交易(用户 C 执行),验证者可以设计“三明治攻击”:在用户 C

本文由用户投稿上传,若侵权请提供版权资料并联系删除!