比特币区块大小为何有时能突破1M的上限?
2021-04-01 16:10:17
前一段时间被爆出,比特币平均区块大小为1.3M,创下历史新高。
我们不是经常说“比特币区块大小上限是1M”吗?为何会出现超过1M的区块呢?今天,我们就来看看这究竟是怎么回事。
01区块构造
说到区块大小,我们要先了解一下区块构造。白话区块链在《3分钟搞懂比特币挖矿》一文提到:区块主要由区块头和区块体构成。
区块头大小固定为80字节,包含6个部分:
1、版本号2、父区块头哈希值3、默克尔树根哈希值4、难度目标5、时间戳6、随机数
区块体包含的是该区块打包的所有交易相关的信息。一开始被打包进区块内的交易相关信息包括:交易信息和数字签名信息。
其中,交易信息主要包含:交易发起时间、交易付款人和收款人、交易金额等;数字签名就是交易付款人需要用私钥对交易签名,以证明转出的是自己的资产。
作为交易相关信息,交易信息和数字签名都会被打包到区块体内。后来,这种情况发生了改变。
02隔离见证
随着比特币被越来越多的人使用,比特币网络的拥堵情况也越来越严重。为了缓解链上的拥堵,比特币在2017年8月24日实施了隔离见证方案。隔离见证,简单来说就是将数字签名信息和交易信息隔离。只将交易信息打包进区块,而隔离见证信息则放到了扩充区块内(Extended Block)。采用隔离见证后,每笔交易打包进区块的数据就变小了,在区块容量不变的情况下,每个区块能装下的交易笔数就更多,从而缓解了比特币网络的拥堵。
打一个的比方:
区块就像一辆大巴车,座位有限。在隔离见证之前,乘客上车带着行李,行李占部分座位,一辆40座的车,可能只坐了20多人,其他位置被行李占了;隔离见证后,行李统一安排放在行李仓里,不占用座位,这样大巴车就能坐下更多的人了。
我们用两张示意图来对比一下隔离见证前后的差异:
▲隔离见证之前
▲隔离见证之后
隔离见证之后,单个区块的处理能力是之前的1.7倍左右,相当于将比特币区块“扩容”了1.7倍。
03区块大小为何超过1M
通过上文的介绍,我们知道,通过隔离见证,区块体内只打包了交易数据,而将交易签名的数据移到了扩充区块内。
因为有的区块链网站在计算区块大小时,加上了签名信息,所以区块大小会超过1M。每个比特币区块(含区块头和区块体),其大小上限还是1M。
04总结
随着比特币链上交易量的增加,链上拥堵越发严重。隔离见证方案实施的目的之一,便是缓解链上交易拥堵。
签名信息被打包进区块之外的扩展区块内,这样1M大小的区块就能装下更多的交易。有的区块链网站在计算区块大小时,加上了签名信息,所以会显示区块大小超过1M。实际上,区块头和区块体大小不会超过1M。