什么是内存池,它们是如何工作的?

2023-07-27, 06:33

[TL; DR]

mempool的主要功能是在交易被验证之前存储它们。

比特币和 以太坊 是使用内存池的区块链的例子。

区块链拥堵是交易长时间卡住的主要原因。

如果您希望交易快速进行,请使用适当的燃气费用。

介绍

我们经常在各种区块链上进行交易,比如 以太坊 而比特币,但我们可能不完全理解它们的一些技术性。然而,了解区块链的某些组件如何工作可能有助于加快我们的交易速度或降低其成本。

在这个分析中,我们讨论了区块链中的内存池(Mempool)及其工作原理。我们还将解释如何处理比特币和以太坊网络上的待处理或延迟交易。

阅读也: 什么是区块链浏览器?

什么是Mempool?

内存池 内存池的简写形式 是一个用于存储未确认交易等信息的节点空间。它充当着尚未得到确认或批准的交易的候车室。请记住,只有在交易经过验证或批准后,才会被纳入一个区块中。

换句话说,mempool是一个空间,待处理的交易在添加到区块之前等待。

当交易被验证时,这意味着区块链上的所有节点都可以访问信息。然而,在交易获得批准之前,各个节点会验证签名,检查输出是否不大于输入,并确保系统尚未发送数字资产。如果其中任何一个条件不满足,验证者或矿工将拒绝该交易。

重要的是要理解,区块链没有单一的内存池。因此,区块链网络上的每个节点都有自己的内存池,也称为交易池。因此,各个节点的内存池构成了集体的区块链内存池。

例如,发生在 Gate.io 平台上的交易 比特币 网络上的交易不直接添加到区块链中。每个节点将交易存储在一个临时的交易存储区(称为mempool或txpool)中。因此,它们形成了一个需要被检查和验证的队列。

因此,我们可以简单地将mempool定义为一个有序的交易队列,这些交易需要被排序并添加到一个区块中。

节点中的内存池(Mempool)- Babypips

请记住,在交易被确认或打包进区块之前,它们只存在于内存池中。在上面的图表中,蓝色部分表示节点内存在的内存池空间。下一个图表展示了网络中内存池的分布。

比特币网络中的完整节点具有内存池 - Babypips

如上图所示,比特币或以太坊等网络中的每个完整节点都有一个内存池。然而,每个交易都将在网络节点中广播,如下图所示。

比特币节点网络 - Babypips

正如我们在图中所示,紫色用户发起的比特币交易将在审核前存储在内存池中。值得注意的是,一旦交易被验证,它就会像下一张插图所示的那样被添加到一个块中。

将交易添加到文件(块) - Babypips

图中蓝色箭头显示了当交易被验证时发生的情况,它会从交易池移动到一个区块中。在这个阶段,所有计算机都将拥有已确认交易的更新文件。

Mempools是如何工作的

通常,内存池的工作方式并不完全相同。它们的运行方式取决于每个区块链的架构。换句话说,它们的工作方式取决于网络的共识机制类型。交易要么由验证节点,要么由矿工进行验证,具体取决于网络的类型。

举个例子,比特币区块链上的交易由矿工验证,因为它使用工作量证明共识机制。另一方面,以太坊网络上的交易由验证者批准,因为区块链使用权益证明共识机制。

阅读更多: 重塑以太坊和潜在的网络健康问题

比特币网络每笔交易需要至少六个确认,而以太坊区块链需要至少七个确认。基本上,内存池中的每个交易都有特定的状态。它要么是待处理的,要么是排队的。当验证者或矿工验证一个排队的交易时,它就变成了一个待处理的交易。

阅读也: 比特币闪电网络是什么?

让我们看一个简单的例子,当您向朋友发送ETH时会发生什么。该过程涉及输入钱包地址,设置燃气费用和 确认交易.

一旦您执行这些操作,您的交易将进入队列,等待验证。在那时,它将被广播到整个节点网络,但它尚未成为任何区块的一部分。

如果验证者检查交易并发现它满足所有条件,它将从排队状态移动到待处理状态,并等待确认。然后,其中一个验证者从内存池中提取交易并将其添加到新区块中。

在那个阶段,有几个验证者批准了这一点,这使得您的朋友可以收到ETH。

让我们总结一下内存池动态

步骤1:发送者输入目标地址,接受网络交易费用并点击“发送”

STEP 2:交易被添加到最近的内存池并排队。

步骤3:内存池数据被广播到网络中的其他节点。

第四步:一个节点批准了交易,其状态从排队中变为待处理。

第5步:矿工选择待处理的交易并将其添加到一个区块中。

步骤6:其余节点从其内存池中删除该交易。

第7步:交易完成,资产进入目标钱包。

现在您了解了在处理交易时延迟的原因,让我们来看看一些交易被卡住的原因以及您可以采取的行动。

交易在内存池中停滞的原因

交易被卡在内存池中的主要原因是网络拥堵。当交易量很大时,可用的区块空间受到压力,从而触发内存池积压。如果挂起的交易数量超过块中的平均交易数量,则会发生这种情况。

一些影响区块链交通水平的事件和新闻可能会导致网络拥塞。例如,空投、在更多交易所上市或新的合作伙伴关系可能会导致拥塞。然而,有一些因素可以使节点优先处理某些交易。

