本分析的主要重点在于比特币、以太坊、Solana和币安智能链这四个区块链网络的链上区块延迟情况,以及与块时间相关的各种统计数据。
为了进行这项分析,我们使用Jupyter Notebook环境中的Pandas工具获取和处理数据集,并将结果和分析记录在GitHub项目中。通过探索区块延迟的统计数据,我们可以更好地了解这些区块链网络的性能和效率。
为什么区块延迟这个问题很重要?
本文的目标是衡量不同类型的区块链网络如何满足客户对可用性和速度的期望。这不仅仅是由平均统计数据定义的,例如平均块时间和每秒事务数。这些参数的分布也很重要,尤其是出块时间意外长滞后的极端情况。
当区块链网络长时间不添加新区块时,所有依赖该网络的应用程序实际上都停止了,相当于程序挂起在您的计算机上。区块链客户端,例如钱包或DApp,无法执行交易、进行转账或调用智能合约。因此,区块之间的时间间隔过长相当于区块链网络的服务中断。在本分析中,我们试图衡量这种情况发生的频率以及它在不同区块链中的严重程度。
在本分析中,我们考虑下一个块没有出现在平均块周期的10倍时间间隔内时的中断。例如,如果以太坊的平均周期为14秒,我们将140秒视为中断。这是相对于平均值计算的,因为客户端(包括人类和应用程序)的期望适应平均块时间,这在区块链网络中非常不同。
区块时间的汇总统计
以下是我们4个区块链网络的汇总统计数据:
以太坊可分为两个时期:权益证明(POS)分叉之前和之后,统计显示差异显着。表格清楚地表明,最长时间可以大大超过平均数字,有时甚至可以延长到数小时甚至数天。接下来,我们将单独检查每个链,然后返回以作为一个整体分析SLA数据。
权益证明(POS)分叉之前的以太坊
在POS之前的以太坊中,出块时间的分布(对数频率标度)呈现出指数衰减的趋势,可以近似为频率等于A乘以e的负B乘以时间t的函数。
由于工作量证明需要解答谜题,这是一种随机猜测,必须服从二项分布。我们可以看到,当阻塞时间超过概率原因导致的预定义值时,任何POW consensys设计都必须假设中断。在该图中,140秒(平均14秒乘以10)处于中心位置,显示出相当多的块,比挖矿花费的时间更多。同时,也有几个区块滞后超过300秒。
权益证明(POS)分叉之后的以太坊
在POS之后的以太坊中,出块时间分布(对数频率标度)非常离散,出块时间是6秒和12秒的倍数。最大时间为96秒(12秒乘以8),最小时间为6秒。
比特币
比特币出块时间分布(对数频率标度):
比特币和以太坊都采用工作量证明(PoW)进行区块挖掘,这有助于它们朝着更大价值的方向发展。值得注意的是,区块时间存在一个负范围,这是由于使用区块挖掘时间作为时间戳,而不是将区块添加到区块链的实际时间。在实践中,挖矿时间可以在区块包含在链中之前就确定下来,从而导致相当多的区块具有负时间滞后。然而,这些负滞后不应显著影响正范围内块滞后的测量,因为它们的分布比正滞后分布下降得更快。在这些区块中,有151个挖矿时间超过2小时,有的甚至超过10小时。
Binance Smart Chain
币安智能链出块时间分布(对数频率标度):
币安智能链的分布下降得非常快,没有非常长的阻塞时间。
Solana
Solana 出块时间分布(对数频率标度):
Solana以非常快的出块时间和长时间的中断而闻名。在Solana的出块时间分布中,可以看到有一些花费超过10分钟的块,甚至有些接近一整天。
下表总结了分布的可用性数据:
通过数据表可以看出,币安智能链和以太坊,尤其是在引入权益证明 (PoS) 之后,因其卓越的可用性备受青睐。这种高水平的可用性保证了应用程序性能的高度可预测性。另一方面,尽管Solana是最快的网络之一,但其可用性略低,为97%。这种可用性水平被认为是不够的,即使对于集中式非冗余系统(如单服务器网站)也是如此。
数据集
数据集可在Bitquery的S3 public中获得:
Jupyter Notebook
Jupyter Notebook 在GitHub项目中,要运行代码,需要安装标准的Jupyter实验室,并在项目的数据文件夹中下载数据集。在下载完数据集后,可以在Jupyter实验室中打开笔记本并运行:% jupyter-lab
所有评论