Significant Changes Coming to Ethereum
Major decisions were made at a Ethereum core developers meeting late Thursday night, in which 6 EIP's (Ethereum Improvement Proposals) were voted on and approved. These changes will be implemented in a two part hard-fork named Istanbul, which is tentatively scheduled for this October. 8 more EIP's were tentatively approved for the second part of the fork, with the spotlight being on the controversial ProgPOW algorithm. The second part of the Istanbul fork is expected to be implemented sometime in Q1 2020.
The 6 EIPs approved for Istanbul 1 are:
- EIP-152: Add Blake2 compression function F precompile
- EIP-1108: Reduce alt_bn128 precompile gas costs
- EIP-1344: Add ChainID opcode
- EIP-2028: Calldata gas cost reduction
- EIP-1884: Repricing for trie-size-dependent opcodes
- EIP-2200: Rebalance net-metered SSTORE gas cost with consideration of SLOAD gas cost change
The 8 EIPs that are tenatively approved for Istanbul 2 are:
- EIP-663: Unlimited SWAP and DUP instructions
- EIP-1057: ProgPoW, a Programmatic Proof-of-Work (pending audit, above and beyond standard security considerations, that should be evaluated prior to inclusion).
- EIP-1380: Reduced gas cost for call to self
- EIP-1702: Generalized account versioning scheme
- EIP-1962: EC arithmetic and pairings with runtime definitions (replaces EIP-1829)
- EIP-1985: Sane limits for certain EVM parametersEIP-2045: Particle gas costs for EVM opcodes
- EIP-2046: Reduced gas cost for static calls made to precompiles
More than a dozen EIPs were rejected or withdrawn.
Controversy Surrounding ProgPOW
The proposed mining algorithm change called “ProgPoW” was covered and criticized early January this year as the hot topic of rewards reduction and the rise of ASIC miners came to light. ProgPOW, which would slow down Ethereum ASIC mining, was put on the agenda to be rolled out as soon as possible pending security and stability tests. Critics—myself included— argued that the 3-4 months estimated time to implement ProgPOW was a severe underestimation and highly unlikely. 8 months later, it seems we were correct as if ProgPOW is implemented after all, it would be nearly 14 months after the original proposal.
A few days ago during a core developers meeting, perhaps under the pressure of the massive Ethereum mining community, they had a very interesting discussion regarding this issue. “Mr Else” pointed out that the current ASICs for Ethash are only “marginally” better than a normal GPU — but the next generation of the ASICs will be about “2x better than GPUs.” They continue to call this a “slow arms race” between the GPU manufacturers and ASIC companies. In the end the decision was made that ProgPOW will be implemented in the future as long as there is nothing critical found in the largely untested algorithm. However, that could take precious months to implement, not to mention the logistical headaches and resources it would take for the network to hold another hardfork.
The implementation of ProgPOW may ultimately be a moot point if it takes too long. The 3–4 month timetable of its implementation is optimistic at best. The network would also be taking a step back, as ProgPOW’s confirmation times take 1.5 to 2 times longer than Ethash. Instead, there should be an immense pressure to implement PoS as soon as possible before the new ASIC miners begin to accumulate a disproportionate amount of Ethereum, rendering PoS more centralized than desired from the get-go.
I still stand my ground with what was said 7 months ago -- why all the effort in implementing ProgPOW when the focus should be on PoS? FPGA miners will likely render ProgPOW ineffective in a very short amount of time, and all the time and resources will be wasted in vain. The term "better late than never" usually holds true; but in this case, it is my personal belief that the term is unfitting.