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

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

本文转载自公众号“读芯术”(ID:AI_Discovery)。

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

[[340839]]

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

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

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

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

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

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

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

[[340840]]

图源:unsplash

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

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

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

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

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

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

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

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

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

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

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

  • Bsize是区块大小(以字节为单位)
  • Tsize是区块中交易记录的平均大小
  • Btime是区块链中连续区块之间的平均时间

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

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

[[340843]]

图源:unsplash

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

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

【责任编辑:赵宁宁 TEL:(010)68476606】

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2018-03-08 14:00:02

2021-07-29 16:58:22

区块链比特币数字货币

2021-09-23 22:40:10

区块链比特币技术

2023-03-09 12:30:55

2021-05-26 16:12:20

区块链加密货币比特币

2022-06-05 23:14:33

区块链通信工具

2018-05-15 10:26:10

区块链数字货币比特币

2018-04-02 16:35:57

区块链数字货币比特币

2020-06-22 09:10:00

区块链比特币网络

2018-02-06 10:04:59

2021-04-07 10:55:11

区块链技术物联网

2021-09-11 23:06:09

区块链技术信任

2018-03-27 09:52:30

区块链数字货币比特币

2021-04-09 06:25:41

区块链区块链技术

2022-10-26 08:42:28

2020-05-13 09:45:08

区块链公共区块链私有区块链

2021-12-10 14:36:25

区块链节点数据

2017-07-19 07:27:39

区块链ICO监管

2022-06-30 20:47:58

区块链

2017-10-20 23:41:51

区块链机器学习神经网络
点赞
收藏

51CTO技术栈公众号