Guide
内存池(mempool)是什么?比特币未确认交易的候车室

结论:mempool 是"未确认交易的候车室"。一旦拥堵,手续费就会上涨,确认也会变慢
内存池(mempool,memory pool)指的是尚未被打包进区块的未确认交易临时等待的地方。每个比特币节点都拥有自己的 mempool,矿工会从这里堆积的交易中挑选手续费较高的打包进区块。
本文要点
- mempool = 未确认交易的候车室,由每个节点保存在内存中
- 交易增多、区块容量不够时会发生拥堵,手续费(sat/vB)随之上涨
- 矿工优先选择单价高的交易,因此形成了手续费市场
- 可在 mempool.space 查看当前的拥堵状况和 feerate
一笔交易被确认之前的流程
- 从钱包发起转账 → 交易被广播到网络
- 进入各节点的 mempool,成为未确认交易
- 矿工挑选手续费较高的交易打包进区块,完成确认(参见什么是挖矿(mining)?)
- 已进入区块的交易从 mempool 中移除
确认次数的计算方式请参见什么是比特币的确认(confirmation)?。
为什么会发生拥堵
一个区块能容纳的数据量存在上限,而区块平均约每 10 分钟生成一个(参见比特币的运作原理)。当发送过来的交易超过这个速度,交易就会在 mempool 中堆积,这就是"拥堵"。一旦拥堵,想尽快被打包的人会提出更高的 feerate,从而在手续费市场上推高单价。
此外,Bitcoin Core 默认为 mempool 分配约 300MB 内存,达到上限后就不再接收低于一定 feerate 的新交易。低手续费的交易若长时间滞留,最终可能会从 mempool 中被删除。
如何在 mempool.space 上查看
在 mempool.space 上,大致可以读取到以下信息。
| 项目 | 能了解什么 |
|---|---|
| Mempool size | 未确认交易堆积了多少(拥堵程度) |
| Fee Estimates | 当前应支付的 feerate(sat/vB)参考值 |
| 最近的区块 | 交易大致以怎样的 feerate 被打包 |
拥堵越严重,推荐的 feerate 就越高。手续费的确定方式请参见比特币手续费的运作机制。
常见问题
mempool 在哪里?只有一个吗?
它并不是存在于某一台中央服务器上。比特币的每个节点都在自己的内存中保存各自的 mempool。由于节点的设置和接收情况不同,内容并不会完全一致。
mempool 拥堵会怎样?
未确认交易会堆积,被矿工打包所需的手续费(sat/vB)参考值会上升。手续费低的交易排队时间更长,确认所需的时间也更久。
未确认的交易会一直留在 mempool 里吗?
不会。一旦被打包进区块,就会从 mempool 中移除。另一方面,手续费低、长期未被打包的交易可能会被节点从 mempool 中删除(drop/expire),此时资金仍保留在发送方一侧。
参考・出处
投资须知
本文仅以提供信息为目的,并非投资建议。比特币存在价格波动、被黑客攻击、丢失等风险。投资决策请自行承担责任,并在闲余资金的范围内进行。税制与监管可能发生变化,最新信息请务必查阅官方一手来源。
Sources
常见问题
- mempool 在哪里?只有一个吗?
- 它并不是存在于某一台中央服务器上。比特币的每个节点都在自己的内存中保存各自的 mempool。由于节点的设置和接收情况不同,内容并不会完全一致。
- mempool 拥堵会怎样?
- 未确认交易会堆积,被矿工打包所需的手续费(sat/vB)参考值会上升。手续费低的交易排队时间更长,确认所需的时间也更久。
- 未确认的交易会一直留在 mempool 里吗?
- 不会。一旦被打包进区块,就会从 mempool 中移除。另一方面,手续费低、长期未被打包的交易可能会被节点从 mempool 中删除,此时资金仍保留在发送方一侧。
本文仅供参考,不构成金融、投资或交易建议。价格为参考快照,可能已过时。请务必自行研究。