交易费用 不同交易附加的费用确定了首先得到批准的交易。由于矿工和验证者是出于利润驱动,他们优先处理具有较高费用的交易,因为这使他们能够获得更高的奖励。

因此,矿工和验证者根据每字节的费用(例如satoshis/byte)在其内存池中组织交易。最后,他们首先将具有最高费用的交易添加到区块中。这个系统迫使用户为他们的交易设置高费用。

尽管如此,根据网络流量的情况,用户可以设置最佳的燃气费用,并且仍然能够及时确认他们的交易。对用户来说重要的是,在设置自己的燃气费用之前,检查历史数据、网络拥堵、交易量和mempool中的费用分配等因素。

确认时间 用户在设置费用之前,可能还需要检查确认时间。当确认时间较长时,意味着矿工和验证者优先处理高费用的交易。实质上,当内存池拥塞时,低费用的交易将需要更长时间才能完成。

区块空间 区块空间还决定了交易获得批准之前经过的时间。由于区块空间始终有限,矿工和验证者优先考虑具有更高费用的交易。这意味着具有较低费用的交易在内存池中花费更多时间。

内存池大小和驱逐 要添加到区块的每个交易都是以千字节为单位的数据块。因此,大型内存池可容纳许多交易。通常,节点设置其内存池的大小,比特币通常为300MB。当内存池达到阈值时,节点可能会设置最低交易费用。

当用户了解这种动态时,他们可以很容易地设置交易费用并在合理的时间内获得批准。例如,他们可以在低吞吐量期间避免过度支付,或者在高峰时段进行时间敏感交易时避免支付不足。他们还可以近乎正确地猜测他们的交易将被验证的速度。

为什么交易会在内存池中卡住

往往情况下,交易因为多种原因被卡在内存池中,但大多数与油费有关。然而,一些交易被卡在内存池中的最大原因是网络拥塞。当出现拥堵时,高手续费的交易首先通过,其余的则被卡在那里。

因此,在网络高峰期增加交易费是最好的选择。这是因为在拥堵时,燃气费会激增。因此,如果您在繁忙时段处理交易,您应该将您的费用与其他网络用户支付的费用相匹配。

交易被卡在内存池中的另一个原因是哈希率下降。当网络没有足够的物理计算能力来执行大量未决交易时,我们称哈希率下降。

如何从内存池释放您的交易

当您的交易停留在内存池中时,您有几个选择。第一个选择是取消交易。在这种情况下,您将需要支付另一笔交易费用。例如,您可以使用相同的nonce重新发送交易。

其次,您可以选择通过将您的Ledger连接到MetaMask或Electrum等第三方钱包来加快交易速度。然而,您将需要支付更多费用。

第三个选择是再等一会儿,让交易顺利完成。这样做可以等待网络流量减少,从而使您的交易无需额外费用地完成。

比特币中的内存池

发送到比特币网络的交易并不会立即添加到区块链中。它们首先进入内存池。过去,这类交易只需要以每字节的聪的费用来衡量。

然而,在SegWit升级之后,这种情况发生了变化,使得交易可以以权重单位衡量。好处是segwit功能允许比以前更多的数据添加到一个区块中。具体来说,每个区块有2MB的数据,尽管它可以增加到4MB。

以太坊内存池

最初,以太坊网络在验证之前需要将交易加入内存池中。然而,当区块链从工作量证明共识机制转移到权益证明机制时,引入了区块生成者的概念。

基本上,区块构建者是将交易编译成优化的交易捆绑,形成一个块的第三方参与者。在这种情况下,第三方实体将某些交易从内存池中编译或重新排序成捆绑。然后,他们将交易捆绑提供给验证者,以便将其包含到块中。第三方实体会因完成这些任务而获得奖励。

结论

总之,内存池是区块链节点在交易被验证之前临时存储交易的空间。在以太坊中,交易在内存池中停留的时间取决于诸多因素,比如网络拥堵和燃气费。比特币和以太坊区块链都使用交易池。

有关内存池的常见问题解答

什么是内存池?

内存池是指待处理交易在被加入区块之前等待的空间。一旦交易被验证,它就会被加入区块,而这个区块存在于区块链上。

在内存池中会发生什么?

当一些交易在内存池中时,一些验证者或矿工会选择它们并将其添加到区块中。然而,如果网络拥塞,一些交易可能会在队列中等待或挂起很长时间。

BTC内存池是什么?

BTC内存池是Bitcoin网络上处理的交易的等待区。通常,每个比特币区块链节点都有自己的内存池。

以太坊中的内存池是什么?

以太坊中的内存池是存储交易的空间,这些交易在确认之前存储在以太坊节点上。这些交易确认之前的时间取决于以太坊网络在某个时期内的流量。


作者:Mashell C., Gate.io研究员
本文仅代表研究人员的观点,不构成任何投资建议。
Gate.io保留本文的所有权利。在引用Gate.io的前提下,转载文章将被允许。在所有情况下,由于侵犯版权而采取法律行动。


分享一下
目录
gate logo
Gate
即刻交易
加入 Gate 赢取奖励