链上数据

内存池(Mempool)

又称: 交易池 · Mempool · 待确认交易池

定义

内存池是区块链节点用来暂存已广播但尚未被打包进区块的交易的等待区,交易在这里排队,矿工或验证者通常优先打包手续费更高的交易。

内存池是怎么运作的

你发出一笔转账后,它不会立刻写进区块,而是先被广播到网络中的各个节点,进入它们各自的内存池。矿工(工作量证明链)或验证者(权益证明链)从内存池中挑选交易打包,区块空间有限时,出价更高的交易会更快被选中。

内存池的拥堵程度直接决定了手续费和等待时间。网络繁忙时,内存池里堆积大量待确认交易,Gas费或比特币的手续费率会上涨;如果你给的费用太低,交易可能长时间卡住,甚至被节点丢弃。比特币支持RBF(用更高费用替换交易),以太坊钱包则可以用相同nonce发一笔更高Gas的交易来加速或取消。

内存池是公开的,这也带来MEV问题:机器人能看到你在DEX上的待成交大额交易,抢先下单或夹击你的交易(三明治攻击)。部分钱包提供私有交易通道来降低这类风险。

举个例子

假设你发送一笔比特币交易,大小为140 vB,设置手续费率5 sat/vB,总手续费700聪。此时内存池拥堵,被打包的交易费率大多在20 sat/vB以上,你的交易一直排不上。你用RBF把费率提高到25 sat/vB,总手续费变为3,500聪,多付了2,800聪(0.000028 BTC),交易在下一个区块被确认。

常见误区

  • 网络拥堵时设置过低的手续费,导致交易卡在内存池里很久。
  • 交易卡住后反复重新发送新交易,结果后来几笔一起成交,重复付款。
  • 在DEX上做大额交易时把滑点设得很宽,给内存池里的抢跑机器人留下空间。

继续学习与实操

常见问题

交易卡在内存池里怎么办?

可以等网络不拥堵时自然被打包,也可以用钱包的加速功能提高手续费。比特币使用RBF或CPFP,以太坊用相同nonce发送更高Gas的替换交易。

内存池里的交易会过期吗?

会。节点通常会在一段时间后或内存池满时丢弃低费率交易,丢弃后资金仍在原地址,你可以重新发送。