0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

如意 来源:读芯术微信公众号 作者:读芯术微信公众号 2020-09-07 10:45 次阅读

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

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

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

这是新区块到达网络中大多数节点所需要的平均时间。在像比特币这样的大型去中心化网络中,每当产生新块,都会根据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

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

    关注

    0

    文章

    20

    浏览量

    7390
  • 区块链
    +关注

    关注

    111

    文章

    15562

    浏览量

    106230
  • 比特币
    +关注

    关注

    57

    文章

    7005

    浏览量

    140742
收藏 人收藏

    评论

    相关推荐

    dap协议在跨技术中的应用

    随着区块技术的快速发展,越来越多的区块网络被创建以满足特定行业或应用的需求。然而,这些区块
    的头像 发表于 11-22 15:45 259次阅读

    dap协议的基本概念 dap协议在区块中的应用

    DAP协议,即分布式应用协议(Distributed Application Protocol),是种旨在促进去中心化应用(DApps)在区块网络上的构建和运行的框架。DAP协议的核心目标是提供
    的头像 发表于 11-22 15:39 304次阅读

    YOGO ROBO智能机器人助力区块行业发展

    日前,上海静安区成功举办了全国首个区块主题的场景集市——“数通谷”区块+医疗场景集市。本次活动汇聚了来自
    的头像 发表于 11-22 11:33 301次阅读

    华为云、上海钧达数科 发布区块数据要素联合解决方案

    2024 期间,华为云与上海钧达数科在上海世博展览馆联合发布了基于华为云区块打造“区块数据要素解决方案”。这次合作深化了华为云区块
    的头像 发表于 10-09 20:16 469次阅读
    华为云、上海钧达数科 发布<b class='flag-5'>区块</b><b class='flag-5'>链</b>数据要素联合解决方案

    京准电钟:GPS北斗卫星校时服务器助力区块数据网

    京准电钟:GPS北斗卫星校时服务器助力区块数据网
    的头像 发表于 09-27 10:43 291次阅读
    京准电钟:GPS北斗卫星校时服务器助力<b class='flag-5'>区块</b><b class='flag-5'>链</b>数据网

    探索无限可能:华为云区块 +X,创新融合新篇章

      6 月 23 日,华为开发者大会 2024(HDC 2024)期间, “「区块+X」多元行业场景下的创新应用”分论坛在东莞松山湖举行,区块技术再次成为焦点。本次论坛以"
    的头像 发表于 07-09 12:27 3994次阅读
    探索无限可能:华为云<b class='flag-5'>区块</b><b class='flag-5'>链</b> +X,创新融合新篇章

    JScope RTT模式无法找到区块是怎么回事?

    模式下,我配置了个向上缓冲区,并正在更新引用中的值。 但是,当我运行 Jscope 工具时,它无法找到定义的 RTT 块(截图附后)。 我是否遗漏了任何配置/代码? 下面是个示例代码
    发表于 05-20 07:23

    用st-link或j-link工具怎么烧写STM32信息区块?

    怎么烧写STM32 信息区块!用st-link 或 j-link工具。
    发表于 05-08 07:20

    区块互操作标准化应用及经验,华为云 BCS 获评团体标准示范项目

    区块技术发展的关键 区块作为种分布式账本技术,具多方共识、分布式存储、难以篡改等 特点,在金融科技、政务民生、司法存证、供应
    的头像 发表于 02-23 22:00 684次阅读
    <b class='flag-5'>区块</b><b class='flag-5'>链</b>互操作标准化应用及经验,华为云 BCS 获评团体标准示范项目

    有什么办法可以扩展SCB区块的RX FIFO吗?

    大家好目前我正在做个必须从 SPI 读取大约 2000 字节的项目,那么有什么办法可以扩展 SCB 区块的 RX FIFO 吗?
    发表于 01-30 06:26

    如何使用Rust从零开发区块

    区块的Body部分是个普通的字符串向量,而头部看起来更有趣。在所有的字段中,prev_hash 是最有趣的,它存储了前区块的哈希字段值,我们将在这篇文章后面的
    的头像 发表于 01-22 13:58 1320次阅读
    如何使用Rust从零开发<b class='flag-5'>区块</b><b class='flag-5'>链</b>

    区块是什么样的数据结构组织

    区块种特殊的数据结构,它以分布式、去中心化的方式组织和存储数据。区块的核心原理是将数据分布在网络的各个节点上,通过密码学算法保证数据
    的头像 发表于 01-11 10:57 2285次阅读

    区块技术发展现状和趋势

    近年来,区块技术作为项颠覆性的创新技术,引起了全球各行各业的广泛关注。区块技术的出现,为金融、供应
    的头像 发表于 01-11 10:31 2350次阅读

    区块系统软件开发与应用

    。本文将详细介绍区块系统软件开发的过程和应用推广的关键要点。 区块系统软件开发的基本原理和技术 1.1
    的头像 发表于 01-10 18:18 2552次阅读

    腾讯科技获区块网络事务处理专利

    据专利摘要介绍,此方法涉及的步骤可概括如下:收集待处理事务数据集的统计信息,此数据集含有多个接收并待处理的事务数据;制定获取区块网络对事务数据的打包标准;如果统计信息符合打包要求,将事务数据集中的数据整合并形成合并事务数据;
    的头像 发表于 01-08 11:36 578次阅读