用户意见反馈

请在下面填写您遇到的问题或意见建议,并留下您的联系方式,
我们将为您提供更好的产品和服务。

您的邮箱地址

请详细描述您的问题或建议*

上传截图支持 jpg,jpeg,png,gif等图片格式,图片小于5MB

取消提交
举报
  • 内容涉嫌抄袭,代表月亮消灭他/她
  • 发布不实消息,画个圈圈诅咒他/她
  • 诱导投资,放毛毛,揍他/她
  • 侵犯名誉、隐私,这个借一步说话
  • 其他
具体描述(选填):
取消提交
我要爆料

填写邮箱地址/手机号码(仅管理人员可见)

请详细描述您要爆料的内容*

上传截图支持 jpg,jpeg,png,gif等图片格式,图片小于5MB

取消 提交
提交网址
常用工具
取消 提交

投稿奖励Token领取申请 我的奖励

选择您要兑换的Token

填写兑换文章信息

请填写您在链向财经平台已审核通过且未申请兑换Token的文章

*兑奖信息一旦提交将无法修改,请认真核对兑换规则及接受地址

取消 提交

已成功提交审核

期待您更多优秀的作品

Token奖励领取最新状态,可前往
个人中心“我的奖励-投稿奖励”查看

后,弹窗自动关闭

扫码领取奖励 更多详情

链小象(CFOR)未来可兑换比特币、以太坊、瑞波、EOS等区块链资产;链向财经合作区块链项目资产;链向财经应用内的增值产品和服务、链向财经主办活动的奖品。

  • 10442
  • 3
  • 喜欢
  • 举报
  • 分享到
  • 微信
    打开微信“扫一扫”,打开网页后点击屏幕右上角“分享”按钮
  • 空间
  • 微博
  • twitter
  • facebook

Qtum量子链发布全新难度调整算法,QIP-9如何让出块时间更加平稳?

09-26 11:45

标签: QTUM QIP 算法

来源: QtumChain



前 言

Qtum 使用 PoS 共识机制,设计平均区块间隔 128 秒。实际网络运行状态显示平均区块间隔约 144 秒且出块时间波动巨大。为了解决这个问题,QIP-9 提出了新的难度调整算法,将平均区块间隔降到平均 128 秒,并通过增大 nPoWTargetTimespan 大大降低区块间隔的波动

另外现有的全网算力估计算法计算结果方差过大,上下波动可达 40%,用户难以获得较准确的全网算力数据。QIP-9 通过固定原先算法中分母的取值显著减小计算结果的方差,使得估计的挖矿收益率更为准确

QIP-9 难度调整算法

1.Qtum 难度调整算法分析

QIP-9 难度调整算法的核心改动在[1]与[2]。改动有两处:

  1. 将难度调整算法由线性型改为指数型;

  2. 将 nPoWTargetTimespan 从 960 改变为 4000。



对于包含 coins 个币的 UTXO,它挖出一个区块的条件是

Hash(kernel)<coins×THash(kernel)<coins×

T,其中T是挖矿目标。结合 Qtum 难度调整算法公式[1]下一个区块挖矿目标Tn+1与当前区块挖矿目标 Tn的关系,即挖矿难度调整算法可以化简为

硬分叉前:



硬分叉后:



其中tn是当前区块的区块间隔,

α=64⋅(⌊nPoWTargetTimespan/128⌋+1)α=64⋅(⌊nPoWTargetTimespan/128⌋+1) 是调整系数。如果当前区块间隔大于 128 秒,下一区块的挖矿目标增大,难度减小,以此达到稳定区块间隔的效果,反之亦然。通过改变α的大小可以改变难度调整的幅度,调整幅度越大会导致挖矿难度变化越大,那么区块间隔波动也会相应变大。通过计算可知硬分叉前α=512, 分叉后α=2048

截止区块高度 390000,Qtum 主网所有 PoS 区块间隔平均值 144.22 秒,标准差 152.95 秒。而理想状态(区块间隔服从期望值 128 秒的几何分布)下,区块间隔 128 秒,标准差 119.73 秒。可见实际运行结果中区块间隔平均值与标准差远远大于设计值。这是由于难度调整算法不合适以及参数 α=512 过小导致。

2.QIP-9 对难度调整算法的改动

从难度调整算法公式不难看出,增大α 的值可以减小挖矿难度的变化,区块间隔波动也会相应减小。我们模拟了两种算法在取不同的α 值时对区块间隔平均值、标准差以及大间隔(出块时间超过 10 分钟)的区块数量的影响,得到以下数据:



可见 QIP-9 指数型调整算法对线性型调整算法在各项数据上表现都更好,它在平均区块间隔数据上十分接近设计值 128 秒是其正确性的体现。由上述表格的数据可知,当α≥2000时,各项指标变化已经比较缓慢,并且区块间隔标准差与大间隔区块占比已经很接近理想值。所以 QIP-9 的难度调整算法是合理的。

QIP-9 全网算力估计

1.全网算力估计算法介绍

定义全网算力为全网所有挖矿的币的总量。对于区块 n,记dn为其难度值,tn为其区块间隔, Wn 为其全网算力。由共识算法可以计算得:



我们对上述公式取最近 72 个区块的平均值:



上述公式就是原先的全网算力估计算法,取平均可以看做是对估计的光滑处理。QIP-9 提出了一种新的估计算法:



它将分母上的区块间隔替换为设计平均值 128,下面我们将用模拟来对比两种算法的效果。

2.全网算力估计算法对比

我们分别对新老算力估计算法进行模拟,第一张图代表难度调整算法修改前的模拟结果,第二张图代表难度调整算法修改后的模拟结果:





可以发现难度调整算法修改前即α 较小时,两种算力估计算法的模拟结果大致相同,α 更小时 QIP-9 提出的全网算力估计的方差比原算法更大。当难度调整算法修改后即α 较大时,新的全网算力估计曲线更光滑且方差更小,在实际算力波动较小的现实条件下是更优的算法。所以硬分叉后,QIP-9 提出的全网算力估计算法比原算法更优。

QIP-9 硬分叉升级带来的影响

QIP-9 将带来最显著的变化是平均区块间隔从 144.7 秒缩短为 128.0 秒,平均每天产生的区块数从 597 个大幅增加为 675 个。另外平均区块间隔的减小使得挖矿年收益率增加 13.0% (例如 7% → 7.91%),挖矿收益率有显著增加。

由于 QIP-9 带来共识的改变仅限于难度调整算法,对链上的交易只有在计算 lockTime 时间戳时需要注意。对于普通用户,只需及时升级钱包即可保证正常使用。

参考文献

[1] https://github.com/qtumproject/qtum/blob/733061a2b54d4d50365b07e9b48a9a8d455eadd6/src/pow.cpp#L109-L122

[2] https://github.com/qtumproject/qtum/blob/733061a2b54d4d50365b07e9b48a9a8d455eadd6/src/chainparams.cpp#L96

+1

已有0人喜欢

本文经授权发布,不代表链向财经立场。如若转载请标注文章来源:链向财经(www.chainfor.com)

为了您能更及时的获取到最新热门资讯,请关注链向财经微信公众号:LXcaijing

热门文章推荐