Ethereum’s growing complexity has attracted new criticism from blockchain experts. The latest controversy is about the Ethereum Object Format (EOF) proposed upgrade that would optimize the Ethereum Virtual Machine (EVM).
Industry stakeholders claim that EOF brings unnecessary complexity and makes Ethereum harder to maintain and upgrade. Blockchain consultant Pascal Caversaccio recently raised concerns about EOF’s impact.
He pointed out that EOF-82, a part of the proposal, introduces new contract creation semantics while removing and adding multiple opcodes.
This complexity, he argues, is unnecessary since most of the proposed benefits could be achieved with less disruptive modifications to the existing EVM.
Several strong arguments are presented for why EOF is not the ideal solution. Compiler complexity is one of them. Even as EIP-663 introduces new opcodes for accessing the stack, modern compilers already spill the stack/register effectively.
Removal of JUMPDEST would optimize for bytecode size but can perhaps be done without such a revolution. Altering existing EVM validation rules can also yield the same benefits without the dramatic changes of EOF.
The second serious concern is the increased risk of vulnerabilities. There are historical instances where complex changes have led to unanticipated security vulnerabilities.
That notorious reentrancy vulnerability in Ethereum’s transfer() and send() functions is one such case of unanticipated bugs cropping up even years down the line in the life of the project. Caversaccio warns that EOF’s ever-changing specs are difficult for developers to follow, which can introduce security vulnerabilities.
Calls for more frequent Ethereum upgrades
Former Ethereum Foundation developer Hari also weighed in on the controversy. He blamed Ethereum’s governance for not being explicit about what it desires to do, making EVM upgrades practically impossible.
According to him, conflicting opinions on necessary upgrades have stifled various proposed changes. He believes that such stagnation can push Ethereum towards ossification where no further enhancements are possible.
Despite such fears, some are of the opinion that complexity is the cost of Ethereum’s expansion. They suggest addressing testing, engineering, and security by managing complexity.
Hari suggests that Ethereum should have more regular hard forks, aiming for quarterly upgrades to maintain momentum. However, Ethereum has come to a critical juncture.
Its fate depends on achieving the right mix of maintainability and innovation. Whether it accepts EOF as the solution or opts for something different, the problem highlights the perpetual dilemma of balancing keeping up with Ethereum’s growth without destabilizing it.