为什么我的交易卡住了?了解比特币内存池(Mempool)

如果您的比特币交易还没有被确认,那么它目前正停留在比特币内存池中,等待矿工将其添加到区块。阅读本指南,了解更多关于内存池的信息,以及如何让您的交易快速得到确认。

文章细节

主题

BTC生态

,

钱包功能

,

作者

Su Xu

发布日期

June 26, 2024

比特币交易通常需要一些时间来确认。但是,有时您的交易可能会 "卡住",需要更长的时间。在这种情况下,您的交易就会进入比特币内存池,等待矿工将其添加到区块中。  

在本指南中,您将了解什么是内存池,它在比特币交易中扮演什么角色,以及如何加快您的比特币交易。

比特币交易是如何进行的?

在了解什么是 mempool 之前,我们先来看看比特币交易的内部运作模式。

所有链上比特币交易都记录在比特币区块链上。以下是比特币交易从开始到完成的四个关键阶段:

创建交易

在发送 BTC 之前,必须在钱包上创建一个交易。一个有效的交易由多个要素组成,包括

  • 付款人地址
  • 收款人地址
  • 要发送的比特币金额
  • 您愿意支付给矿工的交易费

数字签名

为了证明比特币的所有权,您必须使用私钥对交易进行签名。这个密钥也叫数字签名。对私钥保密是很重要的,因为任何人只要能接触到私钥,就能接触到你钱包里的资金。

广播与审批

交易签署成功后,会广播到比特币网络,由一个节点接收。该节点验证交易的有效性,并将其添加到自己的内存池中。然后,该节点将交易转发给网络中的同级节点,同级节点也将交易添加到自己的内存池中。

比特币矿工从内存池中提取交易,并将其添加到下一个区块中。然后,矿工将新区块广播给网络中的其他节点,这些节点接受并批准交易。

交易最终完成

在比特币上创建一个新区块后,网络中的每个节点都会将新区块添加到自己的区块链副本中。新区块中的交易被标记为已确认,并从全网所有其他内存池中删除。不过,按照标准协议,在交易被视为最终交易之前,至少要等待六个区块的确认。这种预防措施可以防止在区块链临时分叉的情况下,交易被用户逆转或重复花费。

链上比特币交易过程保证了交易的真实性、安全性和不可更改性。

什么是比特币内存池(Mempool)?

比特币每天有数百万用户。因此,需要一种方法来组织所有这些交易。这就是比特币内存池的作用。

在比特币网络上进行的交易不会立即添加到区块链上。相反,它们会被收集起来,储存在一个叫做内存池的临时等待区中。

比特币网络中的每个完整节点都有自己的内存池,存储着经过检查并认为真实的交易列表。简而言之,所有比特币交易在永久记录到链上之前,都先以 "未确认 "交易的形式存在于内存池中。

比特币内存池功能是在 Jeff Garzik 提出的 BIP 35(比特币改进提案 35)获得批准后添加到比特币网络中的。

比特币内存池如何工作? 

当一个比特币节点从网络中的另一个节点接收到一笔交易时,就开始将该交易添加到内存池中。然而,在交易被添加到比特币的mempool之前,它必须通过一些测试,以确保它是正确和真实的。

首先,节点会检查交易的语句,确保输入和输出值不是空的。除其他测试外,节点还会确定交易的大小没有超过最大区块大小。如果交易通过了所有验证检查,它就会被添加到内存池,并广播给其他连接的节点,重复同样的过程。

请注意,当内存池的大小接近存储上限时,费用低于预定阈值的交易将从内存池中剔除。这有助于防止 mempool 崩溃。当 mempool 崩溃时,它必须从零重新开始。

矿工验证一个新区块后,已批准区块上记录的所有交易都会从比特币网络中每个节点的内存池中移除。这就在每个节点的内存池中为新的交易创造了额外的空间,同时也在区块链上创建新区块之前同步了节点。

为什么我的比特币交易卡住了?

内存池的大小总是根据新交易的创建速度而变化。

当网络需求量大时,mempool 可能会因为许多未确认的交易而变得拥挤。这通常会导致更长的确认时间和更高的交易费用,使您的比特币交易花费比预期更长的时间。

交易费飙升通常是因为网络用户被迫支付更高的交易费,以争取被包含在一个区块中。

因此,你的比特币交易还没有被确认,因为你支付的交易费还不够高,矿工不会优先处理你的交易。通常情况下,这意味着你的交易会在内存池中停留一段时间,直到被矿工添加到区块中。

如果交易费过低,无法添加到任何区块中,您最终会收到试图发送的 BTC ,这样您就可以再次尝试支付更高的交易费。 

如何加速未确认的比特币交易

如果您的比特币交易在内存池中停留时间过长,您可以通过一些方法来加速您的比特币交易。Xverse支持RBF和CPFP。

费用替代(RBF)

你可以做的第一件事就是通过支付更高的费用来提高交易的优先级。费用越高的交易处理速度越快。这一功能被称为 "费用替换"(RBF)。

在选择 RBF 来加快交易速度时,请检查比特币内存池的状态,以确保您的新费用高于平均水平。

子为父偿 (CPFP)

或者,您也可以使用 "子为父偿"(CPFP)的方法。CPFP 是一种技术,用于加快确认因费用极低而卡在比特币内存池中的交易。

CPFP 是指创建一个挖矿费用较高的新交易(子交易),迫使卡在内存池中的前一个交易(父交易)获得批准。CPFP 的目的是激励矿工快速批准这两个交易。

请注意,CPFP 交易不同于 RBF 交易。在 CPFP 中,前一个交易不会失效。相反,两笔交易同时得到确认。第二笔交易只是激励矿工处理这两笔交易并收取相关费用。

比特币交易加速器

可以说,加快未确认比特币交易的最简单方法就是使用比特币交易加速器。免费交易加速器的例子包括 BitAccelerate 和 ViaBTC 的交易加速器。

要使用它们,您只需提交您的比特币交易 ID,以增加交易快速结算的机会。

要成功驾驭比特币生态系统,您需要一个能让您安全购买、存储、发送和接收比特币的比特币钱包。现在就下载 Xverse,使用最先进的比特币钱包管理您的数字货币。

常见问题

什么是内存池深度?

内存池深度(也称内存池权重)是指一个内存池中所有交易的总和,以字节或兆字节为单位的存储空间。内存池规模越大,表明比特币网络越拥挤。内存池的默认限制为 300MB,但节点操作员可以对其进行调整。

如何检查您的交易是否在内存池中?

要检查您的比特币交易是否在内存池中,请从钱包交易历史中复制您的交易 ID。然后,访问一个区块链浏览器网站,如 blockchain.com 或 bitcoinexplorer.org,并在搜索栏中粘贴您的交易 ID。

资源管理器将显示有关您的交易的信息,包括其当前状态。如果您的交易在内存池中,则会显示为未确认或待定。

如何处理被卡住的比特币交易?

如果您的交易被卡在比特币内存池中,您有几种选择。首先,您可以等待。只要有足够的时间(通常是 24 到 48 小时),如果矿工还没有将您的交易添加到任何新的区块中,您的交易就会被送回您的钱包。

为了加速交易,您可以使用 "费用替代"(RBF)支付更高的费用,或者使用 "子为父偿"(CPFP)方法,这种方法允许您创建一个新的交易,并支付更高的费用,以激励矿工批准这两个交易。另外,您还可以使用比特币交易加速器,通常由矿池提供,免费加速您的交易。

如何使用闪电网络避免比特币交易卡在内存池中?

如果您正在进行小额比特币支付,您可以考虑使用比特币闪电网络进行链外支付。

闪电网络(LN)是比特币的第二层解决方案,它使用点对点支付渠道来实现高速、低成本的比特币交易。LN 交易不在内存池中,需要矿工将其添加到区块中,然后才能进行交易。因此,闪电网络上的交易只需几秒钟即可完成,而成本仅为几分钱。

分享文章