当前位置: 首页 > 科技观察

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

时间:2023-03-21 00:20:59 科技观察

本文转载自公众号「读书芯」(ID:AI_Discovery)。缺乏可扩展性被认为是大规模采用区块链技术的最大障碍,现在,所有区块链项目都在寻找可以提高其网络性能的解决方案。很多新兴项目声称自己有解决这个问题的灵丹妙药,都是夸大其词,很多观察者和投资人甚至没有意识到这个问题的核心和根源。没有深入的调查和足够的技术支持,我们很难确定这背后的瓶颈和取舍。在本文中,我们将探讨阻碍比特币扩容的公认因素。在分布式点对点网络比特币发明后不久,研究人员开始对决定比特币大小限制的因素感兴趣。很快,核心问题被确定为块传播时间或块传播延迟。这是新区块到达网络中大多数节点所需的平均时间。在像比特币这样的大型去中心化网络中,每当一个新区块产生时,信息都会根据Gossip协议进行传播。如果一个节点捕获到一个新的有效块,它将通知与其连接的其他节点。然后节点将该块传输到要求它们这样做的那些节点。在一个块到达网络中的每个完整节点之前,它会经过7个中间节点,每个诚实节点在将块转发给其他对等点之前验证该块。显然,整个过程需要一段时间。每个新块都会影响网络,使节点和以太坊以最大功率工作。有人会争辩说,自网络推出以来,八卦协议已经有了很大改进。例如,比特币改进提案BIP0152引入了在区块体中只传输短交易ID的选项,而不是整个交易列表。但是,如果一个节点在其内存池中没有该交易,则它必须要求其对等方在单独的消息中传输它。如果区块中存在大量此类交易,那么BIP0152的改进将毫无意义。由于数据传输是区块中继中最耗时的部分,因此研究人员感兴趣的是一定大小的数据包到达网络中50%、90%或95%的节点所需的时间。结果发现,对于大于20KB的块大小,块传播延迟时间几乎与块大小成正比。根据2013年发表的研究,区块中每增加1KB的数据都会导致区块传播延迟增加80毫秒。来源:unsplash从那以后,每年都有几篇关于该主题的学术论文和调查,更新上述数据并提出各种改进建议。此外,该站点监控比特币网络的当前状态和块传播时间,并且还提供有关该主题的历史数据图表。大多数成熟的区块链网络都具有与比特币相同的设计,并且这些网络中的块传播时间遵循相同的规则。不幸的是,块传播时间对区块链的安全性有很大影响。网络中的传播时间越长,矿工在旧区块上挖矿的频率就越高。主链的分叉发生频率增加,孤立块比例上升,传播延迟过长导致所谓的验证者困境。一些节点可能会发现跳过块验证步骤是一种有益的策略。但在这种情况下,他们冒着在错误的区块上挖矿的风险。但是,如果区块验证时间较长,这种策略可能会有利可图。研究人员发现,较长的传播延迟会降低节点抵御51%攻击和独立挖矿的能力。为了解决上述问题,区块链开发人员经常尝试将区块传播时间控制在平均区块时间的1%以下。比特币、以太坊和其他基于PoW共识的主要区块链网络都是如此。因此,比特币网络中50%的节点的区块传播时间通常在6秒以下。尽管BIP0152中描述的快速块中继减少了平均块传播时间,但在最坏的情况下它可能比基本协议花费更多的时间。但即使在最坏的情况下,传播延迟也应该是合理的,这样矿工才能在大部分时间保持节点同步并始终验证提议的区块。每当人们谈论区块链的可扩展性时,都会提到系统的交易吞吐量。然而,人们忘记了增加交易吞吐量不应该损害网络的安全性,也不应该对希望参与网络的节点提出数据存储要求。这些修改可以减少网络中独立交易验证器的数量,从而减少去中心化。比特币交易吞吐量可以简单地使用以下公式计算:Bsize是区块大小(以字节为单位)Tsize是区块中交易的平均大小Btime是区块链中连续区块之间的平均时间显然,可以通过增加区块大小来增加交易吞吐量,减少交易记录大小,或减少块之间的间隔。其中,减少交易记录的规模是比较困难的。也可以尝试其他两个选项。但是,这些操作会增加区块传播的时间,网络的安全性和去中心化可能受到威胁。来源:unsplash有些人可能会注意到,在比特币协议中,网络资源的使用效率非常低,每个节点只能在很短的时间内处理和传输新区块的重要数据。它的网络带宽确实很重要,但它只被充分利用了几秒钟。其余时间,节点仅传输未决交易和辅助数据。这一发现促使研究人员寻找更有效的协议设计,以显着提高交易吞吐量,同时不影响网络安全和去中心化。【责任编辑:赵宁宁电话:(010)68476606】