声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。
边肖:记得要集中注意力。
来源:一级仓库
BitMEX研究团队进行了35次初始块下载,以初始块下载时间为基准来测试比特币核心的性能。测试中使用了2012年至2019年的比特币软件版本。
在本次测试中,我们使用了2012年至2019年的比特币软件版本。结果表明,该软件在性能上取得了长足的进步,但也存在很大的差异。即使使用最新的计算机硬件,旧版比特币也很难克服2015年至2016年间交易量增加的障碍。因此,我们得出结论,如果不增强软件性能,今天的快速初始同步几乎是不可能的。
图1-比特币初始块下载时间(天)-3次尝试的平均时间
(来源:BitMEX Research,注:块高同步到602707)
总结
为了测试比特币核心在初始同步期间的性能,我们尝试了35次初始块下载,并记录了每次尝试所花费的时间。结果如图1所示,图中显示了在2016年2月推出比特币核心0.12.0时,由于签名验证从OpenSSL升级到libsecp256k1,比特币的速度得到了显著提升。(一流注:比特币核心软件版本0.12.0升级后,签名验证速度提升约7倍。)
ECP 256 K1是专为比特币打造的。从那以后,速度提高的速度慢了很多。由于初始块的下载时间差别很大,所以只有在多次尝试下载后才能看到明显的改善。但在比特币核心0.12.0版本发布后,0.13.0到0.19.0.1版本陆续发布,比特币核心各版本的性能也逐渐提升。
当然,初始块下载时间只是一个衡量标准,比特币核心的性能可以从其他角度和条件来评估。虽然初始块下载时间(IBD)不是衡量软件性能的最佳指标,但是它占用了大量资源,所以它是一个很好的指标,可以成为一个基准测试。
该报告延续了前两个实验:
2018年11月,詹姆森洛普(Jameson Lopp)尝试了类似的研究,但分析的重点是旧版比特币核心(或简称为“比特币”,因为一些更老的软件在“比特币核心”之前被命名为比特币)的独立实现。
Sjors Provoost在2017年7月也尝试过这个实验,但是Sjors的同步次数更少。
完整的测试结果和原始数据如下
图2-比特币初始区块的下载时间(天)
(来源:BitMEX Research)
(注:砌块高度与602,707同步)
系统规格和其他说明
的完整结果表
(来源:BitMEX Research)
结果分析
如图2所示,即使同样的软件,同样规格的电脑尝试下载初始块,报告的时间也相差很大。
图3-初始块下载时间和客户端发布日期(天)-3次尝试的平均时间
(来源:BitMEX Research)
(注:对于比特币0.8.6客户端,以上数据来自2次尝试的平均结果)
图3显示,除了比特币核心0.12.0性能较强,保持不变外,其他软件的性能都是随着版本逐渐提升的。然而,尽管图3中有明显的性能改善趋势,但每次尝试的初始块下载时间存在巨大差异,这可能表明性能改善存在相当大的不确定性。关于2016年以来业绩持续提升的结论,还需要更多样本数据来佐证。这种差异可能是因为比特币P2P网络或互联网的连接问题。因此,进一步研究的最佳方式可能是重新扫描速度,即下载后完全验证区块链所需的时间。
比特币核心0.12.0在上述分析中表现良好。可能是因为比特币核心0.12.0启用了libsecp256k,但没有验证隔离见证的交易输入签名。所以比特币核心0.12.0在2017年8月之后并没有验证区块链的所有签名,这就给了它某种“不公平优势”。
不过比特币核心0.13.0也有这个优势。当然,0.12.0之前的所有版本都有同样的“不公平”优势,与使用OpenSSL的劣势相比相形见绌。
将客户端与其发布日期同步。
图4说明了将客户机同步到其发布日期的块高度所需的时间。
图4-将初始块下载与客户端发布日期同步所需的时间(天)
(来源:BitMEX Research)
(注:Linux上运行的节点数据。比特币核心0.19.0.1只同步块高到602707)
从图中可以看出,从比特币核心0.8.6到比特币核心0.14.0的变化趋势相对平缓。此时的可扩展性并不跟随时间的推移和块高的增长速度,但也呈现上升趋势。近年来,软件更新换代的速度有所放缓。可能是所有容易实现的改进都实现了,剩下的很难实现。交易量的增加可能也是原因之一。未来提高可扩展性可能更具挑战性。即使维持400万的块高限制,并进一步升级软件,提高软件性能,初始块下载时间也会继续变长。
初始块下载失败。
我们成功编译运行了比特币0.8.6之前的版本,但是到了2015 -2016年,节点同步速度慢了。0.8.6之前版本的节点,如0.7.0的节点,在2013年通过手动更改锁限制成功完成了硬分叉。但2015年由于交易量增加,挑战性太大,节点暂停处理区块。我们重新启动了节点,这确实有所帮助,但很快节点又停止了。
后来,我们甚至在我们全新的本地计算机上运行了0.7.0版本的比特币核心(匹配64 GB RAM和8个Intel i9处理器),但这个节点仍然无法跨越2016年。因为所涉及的许多缩放参数是非线性参数,所以不能简单地通过将更多的硬件投入到这个问题中来解决。
当节点被阻塞时,我们将重新启动它。在4次重启失败后,我们放弃同步。对于MacBook Pro上的0.8.6比特币核心,铅块在2016年停止同步。虽然有点失望,但剩下的35次尝试都同步顺利,没有重启。
结论
除了在发布MacBook Pros的BitMEX研究报告时更加谨慎之外,数据还显示,在过去的七年中,容量扩展性能有了很大的提升。libsecp256k的迁移是最重要的改进。初始块下载时间的大幅减少和旧节点无法完全同步,显示了可扩展性对于比特币的重要性。否则,即使用户使用最高配置的硬件,比特币现在也基本宣告死亡。此外,数据还显示,技术创新不太可能与区块链的增长速度保持同步,而且最初的块下载时间将继续延长。