eip | title | author | type | status | created | requires |
---|---|---|---|---|---|---|
607
|
Hardfork Meta: Spurious Dragon
|
Alex Beregszaszi
|
Meta
|
Final
|
2017-04-23
|
155, 160, 161, 170
|
Abstract
This specifies the changes included in the hard fork named Spurious Dragon.
Specification
- Codename: Spurious Dragon
- Aliases: State-clearing
- Activation:(发生时间2016,11,22)
- Block >= 2,675,000 on Mainnet(主网在区块2,675,000后进行分叉)
- Block >= 1,885,000 on Morden(Morden测试网络在区块进行1,885,000后进行分叉)
- Included EIPs:
- EIP 155: Replay attack protection - prevents transactions from one Ethereum chain from being rebroadcasted on an alternative chain. For example: If you send 150 test ether to someone from the Morden testnet, that same transaction cannot be replayed on the main Ethereum chain. Important note: EIP 155 is backwards compatible, so transactions generated with the "pre-Spurious-Dragon" format will still be accepted. However, to ensure you are protected against replay attacks, you will still need to use a wallet solution that implements EIP 155. Be aware that this backwards compatibility also means that transactions created from alternative Ethereum based blockchains that have not implemented EIP 155 (such as Ethereum Classic) can still be replayed on the main Ethereum chain.
- EIP 160: EXP cost increase - adjusts the price of `EXP` opcode so it balances the price of `EXP` with the computational complexity of the operation, essentially making it more difficult to slow down the network via computationally expensive contract operations.
- EIP 161: State trie clearing - makes it possible to remove a large number of empty accounts that were put in the state at very low cost as a result of earlier DoS attacks. With this EIP, 'empty' accounts are removed from the state whenever 'touched' by another transaction. Removal of the empty accounts greatly reduces blockchain state size, which will provide client optimizations such as faster sync times. The actual removal process will begin after the fork by systematically performing `CALL` to the empty accounts that were created by the attacks.
- EIP 170: Contract code size limit - changes the maximum code size that a contract on the blockchain can have. This update prevents an attack scenario where large pieces of account code can be accessed repeatedly at a fixed gas cost. The maximum size has been set to 24576 bytes, which is larger than any currently deployed contract.