区块确认数要几个才算安全:比特币、以太坊、波场、Solana 的最终性差在哪
确认数没有通用常数。比特币常被引用的是 6 个确认,那是一条概率线;以太坊有写在协议里的敲定状态;波场看块有没有转为不可逆,Solana 看状态到没到 Finalized。转之前先去对方的充值页,看那行确认数要求写的是多少——它才是你要等的那个数。
「几个确认才安全」没有一个通用的数。各平台要求的确认数不同,以充值页显示为准。
四条链的判据也不是同一种方法得出来的。比特币常被引用的是 6 个确认,那是一条概率线;以太坊上有从工作量证明时代沿用下来的数块习惯,而它如今自己有一个写在协议里的敲定状态;波场和 Solana 各有各的判据,其中 Solana 给的甚至不是一个数字。
先把边界划清楚:这些是协议特性与行业惯例,不是任何一家交易所的入账规则。收款方要几个确认才给你记账,写在它自己的充值页上,有的比这松,有的严得多。
I写进块了为什么还要再等
一笔交易被打包进块,只说明有人把它写进了自己那一版账本,并且把这一版发给了邻居。这句话里没有「永远」。
同一个时间点上,网络里可能不止一个合法的新块。两个节点几乎同时产出各自的块,各自的邻居先收到哪一个,就先跟着哪一个,链于是短暂分成两支。接下来靠规则收敛:节点按共识规则挑出胜出的那一支,落败那一支上的块被丢弃,里面的交易退回待打包状态。这个过程叫重组(reorg)。
对收款的人来说,后果是那笔已经「看到」的转账可能凭空消失。要是发送方在胜出的那一支上广播了一笔花掉同一批资金的交易,你等的那笔就再也回不来了。双花攻击就是照着这条缝设计的。
确认数说的就是这件事:你那笔交易所在的块后面,又叠上了几个块。叠得越多,想造出一条能取而代之的链,要重做的工作就越多。中本聪那篇白皮书的最后一节,算的正是攻击者从落后状态追上来的概率随确认数怎么衰减。
短暂分叉引起的重组会按上面的规则自己收敛,你甚至不会察觉。确认数要防的是另一种:有人真的花钱去制造出来的那种。
II概率和状态:两种「算数了」
工作量证明这条路上,没有哪一刻会宣布「这笔永远算数」。概率随着确认数不断逼近确定,但到不了。所以比特币的 6 是一条约定俗成的线,不是协议里写着的开关——协议本身没有这个开关。
权益证明换了个思路:给出明确的状态。以太坊把时间切成 slot 和 epoch,一个 slot 十二秒,一个 epoch 三十二个 slot。验证者对检查点投票,一对检查点拿到三分之二以上质押量的票之后,较近的那个升为「已论证」,较早的那个升为「已敲定」。
敲定之后要再改,代价是明码标价的。ethereum.org 的表述是,一笔交易在分布式网络里具有最终性,指的是它所在的块除非有大量 ETH 被销毁否则改不了;推翻一个已敲定的块,需要至少三分之一的质押总量遭到罚没级别的处理——权益证明那份文档把这套机制写得比较完整,块结构那一侧则在区块文档里。
时间可以自己算:一个 epoch 是 32 乘 12 秒,约六分半;敲定要跨两个 epoch,所以一笔交易从上链到进入敲定状态,大致在十几分钟这个量级。这两个常数是公开的,谁拿去都能算出同一个结果。
那为什么还有地方在数块?数块是工作量证明时代留下来的习惯,有的系统一直沿用。于是同一条链上并存两套判据:一套数块,一套看敲定状态。用哪一套,是各家自己的选择。
III四条链的判据,各自从哪来
把四条并排放,成因那一列最值得看。
| 链 | 看什么 | 这个判据从哪来 | 大致要等多久 |
|---|---|---|---|
| 比特币 | 数确认,常被引用的是 6 个 | 工作量证明下的概率线,出块间隔按设计约十分钟 | 六个块大致一小时上下 |
| 以太坊 | 敲定状态;也有收款方沿用数块 | 协议自身的判据是跨两个 epoch 的敲定;数块的习惯沿用自工作量证明时代 | 敲定十几分钟 |
| 波场 | 块有没有转为不可逆 | 代表制共识,块被足够多的出块节点接续之后转为不可逆 | 看浏览器上显示的状态 |
| Solana | 状态到没到 Finalized | 判据是状态标签,不是一个数字 | 看浏览器上的状态标签 |
各条链该去哪个浏览器查,站里提币到账追踪看板附了入口。上面这些是协议特性与行业惯例,收款方的入账线由收款方自己定,而且随时会调——转之前以对方充值页上写的那个数为准。
为什么各家要求差这么多
因为承担损失的是收款方,这条线由它自己定。同一条链上各家取值可以不同,都不算错。
所以「几个确认才安全」这个问题,实际有两个答案:协议层面的答案是上面那张表,操作层面的答案写在对方充值页上那行小字里。转之前看一眼那行字,比背下惯例值有用。
浏览器上这一栏长什么样
叫法不统一。有的写 Confirmations,有的写 Block Confirmations,有的干脆只给一个区块高度让你自己减。Solana 那边给的不是数字,是 Processed、Confirmed、Finalized 这样的状态标签,第一次看的人常以为页面没加载完,其实它就是这么显示的。
值得真去盯确认数的时候有两种:金额大到你没法一笑了之,或者第一次往一个新地址转。其余时候按对方页面写的等就行——自己另设一个更严的标准,也不会让它早一秒入账,只是多刷几次页面。
钱迟迟不到、又想知道它卡在哪一段,那是另一件事:提币没到账该去哪一步查讲的是找到 TXID 之后怎么定位;这一篇只回答「到底几个确认才算数」。选链那一侧的差别,ERC20、TRC20、BEP20 怎么选里按手续费和到账节奏排过。
确认数是全网一块一块叠出来的,谁也没法替你拨快,交易所同样办不到。所以只要有人私下找上来,说花点钱就能「催一催」「把币弄回来」,不用分辨话术真假,按骗局处理就是了。开场无非三种:先收一笔加急费,开口讨助记词、私钥,再不然让你装个软件把屏幕交出去。你那笔停在第几个块,浏览器上谁都查得到,对方说得出细节,只说明他也会看浏览器。本站不经手资金,也不代查任何一笔转账。
IV幕间答疑
确认数越多越安全,那多等一些是不是总没错?
安全性确实是单调上升的,但收益递减得很快,而时间成本是线性的。多等几个块在数学上把风险又压低一点,实际收益远不如前几个确认那么明显。更要紧的是,等多久往往轮不到你决定:收款方按它自己的规则计数,你在浏览器上看到再多确认,它没到线就是不入账。
同一个币种,为什么各家收款方要求的确认数不一样?
因为承担损失的是它。确认数是收款方给自己定的风险线。同一条链上各家取值可以不同,都不算错。你能做的是在转之前去对方的充值页看一眼那行字。
以太坊已经有敲定状态了,为什么还有地方在数确认数?
数块的习惯是工作量证明时代留下来的,有的系统沿用至今。转到权益证明之后,协议自身有了更明确的判据:检查点被敲定之后,要推翻它需要极大规模的质押被罚没。两套判据并存,用哪一套是各家自己的选择。
- 写进块只是暂时结论,短暂分叉与重组会让交易退回待打包状态。
- 确认数衡量的是推翻它要重做多少工作。
- 工作量证明只有概率,不存在「永远算数」那一刻;权益证明有明确的敲定状态。
- 以太坊一个 slot 十二秒、一个 epoch 三十二个 slot,敲定跨两个 epoch,十几分钟量级,自己就能算。
- 比特币的 6 个确认、以太坊的敲定状态,说的是协议特性与行业惯例,不是任何一家交易所的入账规则。
- 收款方的确认数按它自己的风险线定,转之前看它充值页上那行字。