查看原文
其他

比特币史话·77 | 有容乃大(1): 7 TPS

刘教链 刘教链 2023-01-30

(约纳坦·索姆波林斯基和阿维夫。图片来源于网络)
前情回顾:
比特币史话·72 | 智能合约(7): 多重签名
比特币史话·73 | 智能合约(8): 从人到神
比特币史话·74 | 分道扬镳(1): 三种分叉
比特币史话·75 | 分道扬镳(2): 脑裂
比特币史话·76 | 分道扬镳(3): 分叉战争

正文:

海纳百川,有容乃大;壁立千仞,无欲则刚。以此观比特币,无需许可的特性让全球每一个人平等参与,可谓“海纳百川”,剑指永不超发的价值存储货币和保值增值的数字资产,此为“壁立千仞”,去中心化网络消散了中心点的控制权力和利益诉求,这是“无欲则刚”,这几点都是具有普遍共识的。然而唯有关于比特币的容量问题,充斥着绵延不绝的争论和挑战。

关于比特币的所谓容量问题,事实上应该分为多个层次去认真分析和对待。但是被宣传最多的,也因此而被多数人所知的,还是所谓区块容量,也就是区块大小的问题。

这并不是偶然所致。而是这个问题,最为浑水摸鱼者所喜爱。用一套混淆概念的算法,来指出比特币的劣势,进而话锋一转,宣扬自己所鼓吹的项目有着多大的TPS (Transaction Per Second,每秒交易数)。

一种流行的说法就是比特币的TPS只有7,也就是每秒钟只能处理7笔交易。当然这是指2017年扩容之前的比特币区块链系统。这个数字是怎么计算得出的呢?

中本聪通过参数把比特币区块链的一个区块的大小限制在了1M字节。平均每笔交易的大小是250字节。比特币系统每10分钟,也就是600秒,生成一个新的区块。1024乘1024除以250再除以600约等于7笔交易/秒。

当采用了“隔离见证”技术之后,区块大小虽然还是1M字节,但是容量却扩大了。其原理是,“隔离见证”技术把原本250字节的比特币交易拆分成“见证”部分的数据,也就是签名数据,约150字节,以及剩余部分数据约100字节两个部分。然后将“见证”部分数据“隔离”出去,仅在区块中保存剩下的100字节数据。这样,1M字节的区块就可以容纳大约1万笔交易,TPS提升了2.5倍,并有效降低了交易费用。同时,隔离见证技术还有效解决了所谓“交易可锻性”(transaction malleability)的问题,也就是可以通过篡改交易签名就会更改作为交易ID的哈希值的问题。通过把“见证”数据从交易中隔离出去,有效杜绝了通过篡改“见证”数据实现对于交易的篡改。

首先一个问题是,区块大小、区块间隔时间这些参数是否可以随意调整?答案显然是不可以。早在2013年,以色列耶路撒冷希伯来大学工程与计算机科学学院博士研究生约纳坦·索姆波林斯基(Yonatan Sompolinsky)和教授阿维夫(Aviv Zohar)在论文《安全的比特币高速交易处理》(Secure High-Rate Transaction Processing in Bitcoin)中就已经指出,比特币系统的吞吐量,也就是TPS,受到区块大小和区块间隔时间两个因素的双重影响。区块大小越大,TPS越高。区块间隔时间越短,TPS越高。但是,区块大小越大,区块间隔时间越短,受制于全球互联网的速度,新区块在网络上充分传播的机会就越低,从而导致未及时收到新区块的节点就会浪费算力计算分叉链。算力浪费和分叉链算力的增加会增加区块链分叉的风险,从而降低系统的安全性。

研究数据表明,区块在网络上传播和扩散到一定广度所需的时间与区块大小呈现线性正相关。区块越大,扩散速度越慢,所需时间越久。

那么这两个参数的限制边界在哪里呢?2016年,美国康奈尔大学计算机系硕士研究生凯尔·克罗曼(Kyle Croman)等人联合发表了名为《关于扩展去中心化的区块链》(On Scaling Decentralized Blockchains)的论文。在这篇论文中,作者给出了定量的数据测算:为确保至少90%的节点具有足够的吞吐能力,区块大小最大不宜超过4MB(如果保持10分钟区块间隔),区块间隔最低不应小于12秒。

【未完待续】(公众号:刘教链)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存