EIP2384 - 缪尔冰川(Muir Glacier)难度炸弹推迟

# 简述

由于难度炸弹(也被称为“冰川时期”)的缓慢加速,平均出块时间不断增加。本次 EIP 提议将难度炸弹再推迟 400 万个区块(换算成时间单位,大约是 611 天)。

# 摘要

MUIR_GLACIER_FORK_BLKNUM 开始,客户端将根据一个经过修改的区块编号来进行难度计算,具体的说,比起家园硬分叉(Homestead Fork),难度炸弹被往后调整了 900 万个区块;比起拜占庭硬分叉(Byzantium Fork),往后调整了 700 万个区块;比起君士坦丁堡硬分叉(Constantinople Fork),则是往后调整了 400 万个区块。

# 动机

2019 年 10 月 5 日在 8,600,000 区块高度时的难度炸弹再次开始引起了关注。当时的平均出块时间在 13.1 秒左右,而到 8,900,000 区块高度时,这就达到 14.3 秒了。这代表着每 100,000 块出块时间就将呈指数级增加。通过预估难度炸弹对出块时间的额外影响表明,我们将在 2019 年 12 月结束时看到 20 秒以上的出块时间,从 2020 年 2 月开始将看到 30 秒以上的出块时间。这不仅会使得以太坊链变得臃肿,而且也会进一步增加使用成本。最好是将难度炸弹再次推迟到 Eth2 方案预计发布的时间左右。

# 技术规范

# 修改区块编号降低难度

为了 calc_difficulty ,只需使用以下公式替换难度炸弹在冰川时期指数分量中使用的 block.number

fake_block_number = max(0, block.number - 9_000_000) if block.number >= MUIR_GLACIER_FORK_BLKNUM else block.number

# 理论基础

这将使“冰川时期”足足推迟 5200 万秒(约 611 天),也就是说以太坊仍然会在 2021 年 7 月左右达到 20 秒出块时间。另外值得注意的是,这将把“冰川时期”从 8,800,000 这一固定的区块高度推后 4,000,000 区块高度,而不是从这个 EIP 所在的分叉激活区块往后推的。

# 向后兼容性

此次 EIP 不是向前兼容的,在计算难度时引入了向后不兼容。因此,它应该包含在某个块号的预定硬分叉中。我们的建议是在伊斯坦布尔硬分叉(Istanbul Fork)后不久加入这个 EIP。

# 测试案例

暂无测试案例可以提供,但只要规范被开发人员接受或由客户实施,就会创建测试案例。

# 执行

具体执行的逻辑与 EIP-649EIP-1234 没有区别;parity-ethereum#9187 (opens new window) 节点的搭建同样适用。

# 版权声明

通过 CC0 (opens new window) 放弃全部著作权与邻接权。

▲ Powered by Vercel