Alert Source Discuss
🛑 Withdrawn Standards Track: Core

EIP-1240: 移除难度炸弹

Authors Micah Zoltu (@MicahZoltu)
Created 2018-07-21
Discussion Link https://ethereum-magicians.org/t/difficulty-bomb-removal/832

简述

由于难度炸弹(也称为“冰河时代”)的缓慢加速,平均区块时间正在增加。 本 EIP 提议随着时间的推移移除难度增加,并将其替换为以 15 秒区块为目标的固定难度。

摘要

FORK_BLOCK_NUMBER 开始,客户端将计算难度,而不考虑当前的区块号。

动机

难度炸弹的运作基于以下假设:矿工决定经济参与者运行什么代码,而不是经济参与者自己决定。 实际上,矿工会挖掘任何最有利可图的链,而最有利可图的链是经济参与者使用的链。 如果 99% 的矿工挖掘一条没有经济参与者使用的链,那么该链将没有价值,矿工将停止挖掘它,转而支持其他有经济参与者的链。 另一种说法是,矿工会追随经济参与者,而不是相反。

规范

移除难度

为了 calc_difficulty 的目的,如果 block.number >= FORK_BLOCK_NUMBER,则将 epsilon 分量更改为 0,而不是将其作为区块号的函数。

理由

随着难度炸弹的移除,当 Casper 发布时,将由经济参与者来决定他们是否想要 Casper 启用的功能。 如果他们不想要 Casper,他们可以自由地继续运行未打补丁的客户端,并参与今天存在的以太坊网络。 这种选择的自由是 DLT 的基石,并且使人们难以做出选择(通过创建人为压力)不利于实现自由选择的目标。 如果开发团队不确定经济参与者是否想要 Casper,那么他们应该重新评估他们的优先级,而不是试图将 Casper 强加给用户。

作者个人说明:我认为我们将会看到以太坊中几乎所有的经济参与者都切换到 PoS/Sharding,而无需超出客户端默认设置之外的任何额外压力。

向后兼容性

此 EIP 不向前兼容,并在难度计算中引入向后不兼容性。 因此,它应该包含在某个区块号的计划硬分叉中。

测试用例

一旦开发者接受规范或客户端实现规范,就应创建测试用例。

实现

黄皮书在 https://github.com/ethereum/yellowpaper/pull/710 中实现了此更改

版权

版权及相关权利通过 CC0 放弃。

Citation

Please cite this document as:

Micah Zoltu (@MicahZoltu), "EIP-1240: 移除难度炸弹 [DRAFT]," Ethereum Improvement Proposals, no. 1240, July 2018. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-1240.