EIP-1227: 移除难度炸弹并重置区块奖励
Authors | SmeargleUsedFly (@SmeargleUsedFly) |
---|---|
Created | 2018-07-18 |
Discussion Link | https://github.com/ethereum/EIPs/issues/1227 |
Requires | EIP-649 |
简述
本 EIP 提议永久禁用“难度炸弹”并将区块奖励重置到拜占庭升级前的水平。
摘要
从 FORK_BLKNUM
开始,客户端将计算不包含额外指数成分的难度。此外,区块奖励将调整为 5 ETH 的基数,叔块和侄块的奖励也将相应调整。
动机
由于 EIP #2 中引入的“难度炸弹”(也称为“冰河时代”),难度呈人为的指数级增长,直至链冻结,用户可能会发现,在硬分叉后,要留在未分叉的链上极具挑战性。 在计划的网络升级的情况下,这是冰河时代的理想效果(实际上,这是其唯一声明的目的),但是当硬分叉包含有争议的更改时,这尤其成问题。
这种情况已经观察到:在拜占庭硬分叉期间,用户可以选择跟随链的升级方或保留在原始链上,后者已经经历了超过 30 秒的出块时间。 实际上,人们会发现,在这种情况下,要组织分散且去中心化的一组人来保持原始的、即将消亡的链是不可能的。 当有争议的更改(例如 EIP #649)在硬分叉日期前如此接近时被合并时,这种情况会加剧,因为用户无法在这么短的时间内被组织起来,以便对更改采取有根据的立场。
最终,难度炸弹只有一个目的:使硬分叉后更难保持原始链的存活。 如果社区表达意见的唯一方式是运行/不运行客户端软件,而不是通过 EIP 流程,这是不可接受的,因为他们实际上别无选择,因此没有权力。 本 EIP 提议完全消除难度炸弹,从而将以太坊治理过程中的一些权力返还给用户和社区。
鉴于围绕直接相关的 EIP #649 的争议,发行量也应重置为拜占庭升级前的水平。 以后可能会通过新的硬分叉再次减少它,只有这一次,用户实际上可以选择接受或不接受更改。 注意:发行量减少不是本提案的重点,而是可选的; 降低难度炸弹是首要关注的问题。
规范
移除难度调整的指数部分
为了 calc_difficulty
的目的,只需删除指数难度调整部分 epsilon
,即 int(2**((block.number // 100000) - 2))
。
重置区块、叔块和侄块奖励
为了确保以太币发行量恒定,请将区块奖励调整为 new_block_reward
,其中
new_block_reward = 5_000_000_000_000_000_000 if block.number >= FORK_BLKNUM else block.reward
(5E18 wei, 或 5,000,000,000,000,000,000 wei, 或 5 ETH)。
类似地,如果一个叔块包含在 block.number >= FORK_BLKNUM
的区块中,使得 block.number - uncle.number = k
,则叔块奖励为
new_uncle_reward = (8 - k) * new_block_reward / 8
这是现有的拜占庭升级前的叔块奖励公式,只需使用 new_block_reward
进行调整。
block.number >= FORK_BLKNUM
的侄块奖励为
new_nephew_reward = new_block_reward / 32
这是现有的拜占庭升级前的侄块奖励公式,只需使用 new_block_reward
进行调整。
理由
这将永久地,无需进一步更改地禁用“冰河时代”。 它还将区块奖励重置为拜占庭升级前的水平。 这两个更改的指定方式与 EIP #649 类似,因此它们应该只需要客户端开发人员进行最少的更改。
向后兼容性
本 EIP 不向前兼容,并且在难度计算以及区块、叔块和侄块奖励结构中引入了向后不兼容性。 但是,它在用户群的不同部分之间可能存在争议——这正是本 EIP 旨在解决的问题。 因此,不应将其包含在特定区块号的计划硬分叉中。 建议在两个大都会硬分叉中的第二个之前,在隔离的硬分叉中实现此 EIP。
测试用例
即将推出。
实现
即将推出。
版权
通过 CC0 放弃版权及相关权利。
Citation
Please cite this document as:
SmeargleUsedFly (@SmeargleUsedFly), "EIP-1227: 移除难度炸弹并重置区块奖励 [DRAFT]," Ethereum Improvement Proposals, no. 1227, July 2018. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-1227.