很多人一直困惑:既然中本聪在比特币源码里把区块上限死死焊在 1MB,为什么 2017 年隔离见证(SegWit)激活后,链上经常能打包出 2MB 甚至 3M… · @fishjar · TwKit
@fishjar
很多人一直困惑:既然中本聪在比特币源码里把区块上限死死焊在 1MB,为什么 2017 年隔离见证(SegWit)激活后,链上经常能打包出 2MB 甚至 3MB 的大区块,全网却没有发生硬分叉? 核心的代码魔术在于对交易体积的“降维会计法”。 在传统的比特币交易里,数字签名(Witness)占用了整整 65% 的字节空间。 BIP141 隔离见证做了一件事:把解锁签名从交易核心体里剥离出来,存放在一个平行的见证树里。 对于没有升级的老节点,它们看到的交易体仍然小于 1MB,老代码把剥离后的脚本视为任何人都能花费的空指令,顺利放行,确保了绝对向后兼容。 而对于升级后的新节点,共识规则引入了一个全新的计量单位:Weight Units(权重)。 非见证数据权重为 4,而移到见证树里的签名数据权重只有 1。 签名占用的物理字节一个没少,但在共识账本的统计口径上直接打了一折。 保护这套体系的不是物理扩容,而是在数学上把签名验证与交易存在性彻底解耦。
曝光 343 · 评论 0 · 点赞 2 · 书签 0
查看原帖