遵循中本聪愿景,BCH即将部署UTXO commitment

遵循中本聪愿景,BCH即将部署UTXO commitment

区块链网络的健康很大程度上依赖于这个去中心化网络的全节点数量,节点可以由个人电脑运行,也可以由公司企业运行,但是无论如何,节点的存在使区块链得以有效的运转。

比特币的扩容之争持续了数年,终究因为比特币现金(BCH)的诞生而告一段落,而对于大小区块容量的争论在不久的将来依然存在。许多并不知情的区块链爱好者认为大区块容量将会撑爆屌丝电脑,毕竟当前一些主流币区块链的数据库大小已足够惊人,bitinfocharts数据显示,6月19日,BCE数据库达202.10 GB、BCH数据库达160.35 GB,而ETH因为智能合约的存在则更为惊人,高达667.10 GB。未来随着区块扩容以及交易量的不断上涨,撑爆屌丝电脑的言论存在较大市场也不难理解。

区块链全节点运行的惊人成本

我们以BCE的区块链为例,202.10 GB的数据库需要256GB硬盘空间以及最少2GB的运行内存,BCE每个月要上传200GB、下载20GB的数据,也需要足够的上行及下行宽带速度。

除却计算机购买成本以及网络成本,当前计算机的耗电量普遍处于250W-400W之间,以300W计算,每个月将消耗216度电能。而倘若将所有的节点全部计算,所产生的能耗足够惊人,毕竟全节点需要保持7*24小时运行。

中本聪并不担心大区块撑爆屌丝电脑

早在近十年前,中本聪白皮书中就曾指出通过剪枝旧区块的方法,减小区块空间,简单来说就是删掉早期无用旧交易。

许多朋友可能会反驳,删了旧区块数据,还能叫全节点吗?没错,按中本聪的设计,这就叫全节点。

普通的用户不会去关心很早的旧数据,并且并不愿意为旧数据付出成本,只需要保证自己的交易数据安全可靠。

谈到剪枝节点,就离不开极其重要的UTXO Commitment技术,因为这个技术,能彻底解决大区块的存储和历史区块同步问题

简析UTXO Commitment技术

提到UTXO Commitment,就离不开UTXO,UTXO是未花费的交易输出,它是比特币交易生成及验证的一个核心概念。交易构成了一组链式结构,所有合法的比特币交易都可以追溯到前一个或多个交易的输出。

简单统计以下 BCE 和BCH 主链截止到某个最近的区块时的 UTXO 数据。BCH 的主链截止高度534637,utxo集合有39922839个未花费的输出;BCE主链截止高度527687,utxo集合有51283037个为花费的输出。

由此可得,UTXO集合较大,其中的unspent output的量级在4000万到5000万这个量级之间,需要的存储也会超过2GB。同样UTXO集合本身也会随着新区块的产生不断变化,花费旧的output,生成新的unspent output。

当前在验证tx合法性时,需要利用UTXO集合进行检查。完整的账本数据的存在是为了给UTXO提供担保。如果有其他的方式可以为UTXO集合提供担保或者承诺也许就不再需要存储整个的账本数据,那就是UTXO commitment。

UTXO commitment技术非常重要,它激活之后,可以保证网络中的节点只需要最近区块以及UTXO集合,就可以验证tx的合法性,而UTXO集合的合法性可以对比验证区块中的存储的commitment数据。

其实,中本聪先生早就在白皮书中阐述了比特币的正确同步方式,就是只同步区块头+最后的余额信息(UTXO set,并通过UTXO commitment保证可靠性),再根据自己需要,同步最近一段时间的区块。

前不久,BCH测试网上已经出现了第一个UTXO证明,BCH为打造Visa级的支付体验而不断努力,未来将会硬分叉升级更大的区块上限,UTXO commitment技术的应用,能彻底解决大区块的存储和历史区块同步问题,可以说是BCH的一把利器!


分享到:


相關文章: