为什么说区块链从1MB到2GB的扩容并没有那么必要
2020-05-25
来源:21ic中国电子网
2019 年 7 月 24 日,Bitcoin SV 进行了协议升级,区块上限调整为 2 GB。在压力测试中,先后生成了 180 MB 和 210 MB 大小的区块。而在升级过程中,Bitcoin SV 无风险事件发生,也创下了当前区块链最大区块的记录。
回顾从 Bitcoin 到 Bitcoin Cash 再到 Bitcoin SV 的“大区块”之路,结合三者的日均链上交易次数来看,从 1 MB 到 2 GB 的扩容似乎并没有那么必要。
一。 Bitcoin 的硬分叉往事
自从 2009 年 1 月 Bitcoin 的创世区块诞生以来,Bitcoin 便一直维持着单个区块上限 1 MB 的规格。而在 Bitcoin 网络早期,交易数量较少,区块的实际大小也远小于 1 MB 的上限,但当时已经有人发现了潜在的隐患,即在维持区块间隔为 10 分钟的前提下,Bitcoin 的最大 TPS 仅为 7(每秒处理 7 笔交易),远不能满足实际需要。这一隐患随着 Bitcoin 网络中地址数量的增加而愈加明显,矿工费的增加、交易确认的缓慢迫使开发者和矿工共同找寻可能的扩容方式。
Bitcoin Core 团队提出了隔离见证、闪电网络等方案,而以吴忌寒为首的部分矿工更支持大区块的扩容方式,开发者与矿工之间的扩容方案之争愈演愈烈,最终在 2016 年形成了香港共识——“主要部署隔离见证和闪电网络,同时区块扩大至 2 MB”。但香港共识和 2017 年的纽约共识却先后破裂,最终导致了 2017 年 8 月 1 日 Bitcoin 的硬分叉,产生了区块上限为 8 MB 的“太子”——Bitcoin Cash(BCH)。在 2018 年 5 月,Bitcoin Cash 进行了系统升级,区块上限被提到 32 MB。
到 2018 年年末,因为对 Bitcoin Cash 的升级内容不满,以“澳本聪” Craig Wright 为代表的 Bitcoin SV 团队宣称要恢复部分中本聪设定的操作码,并于 11 月 15 日进行了硬分叉,诞生的 Bitcoin SV 区块上限为 128 MB,随后又在 2019 年 7 月升级为 2 GB。
二。 BTC、BCH、BSV 的现状
时至今日,连 Bitcoin SV 的系统都已经运行了近一年,而选择了不同扩容方式、不同区块上限的 BTC、BCH、BSV 也在生态上产生了巨大的差异。
从目前来看,BCH 和 BSV 的大区块所带来的好处,仅仅是手续费的降低和理论上的高 TPS。但要实现理论上的 TPS 需要构建项目生态,而单从 ATM 机的部署来看,Bitcoin 无疑是三个项目中生态最为完善的一方。
从区块的使用与节点数量看,Bitcoin 虽然区块上限最小,但作为区块链的开端和数字货币的价值尺度,其网络上的在线全节点数量依旧维持在 9000 之上,近 24 H 链上交易次数约为 28.1 万次;而 Bitcoin Cash 在线全节点数只有 1400 左右,为 Bitcoin 网络的 1/6,近 24 H 链上交易量约为 4.2 万次,约为 Bitcoin 网络的 1/7;Bitcoin SV 的在线全节点数只有 500 左右,为 Bitcoin 网络的 1/16,近 24H 链上交易量约为 12.1 万次,约为 Bitcoin 网络的 1/2。
从防范 51% 算力攻击的网络安全层面上看,Bitcoin 的算力维持在 80 EHash/s 左右,Bitcoin Cash 的算力维持在 2 EHash/s 左右,约为 Bitcoin 网络的 1/40;Bitcoin SV 的算力维持在 1 EHash/s 左右,约为 Bitcoin 网络的 1/80。
从当前区块的使用率来看,BTC 维持着 80% 左右的区块使用率,而被称作区块链 2.0 的 ETH,其区块的 Gas Limit 使用率也在 80% 上下。而 BCH 和 BSV 大都不足 1%,在 BSV 区块上限扩容到 2 GB 后更是如此。
笔者认为,BSV 在项目生态不完善、链上转账数较少的情况下,将区块上限由 128 MB 扩大为 2 GB,既不必要也不合理。从必要性的角度看,扩容前区块上限已超额满足链上转账和交易的需求,交易手续费本来也就处于较低的水平。BSV 更需要做的是拓展链上生态与现实应用。
从最悲观的角度来看,当 BSV 被完全挖掘后,若其链上生态与现实应用依旧没有起色,那么低廉的矿工费和稀少的链上交易数将无法支撑全节点的挖矿成本,迫使部分全节点离开,导致网络算力进一步下降。这样一来,51% 算力攻击将变得更为简单,威胁 BSV 网络的安全性。
从较乐观的角度来看,若有交易所或项目方发起 BSV 相关活动,亦或是其他因素使得 BSV 链上交易数激增,那么 BSV 的区块上限就可以承载交易需求的增长,不过,这也意味着大区块出现的可能性会增大。在 BSV 的全节点数量较少、性能差异较大的情况下,大区块的同步就会很难,部分节点会卡在该区块上而导致离线,挖矿也会因同步时间的差异而出现不公平竞争,这对网络来说不是什么好事。正如 BSV 此次升级的压力测试就产生了 210 MB 的区块,导致众多节点因卡在区块上而掉线。
在笔者看来,BSV 的大区块上限与其他百万级 TPS 的区块链项目类似,在缺乏链上生态和实际应用的情况下,理论上的高 TPS 并不能掩盖惨淡的交易数和使用率。即使之后公链的跨链技术走向成熟,其链上活跃度非但不会因为链上生态的共享而增加,相反可能会因马太效应走向低迷。
综上所述,大区块能降低交易手续费,但若真的出现大区块,或许也能筛选掉一些性能没那么好的全节点,但在商业落地和生态构建还不完善的情况下,网络全节点数量减少会伤害网络的安全性。这么看来,BSV 的大区块其实并没有那么必要。