以太坊为什么又要进行“缪尔冰川”硬分叉?

转载
1774 天前
8755
星球日报

来源:星球日报     作者:秦晓峰


今天上午,以太坊官方发布公告称,将在区块高度 9200000(北京时间 2020 年 1 月 1 日)进行硬分叉升级。本次升级被命名为“缪尔冰川(Muir Glacier)”,具体日期可能会因出块时间以及时区而改变。


01
为何又要升级?

今年 12 月 8 日,以太坊便进行了今年第二次硬分叉升级——伊斯坦布尔硬分叉升级。

这也让不少人心中产生疑惑,时隔不到一月,以太坊为何又要进行一次升级?根本原因是,以太坊难度炸弹已经启动。

难度炸弹(Difficulty bomb)是以太坊工作量证明算法中内置的一种难度重定向机制,通过控制挖掘新块所需的挖掘难度来维持平均出块时间。如果出块时间太短(少于 10 秒)或者太长(大于 20 秒),则会相应地增加难度。


另外,难度炸弹也设置了:每增加 10 万个区块,挖矿难度就会上升。起初,难度上升会很小,对出块时间几乎没什么影响;但随着出块量的增加,难度会呈现指数级增长,最终导致出块量急剧减少,出块时间大幅延长,整个以太坊网络的可用性降低,从而进入“冰川时代”(The Ice Age)。

实际上,进入冰川时代也是以太坊的既定规划,从而迫使矿工及用户转入以太坊2.0,使用新链。但是,目前以太坊 2.0 并未完备,难以担负重任。因此难度炸弹必须被推迟,直到以太坊 2.0 准备就绪。

由于难度炸弹的启动时间很难估计,在今年进行伊斯坦布尔硬分叉升级部署前,开发者预计2020 年年中难度炸弹才会启动。因此,将「推迟难度炸弹」的计划放在后续升级中。

然而,这种估计是错误的。10 月 5 日,难度炸弹就在区块高度 8600000 上启动,当时对出块时间影响并不大;11 月 22 日,难度炸弹全面爆发,出块时间大幅延长,从13.4 秒延长至目前的 17.2 秒;过去一个月,每日出块量也从 5883 骤减至 4928,跌幅 16%。


(过去一月出块量)

以太坊提案(EIP 2384)表示:“ 每100,000个块,平均出块时间将以指数方式加速。到 2019 年 12 月底,我们将看到 20 秒钟的出块时间;从 2020 年 2 月开始将看到 30 秒钟以上的出块时间。这将使链条肿(拥堵)且使用成本更高。”

为了避免耽误伊斯坦布尔硬分叉升级,开发团队决定在其升级之后,单独进行一次硬分叉升级以推迟难度炸弹,这也是本次“缪尔冰川”硬分叉的来源。

本次升级取名“缪尔冰川”,也是为了纪念地质学家缪尔,他是准确提出冰川活动概念的第一位学者。

 

02
升级内容是什么?

“缪尔冰川”硬分叉升级只有一项改进提案(EIP),即EIP 2384,作者Eric Conner 。

EIP 2384 建议,将难度炸弹再推迟400 万个区块,大约向后推迟 611 天。而提案中还有一句话引人关注,“最好将难度炸弹再次推迟到Eth 2.0 最终版工具(finality gadget)预计发布的时间。”

另外,本次硬分叉升级也会在测试网(Testnet)上同步进行,Ethereum Cat Herders 表示:

  • “缪尔冰川”升级将只在 Ropsten 测试网上激活,其他测试网不会部署;
  • Ropsten 测试网区块高度是 7117117;
  • 它将与主网在同一天部署在测试网上,可能不是完全在同一时间,但我们期望空窗期在 48小时内;
  • 难度炸弹升级永远不会在 PoA 链激活,不会部署在 Kovan 或 Gorli 上。

 

03
如何应对升级?

关于本次升级,不同的人群所采取的措施也不同。

对于以太坊用户或以太币(ETH)持有者,除非交易所或钱包服务商告诉你采取其他步骤,否则无需执行任何操作。

作为节点或矿工,则需要在 12 月 30 日前,下载最新版本的以太坊客户端进行更新:

  • 最新的geth客户端(v1.9.9)
  • 最新的Parity客户端(v2.5.12稳定)
  • 最新的Besu客户端(v1.3.7)
  • 最新的Nethermind客户端(v1.2.6)
  • 最新的ethereumJS客户端(v4.1.2)
  • 最新的Aleth客户端(v1.8.0)

注意:Besu 是用 Java 编写的与主网兼容的以太坊客户端;Harmony(ethereumJ)现在已被弃用,并且之前也不支持伊斯坦布尔硬分叉,别去下载。

另外,Ethernodes.org 已在提供了“缪尔冰川”升级节点统计信息。etherscan.io 提供了一个分叉倒计时器。

  • 参考文章:
  • 《以太坊“缪尔冰川”升级》
  • 《以太坊“缪尔冰川”升级公告》