钱包显示“待确认”,这笔钱到底卡在哪
发起一笔链上转账,区块浏览器上显示“Pending”或者钱包里一直转圈,收款方那头毫无动静——这种场景几乎每个用过链上转账的人都遇到过。有人等两分钟就到账,有人盯着一小时还没动静,差别不在运气,而在“交易确认”这套机制本身。这篇内容解决三个具体问题:确认到底在确认什么、不同链要等多久、多少个确认才算安全。

先给定义。交易确认指一笔交易被广播到区块链网络后,经过验证者或矿工打包进区块,并被后续区块不断叠加覆盖,最终达到不可回滚状态的全过程。它由两段链路拼成:第一段是入块,交易被塞进一个新区块;第二段是最终共识,这个区块被网络大多数参与者接受,并在此基础上继续延长链条。两段都走完,交易所、钱包或商家才愿意把这笔钱当作真的到账。
需要区分的是“交易已广播”“交易已入块”“交易已最终确认”这三种状态,很多人的困惑来自把它们混为一谈。广播只代表网络收到了这笔请求,入块代表它被写进了账本,最终确认才代表改写它的成本已经高到没人愿意尝试。
从广播到不可回滚:确认机制怎么运转
交易刚发出时会进入内存池(mempool),等待被打包。矿工或验证者从池子里挑交易,优先挑选手续费给得高的,把它们塞进候选区块。区块一旦被网络接受,这笔交易就获得了第 1 次确认。此后每产生一个新块、把旧块压在下面,确认数就加一。
确认数(Confirmation)是新手最容易绕晕的概念,规则其实就一句话:包含你交易的那个区块之后,又新增了几个区块,就是几次确认。1 次确认代表交易刚被写入最新区块,2 次确认代表后面又长出了一个新块,N 次确认代表后面叠了 N 个块。确认数越高,想用另一条链改写这笔交易就越难,因为攻击者必须把包含你交易的那个块连同后面所有块一起重算,并追平主链长度。
这正是双花攻击的防线所在。双花指同一笔资产被尝试支付给两个不同对象:攻击者先向商家付款、拿到商品,同时私下准备一条不含这笔付款的更长链,等自己那条链长度反超后广播出去,原交易就被“抹掉”了。防御手段就是等确认数足够多——每多一个确认,攻击者重写历史的算力成本和概率都会上升。
“6 个确认”这个数字来自比特币。比特币出块目标 10 分钟,6 个确认对应约 1 小时,是行业长期形成的经验阈值:在这个深度下,想要逆转交易需要掌握全网大多数算力,代价远超收益。但这不是写死在代码里的规则,而是交易所和商家在安全与体验之间反复权衡的结果。
不同链的出块时间与到账差异
确认快慢的根源是出块时间和共识机制。速度梯队大致如下:。秒级梯队里,Solana 区块时间约 400 毫秒,初步确认在几秒内,完整确认约十几秒;Avalanche C-Chain 约 1 秒出块,单块即可达到最终性;BNB Chain 约 3 秒出块,常规确认落在 15 到 30 秒区间;波场约 3 秒出块,到账通常在 10 到 20 秒;Polygon PoS 约 2.5 秒软确认,硬最终性约 5 秒。这一梯队的共同点是出块密、单块权重高,用户体验接近即时到账。
分钟级梯队以以太坊主网和 NEAR 为代表。以太坊主网约 12 秒一个块,1 个确认约 12 秒,但达到硬最终性需要约两个 Epoch,大约 13 分钟——这段窗口内交易理论上仍存在被重组的小概率。NEAR 约 1.1 秒出块,2 个块约 2.2 秒,但交易所通常要求 3 个确认才入账。
慢速梯队就是比特币主网。10 分钟出块是工作量证明机制刻意设定的节奏,难度会根据全网算力自动调整来维持这个目标。1 个确认约 10 分钟,6 个确认约 1 小时;网络拥堵时,手续费低的交易可能长时间排在内存池里,到账被推到数小时之后。比特币的“慢”换来的是极高的改写成本,这是设计取舍,不是缺陷。
值得注意的是,区块浏览器显示的“技术上完成确认”与交易所实际入账时间往往不一致。原因在于交易所会设定自己的最小确认数门槛,这个数字通常远高于链本身的最低要求。
为什么交易所要求的确认数比钱包多
同一笔 BTC,转到自己的钱包可能 1 个确认就显示余额,转到中心化交易所却要等 3 到 6 个确认才可用;部分平台对以太坊充值甚至要求几十个区块确认。差距来自风险承担方不同。自持钱包里,资产归你自己,确认少一点的风险由你承担。交易所则不同:它在你入账的瞬间就把等额资产记入你的账户、允许你交易或提走,如果原交易随后被回滚,交易所就成了实际损失方。确认数门槛越高,交易所需要承担的逆转风险就越低。
大额交易尤其如此。业内常见的经验是:小额转账(比如 1000 美元以内)1 个比特币区块确认就可以接受;金额越大,要求的确认数越多。反过来,小额、低风险的场景为了体验,可以适当放宽确认要求。具体到你手上的平台,入账规则可以在充值页面的币种说明里看到,通常会写明“需要 N 个网络确认”之类的提示。
普通用户需要记住的几点
一是判断到账看确认数,不看“已广播”。区块浏览器里输入交易哈希,能看到当前确认数和预计等待,Pending 说明还没入块,多半是手续费设低了或者网络拥堵。二是手续费决定入块优先级。同一时间内存池里堆积大量交易时,矿工会先挑手续费高的,手续费给得低的会被推迟,拥堵链上尤其明显。
三是确认数要求因场景而异,转账前可以在接收方平台的充值说明里查清楚它要求几个确认,再决定手续费给多少、预期等多久。链上数据本身公开可查,用交易哈希在对应链的浏览器里就能实时跟踪状态。