一文搞懂区块链的区块传播相关问题

电子说

1.3w人已加入

描述

缺乏可扩展性被认为是大规模采用区块链技术的最大障碍,现在,所有的区块链项目都在寻找能够提高其网络性能的解决方案。许多新兴项目声称他们有解决这个问题的灵丹妙药,这是夸大其词了,很多观察员和投资者甚至都没有意识到这个问题的核心和根源。

没有深入的调查和足够的技术支持,我们很难确定这背后的瓶颈和利弊权衡。本文,我们将探讨阻碍比特币扩展的公认因素。

在分散式对等网络比特币发明后不久,研究人员对决定比特币规模极限的因素产生了兴趣。很快,其核心问题就被确定为区块传播时间或区块传播延迟。

这是新区块到达网络中大多数节点所需要的平均时间。在像比特币这样的大型去中心化网络中,每当产生新块,都会根据Gossip协议进行信息传播。如果某个节点占领了新的有效区块,它将通知其他连接它的节点。

然后,节点将该区块传输到要求其执行此操作的那些节点。在区块到达网络中的每个完整节点之前,它要经过7个中间节点,每个诚实的节点在转发该区块给其他对等节点之前都要验证该区块。显然,整个过程需要一段时间。每个新的区块都会影响网络,使节点和以太网以最大功率工作。

有人会说,自从该网络推出以来,Gossip协议已经有了很多改进。例如,比特币改进方案BIP0152引入了只在区块体中传输短交易ID的选项,而不是整个交易列表。但如果节点在其内存池中没有该事务,则必须要求其对等方在单独的消息中进行传输。如果该区块中有大量此类事务,则BIP 0152的改进将失去意义。

由于数据传输是区块中继中最耗时的部分,研究人员对确定大小的数据包到达网络中50%、90%或95%的节点所需的时间感兴趣。

结果发现,对于一个大小大于20KB的区块,区块传播延迟时间几乎和区块大小成正比。根据2013年发布的研究,该块中每多出1KB的数据都会导致区块传播延迟增加80毫秒。

自那时起,每年都会有几篇关于此主题的学术论文和调查,他们更新上述数据并提出各种改进建议。

此外,该网站监测比特币网络的当前状态和区块传播时间,它还提供了有关这一主题的历史数据图表。大多数成熟的区块链网络与比特币有着相同的设计,这些网络中的区块传播时间遵循同样的规则。

不幸的是,区块传播时间对区块链的安全性有很大的影响。在网络中传播时间越长,矿工在旧区块上开采的频率越高。主链的分叉发生得更频繁,孤立区块的占比上升,长的传播延迟导致了所谓的验证者困境。

一些节点可能会发现跳过区块验证步骤是一个有益的策略。但在这种情况下,他们面临着在错误区块上开采的风险。然而,如果区块验证时间很长,这个策略或许就会有利可图。研究人员发现,长传播延迟降低了节点抵消51%攻击和独立挖掘的能力。

为了解决上述问题,区块链开发人员经常试图将区块传播时间控制在平均区块时间的1%以下。

比特币

对于比特币、以太坊和其他基于PoW共识的主要区块链网络都是如此。因此,比特币网络中50%的节点的区块传播时间通常低于6秒。

尽管像BIP 0152中所述的那样,快速区块中继减少了平均区块传播时间,但在最坏的情况下,它可能比基本协议花费更多的时间。但即使在最坏的情况下,传播延迟也应该是合理的,这样矿工才能在大部分时间保持他们的节点同步,并始终验证提议的区块。

每当人们谈论区块链的可扩展性时,都会提到系统的交易吞吐量。然而,人们忘记了交易吞吐量的提高不应损害网络的安全性,也不应对希望参与网络的节点提出数据存储要求。这些修改可以减少网络中独立交易验证器的数量,从而减少去中心化。

比特币交易吞吐量可以简单使用公式计算:

比特币

Bsize是区块大小(以字节为单位)

Tsize是区块中交易记录的平均大小

Btime是区块链中连续区块之间的平均时间

显然,可以通过增加区块大小、减少交易记录大小或减少区块之间的间隔来增加交易吞吐量。其中,减少交易记录的大小是比较困难的。

人们也可以尝试其他两种选择。然而,这些操作将增加花费在区块传播上的时间,网络的安全性和分散性可能会因此受到威胁。

或许有人会注意到,在比特币协议中,网络资源的使用效率很低,每个节点只能在很短的时间内处理和传输一个新区块的重要数据。它的网络带宽确实很重要,但它被充分使用的时间只有几秒钟。

其余时间,此节点只是传输未决交易和辅助数据。这一发现促使研究人员寻找更有效的协议设计,以在不影响网络安全性和分散性的情况下显著提高交易吞吐量。
责编AJX

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分