Also, remember that understanding happens in layers. The web with all its components also once looked very alien to all of us (DNS, REST, Server, Client, Browser, FTP, Gopher, P2P, HTML, Javascript, the list goes on). We just take it all for granted because we grew up while layers were piled on top. But if you can't even tell a client from a server, then understanding how a modern web app works will also take a long time and will look way too complex.
This is not to say that ethereum will be as revolutionary as the web, just that simplicity can easier grow out of complexity than complexity can grow out of simplicity
[1] https://blog.ethereum.org/2015/03/03/ethereum-launch-process...
You just listed how Ethereum is a sizable tech stack and still growing and then suggest that it will eventually get simpler - after it has more users, after there is technical lock-in.
That seems contradictory to many working projects. Perhaps it is complex? It's a reinvention of almost the entire web stack.
- A computer is quite complicated: It requires electricity, gates, transistors, boolean logic, a CPU, machine code, a machine code low level boot loader, an operating system, a windowing server, an application framework. And finally, within the application framework we can build something like Notepad that is really trivial and simple to understand for the average user. A calculator is much simpler (given the whole tech stack), but trying to enter text there (like in notepad) would be much more difficult (if it had a stack, you could enter the hex value of each char, making up words). In this case, the beautiful simplicity that defines modern computing can only work because we first had to build and invent all the layers below it.
- A web browser / server is also, again, really complicated. The end result is that users go to google.com, enter a search term, and receive the results. Without the additional complexity of MapReduce, millions of servers, AI, etc, Google search wouldn't be so simple.
Ethereum is still in the phase where complex technology is added so that finally simple layers can be put on top. Raiden [1] is an example of that: As a user, I want to pay something immediately. Looking at a block explorer after payment with a transaction ID to see when there're enough blockchain confirmations is very complex. At some point this will be the technology under the hood as transactions will happen in near-realtime. Then, no user has to even understand the transaction, transaction time and confirmations.
Ethereum is indeed re-inventing much of the current web stack, but this happens, of course, in the context of decentralised, trustless, open computing.
[1] https://bitcoinmagazine.com/articles/lightning-fast-raiden-n...
The complexity you're referring to may be the runtime? It is more complex than, say, Bitcoin because it has for most purposes a Turing complete language baked into the protocol.
Bitcoin is a blockchain that forms consensus on the state of a specific implementation of a data structure (somewhat arbitrarily, a list of transactions) and it has a very limited set of operations to manipulate that data.
Coming to distributed consensus on a transaction ledger is ultra-useful, as we have come to know. But there may be other data structures that may be useful for distributed consensus as well. Rather than building a blockchain for each one, why not build that flexibility into one protocol so the developer can choose?
Ethereum is a blockchain that forms consensus on the state of a more general set of data types, with a Turing complete language to operate on the data.
More complex? Yes. But the hope is that this flexibility drives a rich developer ecosystem, where innovation can happen within the network, rather than having to build your own network from scratch.
As for decentralization leading to fragmentation? This is a feature, not a bug. It is the feature that allowed Ethereum to grow in tangent with a thousand other blockchain mechanisms. Maybe fragmentation will bring its demise, but it as breath of fresh air from our rapidly consolidating tech industry.
I bet you the next smallest state-level medical provider registry right now is probably 50,000 lines of server-side code.
How does this make ethereum too complex to be useful?