最新发布的Core版本可以大幅度提升p2p层的速度

2017-03-14 07:05:32
摘要:虽然中本聪留下了一个完整的代码库,但是Bitcoin Core背后却存在着许多问题,因此推出了最新版本的Core,可以极大的提升速度性能。这是首次对p2p代码进行大规模改革,使得速度至少得到两倍提升。

最新发布的Core版本可以大幅度提升p2p层的速度

“中本聪给我们留下了一个完整的代码库。”

比特币开发者Cory Fields如是说,尽管他总是赞扬其创新力,但是Bitcoin Core的背后则是一团乱麻。

这是一个Field和其他开发者至少从2015年就开始努力解决的问题,当时他提出移动一段p2p层代码的计划。

开发人员经常遇到的问题是组件并不是完全分离的。因此,如果开发者改变某些组件,那么只会影响比特币一部分,以及其功能。Fields说,并且有可能是在无形中影响了另一个组件,比如,验证、内存池、钱包或p2p。一方面,这给新比特币贡献者摸清门道增加了困难。

因此,在诸如Fields和libconsensus(允许替代实施和比特币网络保持共识的进行中的项目)的项目中,其目标是将代码分离成不同的块,从而让开发者更好的明白这些碎块如何组合才能达到最佳效果。

Fields研究的工作,由MIT的数字货币倡议资助,一直致力于摆脱p2p的代码库。

他的大多数研究成果都会在Bitcoin Core最新软件版本中首次亮相。

Fields对CoinDesk说:
“据我所知,这是首次对p2p代码进行大规模改革。”
他提到,但是,随着时间的推移,许多开发者,如Jonas Schnelli和Matt Corallo,都对p2p层做出了贡献,而且重要的是,许多开发者都会介入审查和测试更改。

p2p层主要处理网络上成千上万个(也许会多于50000,但是具体数字很难统计)节点之间的连接,这些节点之间经常彼此“对话”,当用户发送比特币或矿工创建新区块时传递相关信息。


发现漏洞

有一个棘手的问题是比特币网络价值约为190亿美元,意味着对其底层代码做出改变必须非常谨慎小心。

由于这一原因以及其他原因,重建并不是一件简单的事。就连对Bitcoin Core最活跃的贡献者之一Fields也是如此(他说,我几乎将我醒着的所有时间都花在研究比特币上)。

首先,他试图从一个单独的层开始。然而这项举措却“失败惨重”。

接着,他努力改善当前的代码库,并且效果比预期的还好,发现了“中本聪时代”的漏洞。

Fields说:
“在我将东西分解的时候,我发现在首次区块下载中,在使用Core的宽带时发生了一些奇怪的事情。”
那个问题就是,当节点从另一个节点下载区块时,区块传输速度时快时慢,并且这种速率已经出人意料。

深入剖析,他和其他开发者发现,节点将拒绝同时发送数据和处理数据(虽然这种说法过于片面)。节点将一次处理一个流程。


速度修复

在最近Bitcoin Core代码发布的首次亮相中,该团队完成了速度的修复,改变了节点之间传输信息的速度。

Fields说:
“特别是p2p层的速度得到了很大的提升。”
他进行了一些测试,比较了最近的比特币版本(0.13.2)和最新改进版本(0.14.0),研究了用两个CPU和4GB RAM实例配置到亚马逊EC2 云上的节点。

最新发布的Core版本可以大幅度提升p2p层的速度
 
试验表明,在比较了两个v0.13.2节点和两个v0.14.0节点发送数据的性能之后,速度至少得到双倍提升。

Fields表示,这里需要说明的是,在现实网络中,性能提升可能会少于两倍。


持久利益

现在,p2p层大多都是和其它层相分离的。

值得一提的是,除了以上提到的性能改进,大多数改变用户都不会注意到,但是对开发者来说却是一种福音。

也就是说,他们希望能有长远影响。

Fields说:
“我希望这可以让p2p速度得到更快提升。”
例如,如果Fields没有成功分离代码,就很难对最新Core版本做出改变。

他说:
“在0.14版本推出后,这是一个相对简单的改变,之前要比这复杂的多。”
翻译:Nicole

转自:https://chainb.com/?P=Cont&id=3805

OKEX下载欧易下载OKX下载

okex交易平台app下载

下五篇