OKCoin

比特币网络容量分析:数据传播

戴维 发布在 币头条,比特币 11 3900

比特币数据传播

比特币数据在网络中的及时传播是这个生态系统必不可少的基础功能,传播速度可以通过连接到大量网络节点并收集与存储于一个实时数据库来测量。TradeBlock拥有跨地域的庞大比特币网络数据架构,可以查看并记录每个广播到网络上的消息,包括那些没有被广泛广播的消息,从而给出对网络的精确分析。

Avg-Prop-Speed

平均传播速度

上图显示了2015年的平均区块广播速度,通过追踪比特币网络上的每个节点广播区块数据,计算第一次广播与所有后续广播之间的时间间隔来测得平均区块传播速度。这张图可以表明,区块体积大小是如何影响数据传播速度,以及如何影响矿工激励与行为。

传播速度与孤块竞赛

当两个或多个矿工计算一个区块花了差不多的时间,比特币网络就会同时为计算下一个区块提供两个(或多个)潜在选择。由于矿工会把他们的算力集中在工作量最大的链上(通常是区块数最多的最长链),传播速度在这种情况下是至关重要的。一般而言,具有较多节点的区块有更大概率赢得孤块竞赛,从而让下一个区块续接于其之上。

此外,被拒绝的块被称作“孤块”,没有被后续的区块所接受,处理这个区块的矿工无法获得币基的奖励。下图显示了自4月中旬以来,每天开采的孤块数量,平均每天产生1.3个孤块,即有约1%的孤块率。

Orphan-per-Day

每日孤块

下图是对最近三个月的孤块竞赛的观察,尽管产生孤块的原因有多种,而显而易见的是那些不成功的区块最典型的原因是连接的节点数目较少(相对于孤块竞赛成功者)。虽然在给定时间内比特币网络里活跃的节点大约有6000个,但数据表明,只要连接节点达到3000个,一个特定的区块赢得孤块竞赛的概率将为90%。最后,在孤块竞赛中获胜的区块似乎通常都是第一个被广播到网络中的,图上获胜区块大多出现在X轴的正方向也证实了此点。

Orphan-Race2

孤块竞赛

接下来,我们考察参与孤块竞赛的区块相对于一段时间的平均大小。下图显示,参与孤块竞赛的区块大小平均要比非孤块竞赛的区块大20%(约100kb),这可能由于大区块需要广播的时间更长。

对于一个区块中的边际交易,每个节点必须与其自身内存池中保存的区块交易清单进行核比,以最终确认区块。造成的结果就是区块中的交易数越多,除了会延长数据传播时间,还会因每笔交易在网络中的跳动而花更多时间。这意味着在找到的区块被广播之前,其它矿工将花更多时间来散列上一个区块。

Orphan-vs-Non-Orphan

孤块与非孤块

传播速度 vs. 区块大小和矿工

为证明数据传输的重要性,我们分析了传播速度与区块大小以及矿工的相关性。我们的数据采集自2015年4月至6月。如下图,表明在区块连接临界3000个节点的情形下,区块大小与传播时间存在直接关系,举个例子,一个700kb的区块的传播需要17秒,而200kb的区块只需要6秒。

Time-to-3k

广播到3000个节点所需要的时间

我们还探讨了当一个区块广播到3000个节点,矿工与平均时间之间的关系。从图中可以看出,大多数矿工花费的平均时间落在9.7秒和7.2秒之间均值的标准差内,最高(21秒)为一家中国矿池BW Pool,最低(4秒)为一家波兰矿业公司Polmine。

通过标记每个块的打包矿工的地理位置,我们可以从更广阔的视角分析传播时间与地域的关系,如下图,它表明地域差异会导致传播速度发生微小的变化。总体而言,欧洲的矿工稍快于平均速度,而中国与美国的传播速度相差无几(当去掉一个最高值BW Pool)。

只有不考虑中国GFW的情况下,对中国开采区块的时间测量才是可行的,如果考虑GFW,真正的传播时间是未知的。这就是说,TradeBlock连接到的节点(不到三位数)监测到的来自中国IP地址广播的数据时,它很可能是已经被GFW及时阻止过的数据。

Prop-Time-by-Miner

数据传播时间与矿工

Prop-Time-by-Geog

数据传播时间与地域

对区块扩容之辩的启示

上述分析对最近持续的区块扩容之辩有重要意义,我们已经证明,(1)区块大小与通过网络传播所花的时间存在直接关系。(2)孤块竞赛中的区块比非孤块竞赛的区块明显要大。

根据区块大小为1MB时的数据传播速度,我们可以推断较大的区块所需要的传播时间。如下图,一个最佳线性回归表明,一个8MB的区块通过网络传播到3000个节点,大约需要137秒。

Forecast-Time

预测时间

虽然我们在之前的研究中建议,人们不应该期望在短时间内把区块扩增到8MB,因为传播数据每多花一分钟,都将意味着孤块竞赛的概率的增加,其结果就是反向激励矿工去打包更少的交易。为解决这一问题,有几个建议已被提出,包括挖矿骨干网、交易缓存更新及可逆布卢姆查找表,但在这些建议被实现前,大区块的传播可能带来挖矿收益的风险量化。

