Mempool 区块链

2025年4月7日 | 阅读7分钟

什么是 Mempool?

“区块链中待处理和未经验证的交易队列被称为 mempool 或内存池。”

这些待处理的交易在 mempool 中等待,以便在下一个区块中被确认和关闭。

Mempool 解释

当你在 区块链 网络上进行交易时,你的加密货币支付或转账并非立即得到验证。在 工作量证明 (PoW) 区块链上的矿工和权益证明 (PoS) 区块链上的验证者负责聚合待处理交易并打包成区块,从而验证你的交易。

只有当你的交易被添加到区块后,才被视为完成。在此之前,它们将与其他所有未经确认的交易一起,保存在一个称为 mempool 的队列中。

以下变量将影响交易的完成时间

  • 区块链系统
  • 区块之间的时间间隔
  • Gas 费
  • 网络拥堵

Mempool 如何运作?

一笔交易从开始到确认会经历不同的阶段。在区块链上,一笔交易在执行后会被排入 mempool 并广播到整个网络。重要的是,mempool 并不标准化。每个区块链节点都有自己的 mempool,其中包含的交易可能与另一个节点的 mempool 不同。有些节点可能使用较低端的硬件,这会限制它们可以保留在 mempool 中的交易数量。其他节点可能配置为在不同时间接收交易。

并不是 mempool 中的所有交易都得到相同的处理,这是关于 mempool 的另一个关键特征。在构建区块时,哪些交易被优先处理的决定权在于矿工或验证者。为了鼓励矿工和验证者优先处理他们的交易,用户经常支付比平时更高的 Gas 费并提供小费。由于区块空间有限,矿工和验证者总是在试图从区块中提取最大的价值。

由于对区块空间的需求,mempool 现在有了活跃的市场。在加密货币领域,它被称为最大可提取价值(稍后详述)。

Mempool 示例

通过比特币区块链作为例子,可以更好地理解 mempool 和交易确认时间。

首先,这里有一些关于比特币区块时间的细节。通常,两个比特币区块之间有十分钟的时间间隔。这就是区块链默认的设置方式,以保持共识和比特币挖矿的竞争力。

根据 YCharts 的数据,2022 年 8 月 24 日,确认一笔 比特币 交易的平均时间为 9.4 分钟,这与两个区块之间的平均时间相当。一年后的 2023 年 8 月 24 日,平均时间增加到约 45.6 分钟。

比特币 mempool 中的拥堵是造成这种额外延迟的主要原因。在比特币 ordinals 推出后,2023 年 1 月份,比特币交易量激增。为了便于理解,根据 The Block 的数据,交易量的七日移动平均值(7DMA)已从一年前的 251,940 笔飙升至 2023 年 8 月 23 日的 492,350 笔。

最大可提取价值 (MEV) 和 Mempools

在讨论 mempool 时,我们也必须讨论 MEV。

MEV 是指验证者和矿工从区块中可以获得的最大利润。在构建新区块时,矿工和验证者会在 mempool 中寻找 Gas 费较高的交易,以便优先处理它们。

值得注意的是,MEV 游戏中除了矿工和验证者之外还有其他参与者。被称为“搜索者”的独立网络用户提取了大量的 MEV。他们利用复杂的算法来发现 MEV 机会,然后使用机器人自动将这些交易提交给网络。

从事抢先交易(frontrunning)的搜索者会扫描 mempool 中的待处理交易,这些交易可能带来有利可图的交易。当发现这样一笔交易时,搜索者会复制它并提交一个更高的 Gas 费,从而使复制的交易比原始交易提前完成。

搜索者会寻找有潜力提高代币价格的重大待处理交易,这种交易被称为夹子交易(sandwich trading),也称为三明治攻击。当找到一个代币时,搜索者会在重大交易之前购买该代币,并在重大交易完成后立即出售以获利。

关于 Mempools 的重要提醒

  • 你的交易被卡在 mempool 中的主要原因之一是网络拥堵。
  • 如果你设置的 Gas 费过低,你的交易可能会被卡在 mempool 中。
  • 如果网络哈希率过低,你的交易可能会被困在 mempool 中。低哈希率表明区块链网络可能没有足够的处理能力来处理交易。
  • 不同区块链的区块生成间隔时间不同。例如,在比特币上,两个区块之间的间隔通常是 10 分钟,而在以太坊上,是 12 秒(ETH)。
  • 提高 Gas 费将加快你的待处理交易。
  • 一些用户会收取高昂的 Gas 费来加快交易处理速度。这经常发生在非常热门的 NFT 铸造期间。
  • 可以使用 Etherscan 等区块浏览器程序来监控你的交易进度。

