Thread
Complexity is an often overlooked aspect of a system because usually someone else is paying the price for it, not the person creating it.

But don't be mistaken, someone *is* paying the price - whether money, time or mental capacity. They might not be willing/able to do forever.
As with scalability, complexity also keeps trickling unseen up to the breaking point. At that time, it's already past the point of no return.

Complexity also has the nasty effect of causing cascading failures. Overload people too much, lose capacity, leading to even larger load.
In #Ethereum's history, complexity never decreased. Every EIP is piling on top. Every major change (1559, merge, sharding, verkle, stateless, L2, etc) is one more nail.

I'm extremely frustrated when a research proposal says "everything's figured out, it's just engineering now".
As good as it feels that we're approaching The Merge, I must emphasize that #Ethereum is not going in a clean direction. Tangentially it's achieving results, but it's also piling complexity like there's no tomorrow.

If the protocol doesn't get slimmer, it's not going to make it.
I feel the root cause is the disconnect between the research and the dev teams. The former has to "only" dream up elegant - standalone - ideas.

The latter needs to juggle every single idea that was ever introduced, whilst surgically expanding the dimensionality of the space.
There have been engineering attempts to reduce the complexity (module split in Erigon, responsibility split in The Merge). Yet there was never an attempt to reduce the protocol complexity.

We are already past the point of anyone having a full picture of the system. This is bad.
I can't say what the solution is, but my 2c is to stop adding features and start culling, even at the expense of breaking things.

There are less and less people knowing and willing to piece together a broken network. And each change pushes more away. /FIN
Mentions
See All