

难度炸弹推迟:该如何决策?
source link: https://ethfans.org/posts/adventures-in-difficulty-bombing
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

难度炸弹推迟:该如何决策?
Ajian | 25. Oct, 2021 | 92 次阅读
本文是为预测 EIP 4345 的影响而作的练习。这个 EIP 提议在 2021 年 12 月推迟难度炸弹。我们的目标是看看我们是否能帮助确定应该何时推迟、应该推迟多少,好让难度炸弹预计在 2022 年 5 月份再次爆炸。
有关这个主题,我之前已经写过很多篇文章了:
难度炸弹的计算两部分组成: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。请给下一轮匹配捐款。我们会从更大的匹配奖励中获得额外的利益。即使很小的数额也会产生很大的效果。
或者,你可能更愿意直接给我们捐助。什么token 都行,请发到以太坊地址 trueblocks.eth 或者 0xf503017d7baf7fbc0fff7492b751025c6a78179b。
原文链接: https://medium.com/coinmonks/adventures-in-difficulty-bombing-837890476630
作者: Thomas Jay Rush
微信扫一扫
分享至朋友圈
Recommend
-
36
关于以太坊难度计算的所有信息 每当以太坊的定时炸弹爆炸时,总会有两个问题出现在我们面前。第一个问题(也可以说是更重要的一个问题)是:“什么时候出块会变慢,那简直不能忍。” 第二个问题是,“这一次,我们应该将炸弹推迟...
-
13
以太坊伦敦升级将把难度炸弹推迟至12月 # 以太坊 2021-05-18 08:30
-
9
难度炸弹推迟、监管风暴来袭,以太坊后续剧本会如何演绎? 欧科云链 原创 2021-05-19 10:30 热度 651356 分享 微信扫一扫:分享
-
5
如果说今年比特币的大牛市和shib的热潮让大批圈外人认识并进入到这个市场,那么520前夜的“519事件”就给所有人上了一课,让大家对这个市场认知更加全面,原来币圈除了暴涨,还有暴跌和归零。很多人觉得整个加密市场算是崩盘了已经,但对于圈内老人来说,暴...
-
10
可能改变519明天的以太坊难度炸弹WebX实验室2021-05-22热度: 46274难度炸弹的难不如说是ETH向ETH 2.0转变的难,如何在不分叉的前提下,说服...
-
6
如果说今年比特币的大牛市和 shib 的热潮让大批圈外人认识并进入到这个市场,那么 520 前夜的「519 事件」就给所有人上了一课,让大家对这个市场认知更加全面,原来币圈除了暴涨,还有暴跌和归零。很多人觉得整个加密市场算是崩盘了已经,但对于圈内老人来...
-
16
以太坊难度炸弹推迟到2021年12月_区块链资讯_链向财经以太坊难度炸弹推迟到2021年12月05-27 16:27标签以太坊延期来源...
-
12
矿视界译文:以太坊难度炸弹推迟到2021年12月 MinerHub 2021-05-28 14:46 以太坊难度炸弹再次延期
-
4
以太坊核心开发者:以太坊难度炸弹或将再次被推迟 鸵鸟区块链要闻 2021-08-22 10:26 摘要: 以太坊核心开发者:以太坊难度...
-
10
eth合并阶段的pow开关是什么,它和难度炸弹什么关系 | 登链社区 | 技术问答 eth合并阶段的pow开关是什么,它...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK