[Thomas Jay Rush]引介 | 难度炸弹推迟:该如何决策?
本文是为预测 EIP 4345 的影响而作的练习。这个 EIP 提议在 2021 年 12 月推迟难度炸弹。我们的目标是看看我们是否能帮助确定应该何时推迟、应该推迟多少,好让难度炸弹预计在 2022 年 5 月份再次爆炸。
预备知识
有关这个主题,我之前已经写过很多篇文章了:
-
有关难度计算的方法:It’s Not the Difficult(中文译本)
-
有关如何推迟难度炸弹:A Method to Diffuse the Difficulty Bomb
-
一些更老的文章见 此处 和 此处
难度炸弹的计算两部分组成:A 部分,用于调整难度、平抑出块时间的波动;B 部分,即难度炸弹本体(详细解释见上述第一篇文章)。
A 部分的调整时逐块发生的,保证出块时间围绕 13.5 秒波动。这部分的调整效果非常好,如果没有难度炸弹的话,将使出块时间几乎保持恒定。我们感兴趣的是 B 部分。
B 部分的炸弹是一个阶跃函数,每隔 10 万个区块,数值就变作两倍。在 “爆炸” 之前,大家都不会注意到它,然而一旦它开始爆炸,数值上升的速度会非常快(跟 2^n 一样。
炸弹的数值依赖于 fake_period
(伪周期号,在等式中表示为 n_sub_p
)。fake_period
的值则完全依赖于 fake_block
(伪区块号)的数值;这个数值又是由当前区块的区块号(real_block
数值)以及 offset
(推迟量)决定的。
注意
我只有自己一个人。我带着日渐疲惫的心、使用公开可得的数据写下这篇文章。我在这里所说的一切都是可以讨论的,但我已不准备为此负任何责任。本文中的一切,请自己带着怀疑和谨慎加以看待和使用。
实际数据 vs. 理论数据
我是一个工程师,不是一个数学家,所以我对实际数据的兴趣,要比对数学预测的大。在下文中,我会预测数据将如何改变。我的预测基于上面的公式,但都只用到了简单、直接的 Excel 表格。
我的讨论基于三个简单的观察:
-
A 部分工作得非常好,使得出块时间稳定在平均 13.3 的水平。
-
B 部分也工作得非常好,它是独立于 A 部分的,并且只会提高区块时间。
-
如果我们忽略炸弹部分,我们的预测会是保守的。
换句话来说,如果我们的预测忽略了炸弹的效果,我们预测的时间将会比实际时间 “提早” 一些。这样的话,即使我们预测错了,也会有额外的缓冲时间。
第一个表格使用当前的区块号(在撰文之时是 1339 1127),并按每块 13.3 秒的时间推算出 1400 0000 区块高度的时间:
看仔细一些,我们发现,自区块号 1200 0000 以来,平均出块时间一直在提高(尽管 8 月和 9 月有所下降)。当然,随着炸弹的爆炸,平均出块时间会增加得越来越快。
再次强调,为了保守一些,我们选择 13.3 秒的出块时间来预测未来区块挖出的具体时间,并且,我们暂时忽略难度炸弹的效果。当难度炸弹爆炸时,平均出块时间增加;所以,忽略难度炸弹的结果是我们预测的时间将早于实际挖出的时间。(按我们这个例子来看,就是区块 1400 0000 将 “不早于” 2022 年 1 月 10 日挖出。)
何时分叉
我们考虑的第一个问题是,“何时应该分叉?”
在我看来,答案完全取决于 fake_period
的数值。可以这么问:“我们应该在哪个区块号分叉?1370 0050,1380 0050 还是 13900 0050?”(加上一个 50,确保没有差一错误(off-by-one error) —— 为什么这很重要,则留给读者当作练习 —— 公式的计算应该使用大于号呢,还是使用大于等于号呢?)
下面的表格展示了 fake_block
计算。
在这里我们并置了对每个区块将挖出的具体时间的预测,以及伪区块号的计算(用真区块号减去偏移量,获得伪区块号,并推导出伪周期号)。
伪周期号正是我们感兴趣的内容,因为难度炸弹的值完全取决于伪周期号的值。从我之前的工作来看,我们认为难度炸弹的效果会在伪周期号达到 41~42 之间的时候开始显现,在此之前则不明显。换言之,当伪周期号变成 41 时,B 部分的效果将压过 A 部分的效果。
我在这里不想解释为什么难度炸弹的效果不会在伪周期号达到 41 之前显现。我想说的只是,炸弹只会提高出块的时间,而如果没有炸弹的话,A 部分就会让区块时间保持在 13.3 秒左右。换句话来说,平均出块之间会高于 13.3 秒,如果太低了(出块速度太快了),A 部分就会调整难度,把出块时间拉回来 —— 再直白一点 —— A 部分就是这么工作的。
给定上述分析,我建议在晚于 1380 0000 区块的任意时间分叉。大概是 12 月中旬。我会建议以具体的区块号(而不是日期)为目标,比如区块号 1385 0000。“痛点”(也就是出块时间明显减慢的时候)会在大约 1 月中旬到来。所以这个目标也是有容错空间的。
我们应该推迟多少伪块?
我们需要考虑的另一个问题是,“我们需要偏移多少伪区块?”
如上所述,偏移量决定了伪区块号,进而决定了伪周期号,进而决定了炸弹的值。所以,在下文中,我们会专注于偏移量,看看我们能学到什么。
EIP 4354 所提议的数值
首先,我们来看看这个 EIP 提议的偏移量。我们在此根据 13.3 秒的平均出块时间生成一个简单的图表。同样地,我们忽略炸弹的影响,因为我们知道炸弹只会提高区块时间,因此让相应区块号的实际发生时间晚于我们的预测。我们将安排 “Arrow Glacier”(下一次分叉的代号)发生在 1380 0050 号区块,并使用这个 EIP 提议的偏移量 1050 0000。
本图似乎表明,如果我们(按照这个 EIP 的建议)设置 1050 0000 的偏移量,则难度炸弹最早将在 4 月中旬(也即伪周期号再次到达 41 的时候)开始爆炸。到 5 月中旬,区块将开始显著变慢(伪周期号到达 43)。
我们之前遇过的最大的伪周期号就是 43, 是在 “拜占庭” 分叉之前。出块时间的增加显著可见 —— 达到了数秒的级别。
提早或推迟分叉的时间
为了消遣,我准备看看如果我们提早或推迟分叉的时间,会有什么影响。
下面的这张表显示了估计的结果 —— 让我有点意外 —— 分叉的时间对最终结果没有影响。但是,我回想了一些,觉得这是有道理的。因为,唯一一个决定伪周期号的量就是偏移量。除了让当次分叉之前出块变得更慢,推迟分叉的时间对下一次难度炸弹爆炸的时间(即四五月间)没有任何影响。
你可以从上面这张图看出,无论我们早点还是晚点实施 “Arrow Glacier” 硬分叉,只要我们使用 1050 0000 的偏移量,那就对下一次难度炸弹爆炸的时机没有任何影响。
那我们该偏移多少呢?
这个问题取决于你想在 5 月的时候给以太坊核心开发者多大的压力。如果你想给他们很大的压力 —— 让 5 月的时候整个世界都会抱怨以太坊出块速度变慢 —— 那就把偏移量设得小一点。如果你只想轻轻地推他们一下 —— 类似于 “我们最好现在采取行动,不过也不是特别着急” —— 那就支持大一点的偏移量。
如果你使用了 1050 0000 的偏移量,你可能是在给他们很大的压力。你可以预期,四月底就会看到出块显著变慢(慢上一秒的那种)。但是,难度炸弹的麻烦之处在于,一旦开始爆炸,就不会给人喘息之机。
从 “明显(变慢)” 到 “非常显著”,到 “令人烦躁”,再到 “搞什么鬼” 再到 “以太坊去死吧”,只需要 4 到 6 周时间。我不是瞎扯,因为每一个 10 万区块的周期都会越来越长(因为每过一个周期,炸弹数值就会翻倍,出块时间会增加得非常快),而且只要开始爆炸,就会爆炸得越来越快。详见我上面关于 “拜占庭” 分叉前爆炸情况的文章。难度炸弹是来得很慢,但爆炸之后可就是另一番景象了。
在最后一个表格中,我建议使用 1070 0000 的偏移量。我同样建议在1380 0050 号区块后分叉。这会让我们现在有休息的时间,并让预计下一次爆炸的时间推到 5 月中旬。这是保守估计,但也是现实的考量。
结论:需要设置大于 1050 0000 的偏移量。
总结
-
决定你想给核心开发者多大的压力。如果你想狠狠推他们一把,就把偏移量设为 1050 0000;如果你想放过自己,就请设置为 1070 0000。摇摆不定的,可以在这两者间取一个值。
-
“何时” 激活分叉的决定对下次爆炸的时间没有影响(也即,都左右不了炸弹会在 5 月份爆炸)。这个决定唯一影响的是 “Arrow Glacier” 硬分叉之前 出块时间会拉长到多久。这是因为,只有偏移量会影响伪周期号,也只有伪周期号会影响难度炸弹的数值。
支持我们的工作
TrueBlocks 是完全用我们的个人资金支持的项目,少量奖金来自以太坊基金(2018)、Consensys 公司(2019)、Moloch DAO(2021)以及近期的 Filecoin/IPFS(2021)。
如果你喜欢本文,或者希望支持我们的工作,请看我们的 GitCoin 主页:https://gitcoin.co/grants/184/trueblocks。请给下一轮匹配捐款。我们会从更大的匹配奖励中获得额外的利益。即使很小的数额也会产生很大的效果。
或者,你可能更愿意直接给我们捐助。
(完)
(文内有许多超链接,可点击左下 ”阅读原文“ 从 EthFans 网站上获取)
原文链接:
https://medium.com/coinmonks/adventures-in-difficulty-bombing-837890476630
比推快讯
更多 >>- Radiant Capital 社区正投票决定 LayerZero 空投分配策略
- 港府已与香港证监会沟通尽快处理所有虚拟资产平台申请
- 比特币生态项目ALEX向代币持有者空投不可转让的投票代币
- Grease Monkey Games (GMG)发布Torque Drift 2 0.9版官方更新,引入游戏内置代币
- CNV总裁:萨尔瓦多不仅已成为比特币采用的全球领导者,而且在更广泛的加密货币行业中也表现出色
- 香港混合加密基金Merkle 3s Capital宣布加入Core Venture Network
- Parasail完成400万美元种子轮融资,Protocol Labs领投
- Aperture Finance以2.5亿美元的估值完成A轮融资
- 去中心化金融平台UniTap完成私募轮融资,X Ventures领投
- Solana通过提案,将100%的优先费用分配给验证者
- QCP Capital:比特币将保持上升趋势
- 英伟达股价突破 1110 美元,创历史新高
- BEVM 联合 Bybit Wallet 开启生态空投活动,将发放 147 万枚 BEVM 代币
- ENS Labs提议将服务迁移到Layer2网络
- 据比推消息,行情显示,BONK突破0.0000435美元,现报价0.00004335美元,24小时涨幅达16.32%,行情波动较大,请做好风险控制。
- BTFS v3.0 官网升级,公布挖矿奖励减半路线图
- 市场消息:请勿下载 Aggr Chrome 插件,存在恶意窃取行为
- 比特币矿商 Riot 寻求收购竞争对手 Bitfarms
- Mt.Gox确认向未知地址转移比特币是在10月31日之前偿还债权人
- 民意调查:77%的选民认为美国总统候选人应该了解加密货币
- 香港证监会:在港营运的虚拟资产交易平台的不违反期间将于6月1日结束
- 知情人士:由亿万富翁Alan Howard支持的加密技术公司Elwood Technologies正在商谈出售部分业务
- Bitrue推出风投基金Bitrue Ventures,重点关注AI和RWA项目
- OKX Web3钱包现已接入Taiko网络
- 加密货币经纪商 FalconX 推出外汇交易柜台
- 新火科技以 FTX 原索赔金额的 107.8% 出售所有索赔权益,共 1950 万美元
- “门头沟”MtGox的比特币转入地址持仓价值突破50亿美元
- Ledger开始向预订客户交付Ledger Stax硬件钱包
- POKT Network推出Shannon公共测试网
- MyAnimeList获Animoca Brands Japan 3亿日元投资
- 新加坡Web3基金会全资收购Web3社交平台3TChat
- 投资巨头Vanguard或重新考虑加密货币立场,已向美SEC提交提及数字货币的专项基金
- Polygon PoS计划接入AggLayer,并迁移至zkEVM validium架构
- 衍生品DEX Lyra将部署至Swell L2
- Kaiko:灰度ETHE或在作为现货ETF推出后首月日均流出1.1亿美元
比推专栏
更多 >>观点
项目
比推热门文章
- Radiant Capital 社区正投票决定 LayerZero 空投分配策略
- 港府已与香港证监会沟通尽快处理所有虚拟资产平台申请
- 比特币生态项目ALEX向代币持有者空投不可转让的投票代币
- Grease Monkey Games (GMG)发布Torque Drift 2 0.9版官方更新,引入游戏内置代币
- CNV总裁:萨尔瓦多不仅已成为比特币采用的全球领导者,而且在更广泛的加密货币行业中也表现出色
- Solana DePIN项目半年报:相关项目市值超百亿,Helium Mobile吸引近9万名用户
- 浅析Aave V4的核心要点——“统一流动性层”
- 8 小时 160 倍,归零帽子戏法,卡戴珊家族的「狗血」币圈游
- NFT 消亡了吗?OpenSea 首席执行官预言下一波百万用户潮
- 福布斯专访 CFTC 前主席:加密货币终将在美国王者归来