研究团队进行了35次初始区块下载,将初始区块下载时间作为一个基准测试的指标,以此来测试Bitcoin Core的性能。测试中使用了2012年至2019年的Bitcoin软件版本。 这段测试中,我们使用了2012年至2019年期间的Bitcoin软件版本,结果表明,该软件在性能上有了相当大的进步,但也存在很大的差异。即使使用了最新的电脑硬件,老版本的Bitcoin也难以克服2015年至2016年期间交易量上升的障碍。因此,我们得出结论,如果没有增强软件性能,今天的快速初始同步几乎是不可能的。 图1-比特币初始区块下载时间(天)-3次尝试的平均时间 综述 为了测试Bitcoin Core在初始同步过程中的性能,我们尝试了35次初始区块下载,并记录了每次尝试所花费的时间。结果如图1所示,说明在2016年2月推出Bitcoin Core 0.12.0时,由于签名验证从OpenSSL升级到libsecp256k1,比特币的速度有了明显的提升。 Libsecp256k1是专门为比特币构建的。此后,速度上的改进步伐慢了许多,由于初始区块下载时间的差异很大,只有多次尝试下载才能看出明显的改进。但发布Bitcoin Core 0.12.0版之后,相继发布0.13.0到0.19.0.1版本,每个Bitcoin Core版本的性能都有一个小的逐步提升。 当然,初始区块下载时间只是一个衡量标准,还可以从其他角度和条件来评估Bitcoin Core的性能。虽然初始区块下载时间(IBD)不是衡量软件性能的最佳指标,但它占用了大量资源,因此是一个成为基准测试的良好指标。 本报告延续了之前的两个实验: · 2018年11月,Jameson Lopp尝试了一次类似的研究,但分析的重点是旧版本Bitcoin Core的独立实现(或简称“Bitcoin”,因为一些较老的软件在“Bitcoin Core”之前命名为Bitcoin)。 · Sjors Provoost也在2017年7月尝试了这项实验,但Sjors的同步次数较少。 完整的测试结果和原始数据如下 图2-比特币初始区块下载时间(天) (来源:BitMEX研究) (注:区块高度同步到602,707) 系统规范和其他说明 完整的结果表格 (来源:BitMEX研究) 结果分析 如图2所示,即使用相同的软件和具有相同规范的计算机尝试初始区块下载,所报告的时间也有相当大的差异。 图3- 初始区块下载时间与客户端发布日期(天)- 3次尝试的平均时间 (来源:BitMEX研究) (注:针对比特币0.8.6客户端,以上数据来自2次尝试的平均结果) 图3表明,除了Bitcoin Core 0.12.0具备强大的性能没有改变外,其他软件的性能随着发布而逐步提高。然而,虽然图3中呈现明显的性能提升趋势,但每次尝试的初始区块下载时间有巨大差异,可能表明性能提升存在相当大的不确定性。关于自2016年来性能不断提升的结论,需要更多的样本数据来坐实。这种差异可能是由于比特币P2P网络或互联网的连接问题。因此进一步研究的最好方法可能是,重新扫描速度,即一旦下载完,完整地验证区块链所需的时间。 Bitcoin Core 0.12.0在上述分析中表现良好。可能是因为,Bitcoin Core 0.12.0启用了libsecp256k,但没有验证隔离见证人的交易输入签名。因此,Bitcoin Core 0.12.0并没有验证2017年8月后区块链的所有签名,这赋予了它某种“不公平的优势”。 然而,Bitcoin Core 0.13.0也具备这种优势。当然,在0.12.0之前的所有版本都具有同样的“不公平”优势,这与使用OpenSSL的缺点相比就相形见绌了。 同步客户端至它的发布日期 图4说明了同步一个客户端到它发布日期的区块高度所需的时间。 图4-同步初始区块下载到客户端发布日期所需的时间(天) (来源:BitMEX研究) (注:在Linux上运行的节点数据。Bitcoin Core 0.19.0.1只同步区块高度到602,707) 从图中可以看出,从Bitcoin Core 0.8.6到Bitcoin Core 0.14.0的变化趋势较为平缓,此时可扩展性没有跟随时间的推移和区块高度的增长速度,但也呈现上升的趋势。近年来软件提升的速度降下来了,可能是那些容易实现的改进都实现了,剩下的是难以实现的改进。交易量增加可能也是原因之一。未来提高可扩展性可能更具挑战性,即使维持400万的区块高度限制,进一步升级软件和提升软件性能,初始区块下载的时间也会持续变长。 初始区块下载失败 我们成功编译并运行了Bitcoin 0.8.6之前的版本,但到了2015年-2016年期间,节点同步速度变慢。0.8.6之前版本的节点,例如0.7.0的节点,通过手动更改锁定限制,成功地在2013年完成硬分叉,但是2015年由于交易量增加,太具挑战性,节点暂停处理区块。我们重启了节点,确实有所帮助,但不久节点又停止了。 后面我们甚至在自己的全新本地计算机(匹配64 GB的RAM和8个Intel i9处理器)上运行0.7.0版的Bitcoin Core,但这个节点依然无法跨过2016年。由于涉及的许多换算因数(scaling parameter)都是非线性参数,不能简单地在这个问题上投入更多的硬件就能解决。 当节点被卡在一个区块上我们会重新启动,4次重启失败后我们放弃同步。对于MacBook Pro上的0.8.6 Bitcoin Core,领头区块在2016年时停止了同步。虽然有点令人失望,但剩下的35次尝试都顺利同步,没有出现重启的情况。 结论 除了在发布MacBook Pros的BitMEX研究报告时应该更加谨慎之外,数据还显示过去7年来的扩容性能大大提升。libsecp256k迁移是最重要的改进。初始区块下载时间的大幅减少和旧节点无法完全同步表明,可扩展性对于比特币的重要性,否则即使用户使用最高配置的硬件,Bitcoin现在也基本宣告死亡了。此外,数据还表明,技术创新不太可能同步于区块链的增长速度,初始区块下载的时间将继续延长。 —- 编译者/作者:老李说币圈 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
BTC软件版本7年变迁 最大的变化在哪儿
2019-12-06 老李说币圈 来源:区块链网络
LOADING...
相关阅读:
- 以太坊2.0测试网上线,公链将迎来新时代2020-08-05
- Peertec,hiblocks加入Kakao GroundX区块链平台2020-08-05
- 短期走势波澜不惊,静待再次回归主升趋势2020-08-05
- 比特币枪手:8.5比特币多头来势汹汹欲破新高2020-08-05
- 谈火币圈:比特币现在谈熊市为时尚早2020-08-05