原文:https://tradeblock.com/blog/bitcoin-network-capacity-analysis-part-6-data-propagation
译者:戴维

 

版权声明: by nc" sa 作者保留权利。文章为作者独立观点,不代表巴比特立场。

评论:11

您需要登录后才可以回复 登录|注册
    Author Image
    chehw 518 天前

    根据文中的数据,可知:
    (1)“当一个区块广播到3000个节点,……大多数矿工花费的平均时间落在9.7秒和7.2秒之间均值的标准差内”。也就是说,除了BW池外,国内其他矿池在广播区块时,与国外矿池相比,并不存在(想像中的)明显差距。
    (2)广播大区块所需时间较长,因而更容易成为孤块。
    ===================================
    结论:即使大幅提升区块的所能容许的上限值。对网络安全也没什么负面影响。

    理由:(1)设置区块大小的上限值,是为了防止有恶意的攻击者故意制造出大量的巨大区块,超出了大部分节点的网络带宽承载能力,使大多数节点无法及时同步数据。 由文中的数据可知,制造大区块是一种博弈,失败(成为孤块)的概率非常高,因而攻击者试图用这种方法攻击很难得逞。
    (2)矿池通常会根据自身现有的处理能力,限制实际产生的区块大小(可以远远低于上限值)。如果区块链中出现了大量的大区块,说明系统的交易规模已经达到了一定水平,矿池不得不打包大的区块。此时,如果上限值设置得太低,会有灾难性后果——交易系统将陷入瘫痪。
    (3)没有证据表明大区块的广播会产生地域歧视,也就是说,当发现的区块大小相近时,对于地理位置处于不同地域的矿池来说,机会是均等的。 广播时所考虑的只是至传给与矿池直接连接的几个节点所需的时间,而不是传播至全网(比如3000个节点)的总时间。因为在区块大小相同的条件下,即使提前1秒广播至下一个节点,那么就有非常高的概率在广播竞赛中最终胜出(以前有文章专门讨论过这种情况)。

    +1
    +1
    我要点评
    清清的雾气
    清清的雾气 527 天前

    //@神鱼BTCer: 按文中计算出的8MB的区块通过网络传播到3000个节点,大约需要137秒。那么算120s好了,孤立的概率是120/600=20%,3 个确认都没有被孤立的概率为1-0.8^3=48.8%,对网络确认和防范DS会产生什么样的影响呢?

    +1
    +1
    我要点评
    Mr书记
    Mr书记 530 天前

    进化的方向为什么一定要是扩容呢,不断提高手续费也可以解决问题。未来也可以是大多数交易发生在coinbase circle等等多中心内部,on chain 交易手续费极高,主要来自circle coinbase等之间的结算 //@神鱼BTCer:按文中计算出的8MB的区块通过网络传播到3000个节点,大约需要137秒。

    +1
    +1
    我要点评
    CoinGecko币虎
    CoinGecko币虎 530 天前

    【比特币网络容量分析:数据传播】TradeBlock拥有跨地域的庞大比特币网络数据架构,可以查看并记录每个广播到网络上的消息,包括那些没有被广泛广播的消息,从而给出对网络的精确分析:传播速度与孤块竞赛 ;传播速度 vs. 区块大小和矿工;对区块扩容之辩的启示http://t.cn/R2doxjc http://t.cn/R2Wxsah

    +1
    +1
    我要点评

    最后一张图有明显问题 前面已知数据明显显示低于线性增长 不知什么回归分析可以得到后面的线性增长曲线?

    +1
    +1
    我要点评
      Author Image
      hash 524 天前

      可能是翻译错误,看图好像是指数增长

      +1
      +1
      我要点评

    三个确认都没有被孤立的概率计算错误。照你这样计算十个确认没有被孤立的概率就接近零了。错误在于各个确认非独立事件。

    +1
    +1
    我要点评
    神鱼BTCer
    神鱼BTCer 530 天前

    按文中计算出的8MB的区块通过网络传播到3000个节点,大约需要137秒。那么算120s好了,孤立的概率是120/600=20%,3 个确认都没有被孤立的概率为1-0.8^3=48.8%,对网络确认和防范DS会产生什么样的影响呢?

    +1
    +1
    我要点评
    Author Image
    changyong 530 天前

    很好的分析!

    +1
    +1
    我要点评
    黑胡子Bitcoin
    黑胡子Bitcoin 530 天前

    当一个区块广播到3000个节点,大多数矿工花费的平均时间落在9.7秒和7.2秒之间均值的标准差内,最高(21秒)为一家中国矿池BW Pool,最低(4秒)为一家波兰矿业公司Polmine。

    +1
    +1
    我要点评
    巴比特资讯
    巴比特资讯 530 天前

    【比特币网络容量分析:数据传播】TradeBlock拥有跨地域的庞大比特币网络数据架构,可以查看并记录每个广播到网络上的消息,包括那些没有被广泛广播的消息,从而给出对网络的精确分析:传播速度与孤块竞赛 ;传播速度 vs. 区块大小和矿工;对区块扩容之辩的启示http://t.cn/R2doxjc

    +1
    +1
    我要点评