Over the past couple of weeks, the Ethereum community has been the goal of a sustained assault. The attacker(s) have been very artful in finding vulnerabilities within the consumer implementations in addition to the protocol specification.
Whereas the current patches have led to an total elevated resiliency within the consumer implementations, the assaults have additionally demonstrated {that a} lower-level change to the EVM pricing mannequin is required.
For a lot of customers, probably the most seen consequence might be that they’re having difficulties getting transactions included in blocks, and full nodes are dealing with reminiscence limitations in managing the bloated state.
That is our technique to deal with these points:
- As a short lived measure to reduce the consequences of the newest assault, we advocate all miners to decrease the gaslimit to 500K fuel.
- A tough-fork based mostly on EIP 150 version 1c might be implement at block
2457000[see below]. This may reprice sure operations to correspond higher to the underlying computational complexity. - A second hard-fork will comply with shortly after, aimed toward reverting the present “state-bloat” launched by the assaults. This second fork will serve to take away accounts that are empty; missing code, steadiness, storage and nonce == 0.
We now have applied the modifications required within the purchasers and are at present extending and including checks in an effort to stop the introduction of consensus-breaking vulnerabilities.
And as a reminder, the Ethereum Bug Bounty is open and consists of the brand new hardfork-implementations.
EDIT: Fork block has been moved to 2463000 in an effort to accommodate much more testing.