通往百万TPS之路(四)——区块链分级、分层、分片设计

4是金额value

其中txid是16进制表达,即使用0到F来表达,如果将首字符来分类,0归一类,1归一类……F归一类,就可以分为16类。如果使用首两个字符来分类,00一类,01一类……FF一类,那就可以分为256类……如果使用4个字符呢?16^4类。

我们将上述的一类称为一个片,这就是分片。分片后,将一类分给一台电脑去处理,另一类分给另一台去处理……,256片就可以分成256台电脑来处理。

而UTXO的txid就是交易的txid,则打包交易的区块,也可以按这种分类来打包,比如分成256片,则同一区块里,可以设成256个分区,一个分区打包一个片。

也就是说,UTXO、交易、和区块都可以按同样的规则分片。

这样比特币全网就可以实现节点可选择处理哪一个分片,比如我运行一个节点,我只收、验证和广播特定分片的UTXO、交易和区块。

这样就实现了比特币网络的并行扩展。

但这种分片还是很复杂的,我上面讲的只是基本的原理,要完成设计是非常复杂的。比如一个UTXO去花费两次,是可以实现不同的txid,然后发到不同的分片,如果分片之间没有机制来通信,则可能会双花成功,但如果分片之间还要为这种攻击大量通信,则还不如不分片呢。

但如果实现了分片,那比特币网络则是可以实现无限扩展,什么百万TPS,都不在话下,什么1M、8M、32M根本就不是事,至少1G区块。因为一台电脑处理不了,可以搞16^n台来处理好了,一个人买不起16^n台电脑(中心化)的话,那就找16^n个人每人买一台好了。

以太坊的分片更复杂,我暂时讲不明白。

BCH的开发正在全力开发UTXO分片,我也在努力学习这些知识,以求能贡献一点知识。

第4章 结束语

比特现金BCH迟早实现1G以上的区块,为5亿人服务。


分享到:


相關文章: