With developers complaining about Ethereum’s complexity, Vitalik Buterin says the issue can be reduced while working on its functionality. The co-founder of Ethereum said the developers’ team had a trade-off between something more complex and something simpler. He pointed out that sometimes they chose the simpler thing but reached out for the more complex thing.
Peter Szilagyi, a software developer at Ethereum, said complexity has “never decreased” in Ethereum’s history. He highlighted that complexity has the nasty effect of causing cascading failures, overloading people too much, and losing capacity. It also leads to an even larger load. The software developer said complexity also keeps tickling unseen up to the breaking point and it’s already past the point of no return. Szilagyi tweeted that he is extremely frustrated when a research proposal says “everything is figured out” as it’s just engineering.
Buterin highlighted the Gasper proof-of-stake (PoS) version, which Ethereum is going to incorporate soon. He described this as a complex but very powerful system. They are much simpler and weaker versions of PoS. They have good candidates but do not offer the advantages of Gasper. Buterin explained that Gasper is more complex as it tries to accomplish much more than the algorithms do. If the Ethereum network had been more modest from the beginning, it could have focused on achieving a more limited set of objectives.
The co-founder shared that Ethereum has been struggling between the two versions. The first version values safety and simplicity, while the second one intends to make Ethereum a highly performant and functional platform for building advanced applications. Buterin highlighted that a lot of things cannot be changed but there are many things that can. There is a path solidly open to boosting functionality and simplicity.
He said some Ethereum Improvement Proposals (EIPs) have historically proved it is possible to reduce complexity. There is the example of EIP-150 which managed to reduce security concerns for contract developers. It made the call stack depth limit no longer relevant.