翻译:价值区块链温迪
" Satoshi给我们留下了一个巨大的代码库."
比特币开发商科里·菲尔德(Cory Fields)表示,尽管比特币核心一直被视为一种创新,但其代码背后存在一些混乱。
从2015年开始,Fields等人开始努力处理这个问题,当时他计划移动代码的某一部分:对等层。
开发人员总是遇到的问题是,并不是所有的部分都分散整齐。所以,如果一个开发者改变了一个应该影响比特币功能的部分的结构,就会不自觉地影响到另一个功能。比如认证,池,钱包或者P2P。比如,这让比特币新参与者更难上手。
因此,在Fields和libconsensus (libconsensus是一个正在开发的项目,它允许以替代方式保存比特币网络共识)等项目中,目标是将代码分散到更多不同的块中,这样开发人员就可以理解这些部分是如何组合的,并且过程更简单、更快速。
菲尔兹的工作得到了麻省理工学院数字现金项目的支持,他一直在努力解决点对点代码库的问题。
他的大部分作品出现在比特币Core的最新软件版本中。
菲尔兹告诉CoinDesk:
“据我所知,这是第一次大规模的同行代码改革。”
但是,随着时间的推移,很多开发人员,比如乔纳斯·施内利(Jonas Schnelli)和马特·科拉洛(Matt Corallo)都做了很多相关的变更,更重要的是,很多人已经开始对变更进行审查和测试。
对等层涉及网络中数千个比特币连接节点的关联(可能超过5万个,确切数字难以确定),节点不断交换“消息”,这些“消息”随着用户发送比特币或矿工开发新区块而不断传输。
漏洞的重大发现
棘手的问题是,比特币网络的价值约为190亿美元,这意味着底层代码必须非常小心地更改。
由于各种原因,重建不是一个简单的过程。即使对于Fields来说,作为比特币核心的积极贡献者之一,也不容易。"我醒着的时候几乎都在比特币上度过."。
首先,他试图从零开始分离各层。但这是一个“严重的错误”。
然后,他致力于改进目前的代码库,比预期的要好,但也导致了一个被称为“Satoshi时代”的漏洞的发现。
“当我开始拆分东西时,我注意到了一个奇怪的点,最初下载块时使用的Core宽度。”
问题是,当一个节点从另一个节点下载一个块时,时间有时快,有时慢,并且不可预测。
进一步研究,他和其他开发者确定节点总是拒绝同时发送数据和处理数据。节点一次只走一步。
快速修复
在最新的比特币核心一代发布中,团队的修复计划终于发布,提高了节点间信息传递的速度。
"尤其是P2P层的速度有了很大的提高."菲尔兹说。
他对比了之前版本的比特币(0.13.2)和最新版本(0.14.0),并进行了多次实验。节点排列在亚马逊EC2云上,有两个CPU,4GB RAM。
这些实验证明,至少在比较两个节点v0.13.2和v0.14.0的数据传输时,速度提高了一倍
应该注意的是,根据Fields的说法,在实际网络中,这种性能提高可能不到2倍。
长期优势
目前,大部分对等层已经与其他层分离。
再次值得一提的是,大部分用户可能不会注意到上面的性能提升,但是开发者会感觉很好。
也就是说,他们希望产生长期影响。
“希望我们能让P2P更快。”菲尔兹说。
比如Fields没有隔离这些代码,就很难完成最新版本Core的更改。
他说:
“与0.14版本相比,这是一个相对简单的更改,以后会复杂得多。”(Alyssa Hertig)
原始链接:
1.《比特加速 比特币节点如何实现加速》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《比特加速 比特币节点如何实现加速》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guoji/845955.html