比特币’神经系统’获得升级,FIBRE传播网络放弃易致数据丢失的TCP协议,使用UDP代替

比特币’神经系统’获得升级,FIBRE传播网络放弃易致数据丢失的TCP协议,使用UDP代替

    有一项旨在改善比特币交易区块数据传播时间的长期工作已经获得一项升级。

    自比特币发行以来,已经出现了一系列的服务或解决方案,以满足那些使用数字货币的人的需求。这些措施包括:允许比特币与法定货币之间进行买卖的交易所;随着矿工为了更大利益而谋求集团化所诞生的矿池;提供更好的功能和安全性的新类型的钱包。

   

    但是,分布式网络的一些需求并不容易被观察到的。

    正如BitcoinCore开发者格雷格·马克斯韦尔(GregMaxwell)所说,BitcoinRelayNetwork这个来自BitcoinCore贡献者马特?克拉罗(MattCorallo)的创意,在几年前被提了出来,旨在更快地在矿工(或那些处理交易的人)之间传播比特币区块数据。

    Maxwell回忆说:

    “几年以前,当区块数量开始超过250K时,我们不断看到矿工迅速与一些非常受欢迎的矿池进行整合。其中一个原因就是较小的矿池正在被孤立。”

    他还说:

    “我们似乎正在快速形成一个趋势,最终只有一个矿池存在。”

    然而,他说Corallo采取行动了,开发了最初的RelayNetwork,提供了一种被Maxwell称为‘从根本上改进区块传播速度’的解决方案。

    BitcoinRelayNetwork最终物化为一个节点网络,位于中国,欧洲,北美,俄罗斯,和东南亚。每一个节点都是一个强大的互联网连接,在理论上,就是作为一个区块数据的铁路。数据被压缩,然后通过传输控制协议(TCP)传输。

    该系统已被描述为比特币的血管或神经系统——一个在整个身体传递信息的关键组成部分。如今,一个经过增强的后继者已经被发布——FIBRE。

    进入FIBRE

    Corallo最近推出了快速互联网比特币传播引擎(FastInternetBitcoinRelayEngine缩写为FIBRE),旨在建立一个更强大的版本的BitcoinRelayNetwork。

    这个想法就是:通过改善信息传播的速度,矿工可以减少孤儿块(orphanblock)的数量,或者被网络拒绝的交易区块数量。

    Corallo运行了最初的Fibre网络并设计了其新版本,他说这个方案还帮助增加了‘selfish挖矿’的成本,减少了通过SPV挖矿生成的空区块数量。

    但是根据Corallo所说,现有的传播网络在去年就开始显示出‘过时’的一面,在过去几个月里推动了新软件的工作。

    Corallo说:

    “根据过去几年的运行和仔细的检测,我发现无论使用何种形式的TCP都无法获得你想要的那种低延迟的继电器(relay)。几个月前,我终于从零开始建立一个新的快速中继协议,同时创建CompactBlock作为基础和FIBRE的早期版本。”

    Corallo解释说,目前的问题是通过TCP发挥作用的网络容易丢失数据,这将需要额外的处理,因此增加了区块传播所需要的时间。

    他在他的博客文章介绍了FIBRE,通过TCP,数据包随着时间推移可能会丢失。

    他写道:

    “然后,发送者将会重新传送丢失的数据包,这就允许接收者(可能)重构原始的传输。”

    他解释说,这些额外的往返时间最终导致了最初的RelayNetwork在传播时间上出现峰值。

    FIBRE升级

    为了回避这个时间延迟的问题——数据包从一点到另一点所需要的时间(在这种情况下,也就是从一个节点到另一个节点),Corallo说,他选择了另一种协议——用户数据报协议(UserDatagramProtocol,UDP)。

    他说:

    “代替使用TCP发送传送一次区块所需要的数据,以及依托全往返来检测和重新发送丢失的数据包,FIBRE使用UDP来发送数据,还有额外的前向纠错(FEC)数据(例如,这些数据允许你重建完整的传输数据,即使有一些丢失)。”

    Maxwell将FEC称之为‘一种技术魔力’。

    FIBRE的组成还包括BIP152,这是一种‘压缩区块’协议,旨在减少区块数据在节点之间移动时所使用的带宽。

    Maxwell解释说:

    “这样的话,即使一些部分丢失了,区块仍然能够很快被接收,并且无需来回联系。它也保留了它的速度,即使区块看起来并不像接收器内存池。”

    网络影响

    然而,对于所有的增强功能,FIBRE最雄心勃勃的目标也许是努力让世界各地的人来运行更多的网络。

    在最初,这个网络的维护由Corallo自己主持,这就是说,这个网络的运行——与所有比特币节点一样——是取决于对这个网络的维护能力。

    尽管FIBRE的代码是免费提供的,Corallo说他没有能力来支撑额外的网络。最终,一个网络的成功(或者网络系统)可以说是取决于让更多的人来实际运行它们。

    FIBRE试图改变这种动态。该软件的设计作为BitcoinCore的一个附加功能,提供一个途径让更多的人接触到代码,可能地推出他们自己的传播网络。

    根据Corallo所说,他正在努力鼓励其他各方建立自己的以FIBRE为基础的传播网络——他说这项努力需要保持去中心化。

    Corallo也发布了一份FIBRE网络创建指南。

    在此期间,他说,新的团体现在对建立传播系统很感兴趣,他说,对于现在,更多谨慎乐观的用户将有助于这项事业的发展。

Leave a Reply

Your email address will not be published. Required fields are marked *