比特币虚拟重量单位(WU)是什么?如何影响存储容量?

小编:迷魂冰 更新时间:2026-01-17 14:31

见证隔离(SegWit)升级后,比特币确实改变了计算区块“大小”的单位,从原来的“直接用字节数”改成了用虚拟重量单位(Weight Units,简称WU)来限重,见证隔离的区块,老数据(主体)1字节算4 WU,而新字段(签名/witness)1字节算1 WU,这个WU大小不是真实硬盘的大小吗?

比特币虚拟重量单位(WU)是什么?如何影响存储容量?

真实硬盘/网络大小, 区块限制的“虚拟大小”

先区分两个概念!

真实大小(磁盘存储、网络传输大小):升级前后几乎没变,甚至略大一点,签名数据只是从交易主体里“挪”到末尾witness字段,加了一个2字节flag(0001)标记这是SegWit交易。

故而总字节数还是差不多(甚至多几字节到几十字节),硬盘上存的、网线上传的,还是原来的大小。

区块限制的“虚拟大小”(WU):这是新规则,只用来决定“这个区块还能不能再塞交易”,和硬盘大小没直接关系。

升级前:区块限重1 MB(1,000,000字节),全按真实字节算。

升级后:区块限重4,000,000 WU,这个WU是人为设计的“虚拟重量”,专门给签名打折用的。

凭什么主体1字节=4 WU,签名1字节=1 WU?

这个“4倍差价”不是随便拍脑袋定的,而是社区经过无数次讨论、模拟、博弈后达成的共识。

主要有3个原因

原因1:历史兼容(最重要)

老节点(没升级的Bitcoin Core v0.13.0及以下)仍然只看到“去掉签名后的主体数据”,它们觉得区块还是1 MB,不会拒绝新交易。

如果主体也打折,老节点会以为区块超1 MB,拒绝整个块,导致网络分裂,故而主体必须保持“原价”4 WU/字节,让老节点看到的大小不超过1 MB。

原因2:签名对网络的真实负担低

签名只验证一次就丢了,不长期占存储(不像UTXO余额要永久存),签名不改状态(不影响UTXO集合大小)。

主体数据(输入输出)永久影响状态,存储和验证成本高,俗话就是签名“贵不起来”,社区决定让它只算1/4重量,鼓励大家用SegWit(签名便宜,交易费低)。

原因3:平衡激励

如果折扣更高(如1/5、1/6),签名几乎免费,矿工可能塞一堆签名垃圾,挤占真正有价值的交易。

4倍是经验值:够大(省空间明显),又不破坏激励(签名还是有成本),这个4倍是BIP141(SegWit提案)里写死的,社区投票通过的,算是“一种妥协+技术平衡”的结果。

真实大小没变,为什么还能多塞交易?

因为区块上限从“1 MB真实字节”改成了“4M WU虚拟重量”。

一笔典型SegWit转账

真实大小:主体250字节+ witness 200字节+ flag几字节 ≈ 460字节(硬盘上就是460字节)。

WU计算

主体250 × 4 = 1000 WU

witness 200 × 1 = 200 WU

新规则下总1200 WU,老规则下450字节 ≈ 1800 WU,省了33%重量,同一个4M WU区块能多装33%这种交易。

硬盘大小还是460字节,但“重量账本”里它只占1200 WU,相当于“便宜了”。

简单的例子

区块是飞机货舱,限重4000吨(4M WU)。

1、升级前:衣服(主体)100kg +鞋子(签名)100kg = 200kg,能装20,000箱。

2、升级后:鞋子挪到“经济舱”,只算25kg(1/4重),衣服还是100kg,总重125kg,能装32,000箱。

3、飞机真实载重:还是200kg/箱(硬盘大小没变)。

4、但限重规则改了:鞋子便宜了,故而能带更多箱(更多交易)。

数据没丢,鞋子还在飞机上,只是算重时打折。

SegWit后的关键点

凭什么:签名负担小+必须兼容老节点+平衡激励,故而签名1字节只算1 WU,主体保持4 WU。

真实硬盘大小:几乎没变(甚至略增)。

省的是虚拟重量:让签名在“重量账本”上更便宜,区块能装更多交易。

免责声明:本文所有内容及观点仅供参考,不构成投资建议,不代表本站观点和立场。投资者应自行决策与交易,对投资者交易形成的直接或间接损失,作者及本站将不承担任何责任!