消息如何进入 Mempool?

以下描述了交易如何进入区块链 mempool、同步、验证并传播到区块链节点之间

  • 首先,用户通过钱包或 Dapp 发起一笔交易。这可能包括将资金转账到另一个合约或账户。
  • 然后,用户使用其钱包对交易进行签名。
  • 钱包将签名的交易发送到一个节点或 RPC 提供商(如 Pocket 或 Alchemy),以便将其添加到区块链中。
  • 在确认交易的合法性后,该节点将其添加到其 mempool 中。
  • 该节点将交易广播到其他节点,因为它属于一个对等网络。
  • 接收到交易后,这些对等节点会验证交易并将其添加到自己的 mempool 中。然后,它们通过广播给其他对等节点,将交易传播到整个网络。
  • 另一种接收来自对等节点交易的节点类型是矿工或验证者。在验证交易后,他们会尝试将其添加到区块中。
  • 最终,成功的矿工或验证者会将包含该交易的区块添加到链中。
  • 然后,网络会被告知这个新区块。
  • 当每个节点收到来自其对等节点的这个新区块时,它会从其 mempool 中删除包含的交易。

Mempool 的数量等于节点的数量。

由于交易存储在节点的内存中,因此我们称之为“内存池”。理论上,区块链中的每个节点都拥有自己的内存池。单个节点的 mempool 仅仅是待处理交易的列表。

正如我们稍后将看到的,当人们谈论 mempool 时,他们通常指的是所有节点上的所有 mempool。实际上,区块链 mempool 中任何节点上的所有待处理交易都被称为在 mempool 中。这是因为,在大多数情况下,拥有 mempool 中交易的节点会将这些交易传输给其他节点,希望其中一个节点能够被选中将交易包含在一个正在构建的区块中。

当通过 Metamask、Trezor 或任何其他钱包将一笔交易发送给一个节点时,它只会被发送到该节点。当你访问你的网页钱包或 Metamask 时,会看到一个指向单个节点的 API (URL)。你的交易只会发送到该节点,并存储在该节点的 mempool 中。

私有区块链 mempool:它是什么?

私有区块链上的 mempool 将我们的交易转发给有限数量的节点,这些节点已同意不查看交易内容或修改其顺序。

使用此类服务的一个好处是,MEV 不会成为你的问题。缺点是你必须相信节点不会参与 MEV,并且你的交易可能需要更长的时间才能包含到区块中,因为尝试这样做的节点较少。

有多种方法可以通过 Securerpc、MEVBlocker、Flashbots Protect 或 Securerpc 等服务发送交易,而无需将其放入 mempool。

Mempool 区块链的优势

使用私有区块链 mempool 的优势

  • 增强隐私性: 私有区块链 mempool 不会公开披露你的交易数据,提供更多。
  • 更高的隐私性: 使用私有区块链 mempool 进行的交易更加私密,因为你的个人信息不会被公开披露。
  • 降低 MEV 攻击风险: 通过保持交易细节的私密性,你可以大大降低 MEV(最大可提取价值)攻击的风险。
  • 增加交易顺序控制: 私有 mempool 为用户提供了对交易处理顺序的更多控制。

Mempool 区块链的缺点

使用私有 mempool 有一些缺点

  • 安全性高于速度: 尽管参与过程的节点较少可能会导致交易确认时间变长,但私有 mempool 提供的增强的安全性和隐私性通常会超过这种小的不便。

总结

了解 mempool 的运作方式至关重要。mempool 的状态直接影响加密货币用户,无论是通过 Gas 费还是交易确认所需的时间。

用户还必须了解 MEV 社区如何变化以及一些人如何利用 mempool。区块链的 mempool 是待处理交易的队列,这些交易尚未包含在区块中。这很重要,因为在许多情况下,节点会相互交换待处理交易列表,这为 MEV(最大可提取价值)攻击打开了大门。