EIP 2.2:“所有 s 值大于 secp256k1n/2 的交易签名被视为无效。ECDSA 恢复预编译合约保持不变并接受较高的 s 值;在有合约需要恢复旧的比特币签名之类的情况下,这一功能就派上用场了。” [来源]
EIP 2.3:明确规定了,如果一个合约没有收到足够的 Gas 来完成整个操作过程,合约创建将 会“失败”,而非创建一个空白合约,使得交易可能的输出结果由原来的 [成功]、[失败] 或 [空] 变为 [成功] 或 [失败]。
EIP 2.4:取消了对用户创建难度值较高的区块的激励,从而增加挖到区块的概率。这一升级将出块时间稳定在 10 秒到 20 秒,并将整个网络恢复到大约 15 秒的目标出块时间。
EIP-7
“在 0xf4 中新增了一个操作码,DELEGATECALL。该操作码与 CALLCODE 类似,不同之处在于它将发送方和数值从父作用域发送到子作用域,也就是说,被创建的调用与原始调用拥有相同的发送方和数值。”[来源]
EIP-8:面向未来的升级
EIP-8 是一项着眼于未来的网络升级计划改进提案。这一改进确保以太坊网络上所有的客户端软件都能适应未来的网络协议升级。
DAO 分叉 | 2016 年 7 月 20 日
除了计划内的以太坊升级和硬分叉之外,还有一次计划外的 DAO 事件值得被铭记。在 2016 年,一个名为 The DAO 的去中心化自治组织通过代币发售筹集了 1.5 亿美元资金。在6 月,The DAO 被黑客攻击,有价值 5000 万美元的 ETH 被一位不知名的黑客劫走。以太坊社区的大多数参与者决定实行硬分叉,恢复钱包中被盗的 ETH 并修补漏洞。然而,硬分叉没有得到社区内所有参与者的一致认可,还有部分参与者继续在那条 原始 链上挖矿并交易。未恢复被盗 ETH 的 原始 链被称为以太经典(ETC),久而久之,其安全性逐渐降低,挖矿难度也在下降。社区的大部分参与者以及核心开发者则继续在分叉链上工作——被窃的 ETH 回到了它们原本的持有者手中——这就是我们现在熟知的以太坊区块链。
大都会:拜占庭分叉 | 2017 年 10 月 16 日
以太坊路线图的下一步被称为大都会(Metropolis),它将分为两个阶段进行:拜占庭(Byzantium)和君士坦丁堡(Constantinople)。拜占庭分叉于 2017 年在第 437 万个区块高度上激活,其中包含了以下 9 个 EIP:
EIP 100
调整区块难度评估公式,将叔块纳入参考范围。新的公式使得火币增发率变得更加稳定,并确保无法通过操纵叔块来强制提高发行率。
EIP 658
对于拜占庭硬分叉升级后的区块,交易收据内会包含一个状态字段来标志成功(赋值为 1)或失败(赋值为 0)。
EIP 649
“难度炸弹”是这样一种机制:一旦被激活,每新挖出一个区块所需的成本(即难度)都会提高,直到难度达到不可能挖出新的区块为止。一旦达到这个难度,以太坊网络将 “冻结”。难度炸弹最初于 2015 年 9 月被纳入以太坊网络,旨在帮助以太坊网络从 PoW 转型为 PoS。一旦实行了 PoS 机制,矿工们从理论上来说依然可以选择支持旧的 PoW 链,这就会导致社区分裂并产生两条独立的链——一条由权益所有者(staker)维护,另一条由矿工维护。为了防止这种情况发生,难度炸弹机制应运而生,它会让挖矿效率变得越来越低,最终确保整个网络完成向 PoS 机制的过渡,而不会出现硬分叉的情况。在该提案中,难度炸弹(也称冰河世纪)将推迟一年,此外区块奖励从 5 ETH 降至 3 ETH。
其余拜占庭分叉 EIP 的具体内容(140、196、197、198、211、214)可以在这里找到。
大都会:君士坦丁堡 | 2019 年 2 月 28 日
大都会升级的第二阶段君士坦丁堡(Constantinople)原定于 2019 年 1 月中旬在第 708 万个区块高度上线。1 月 15 日,一家名为 ChainSecurity 的独立安全审计公司发布了一份报告,指出五个主要的系统升级中有一个会让攻击者有窃取资金的机会。针对该报告提出的问题,以太坊核心开发者和社区的其他成员投票决定暂缓升级,直到该安全问题得到解决。在 1 月末,核心开发者们宣布将于第 728 万个区块高度上激活升级。2 月 28 日,第 728 万个区块高度上执行了君士坦丁堡硬分叉。以太坊网络目前正处于君士坦丁堡阶段。
EIP 145:按位移动指令
按位移动指令被添加至以太坊虚拟机(EVM)。这些指令让二进制信息中的比特可以以动到左边和右边。这一改进意味着智能合约的按位移动操作将便宜 10 倍。
EIP 1052:智能合约验证