理解区块链中的区块传播问题

2020-08-12 15:52 栏目:经验之谈 来源:网络整理 查看()

缺乏可扩展性被认为是大规模采用区块链技术的最大障碍。所有现有的区块链项目都在寻找能够提高网络性能的解决方案。

许多新兴项目声称他们有解决这个问题的灵丹妙药。然而,这种断言并不总是有效的。不幸的是,许多观察家和投资者没有意识到这个问题的核心和根源。

理解区块链中的区块传播问题

没有深入的调查和大量的技术背景,很难发现隐藏的瓶颈和权衡。在本文中,我们将讨论阻碍比特币发展的一个众所周知的瓶颈。

分散对等网络比特币发明后不久,研究人员开始对决定比特币大小限制的因素感兴趣。核心问题通过块传播时间或块传播延迟被快速识别和描述。

这是新数据块到达网络中大多数节点所需的平均时间。在像比特币这样的大型分散网络中,每当产生新的数据块时,都会根据流言协议进行广播。如果一个节点获得一个新的有效块,它将通知连接到它的节点它的新占有。

然后,节点将该块传输给需要它的节点。在数据块到达网络中的每个完整节点之前,它会经过7个中间节点。重要的是,每个诚实的节点在将数据块转发给其他对等节点之前都要对其进行验证。

显然,整个事情需要一些时间。每个新模块都会震动网络,使节点和以太网之间的连接充分发挥作用。

有些人可能会说,自从这个网络推出以来,八卦协议已经改进了很多。例如,BIP 0152(一种比特币改进方案)引入了一个选项,即在区块中只传输短交易id,而不是整个交易列表。

但是,如果一个节点的内存池中没有这个事务,它必须要求它的对等节点在一个单独的消息中传输它。如果在BIP街区有很多这样的交易,BIP0152的改进将会消失。

因为数据传输是块中继中最耗时的部分,研究人员感兴趣的是确定特定大小的数据包到达50%、90%或95%的网络节点需要多长时间。

发现对于大小大于20Kb的块,块传播延迟几乎与块大小成比例。根据2013年发布的研究结果,一个数据块中每增加一千字节的数据,就会导致80毫秒的数据块传播延迟。

从那以后,每年都有一些关于这个课题的学术论文和研究。他们更新了上述数据,并讨论了各种改进建议。

此外,该网站还监控比特币网络的当前状态和阻断传播时间。此外,它还提供了关于此主题的历史数据图表。

大多数成熟的区块链网络都有与比特币相同的设计。因此,这些网络中的块传播时间遵循相同的规则。

不幸的是,阻塞传播时间对区块链的安全有很大影响。网络中传播时间越长,老区块矿工的开采频率越高。

因此,主链的分叉更频繁地发生,并且孤立块的百分比增加。长传播延迟导致所谓的验证者困境。

一些节点可能发现跳过块验证步骤可能是有利可图的策略。在这种情况下,他们面临着在错误区块采矿的风险。

然而,如果块验证需要很长时间,这种策略可能是有利可图的。研究人员发现,长传播延迟降低了节点对51%攻击和自私挖掘的抵抗力。

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

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

尽管快速块中继(如BIP 0152中所述)减少了平均块传播时间,但在最坏的情况下,它可能比基本协议花费更多的时间。

即使在最坏的情况下,传播延迟也应该是合理的,这一点很重要,这样挖掘者可以在大部分时间内保持他们的节点同步,并始终验证所建议的块。

每当人们谈论区块链的可扩展性时,他们都会提到系统的事务吞吐量。然而,人们忘记了事务吞吐量的提高不应该损害网络的安全性,也不应该对希望参与网络的节点提出数据存储要求。

这些修改可以减少网络中独立事务验证器的数量,从而减少分散。

比特币交易吞吐量可以通过以下公式轻松计算:

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

Tsize是块中事务记录的平均大小。

b时间是区块链连续街区之间的平均时间。

显然,可以通过增加块大小、减小事务记录大小或减小块之间的间隔来提高事务吞吐量。减少交易记录的大小相当困难。

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

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

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

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发