This is a good article. With Optimism, Ethereum actually looks like a complete, usable solution that can scale.
That said there is a lot of complexity around bridging which leads to high transaction fees, long waiting times (e.g. some projects have a 7+ days waiting time for bridging tokens back from L2 to Ethereum mainnet).
Another downside to Ethereum is that it forces all this legacy on everyone... As many L2s and other ERC20 tokens will be abandoned in 20+ years, much of their data will still be stored on Ethereum mainnet blockchain. Smart contacts are more like accounts, they aren't like old transactions, you can't just prune them after some time without major ramifications.
With old transactions in single-token blockchains, you can potentially prune old transactions while keeping account data and balances the same. The trust and centralization implications of doing this are minimal and constrained to that single blockchain only. With Ethereum, Ethereum community can't just decide to prune old unused smart contracts from the mainchain since it would affect the integrity of L2s and it's noth Ethereum's place to decide whether or not they can delete tokens that belong to other communities.
Overall, Ethereum ecosystem has a legacy problem due to the fact that they are multi-token. L2s accumulate unnecessary legacy from Ethereum and also from other L2s.
IMO, the benefits of decoupling tokens from Blockchain infrastructure aren't worth it as the value of a token is ultimately derived entirely from its infrastructure/integrations.
> e.g. some projects have a 7+ days waiting time for bridging tokens back from L2 to Ethereum mainnet
End users will rarely use this process, instead they're directed to swap pools which essentially do an atomic swap of the same asset on both sides of the pool. The counterparty can observe the batches submitted by the sequencer are legitimate and can act on their side of the swap and collect a fee for providing liquidity.
Matcha has a good example of what this UX can look like. For example, I recently used it to swap sDAI on Ethereum for USDC on Arbitrum (a layer 2). It's wrapped in a single transaction that does the swap + the bridge with the best exchange rate (after taking fees into account).
Taking it a step further, in the future I imagine we will see wallets that abstract the concept of chains away, and automatically move the asset to the chain with the platform you are trying to interact with as part of the interaction transaction.
> abstract the concept of chains away, and automatically move the asset to the chain with the platform you are trying to interact with
I started to write an article [1] a while ago about how wallets ought to go about this but it seems the ecosystem insists on doubling down on developer tooling that really bakes in the concept of "which chain the user is on" into how all the libraries are used. It doesn't have to be this way but it'd require a bit of work to really get to the world where chains are very abstracted, and I'd like to see someone work towards it.
> If it increases faster than blockchain size, then we're OK.
Hope is not a strategy, and things should actually be the other way round: to avoid centralization, blockchain projects should be designed to scale at the same rate available compute power does externally: b/w, storage, etc.
It doesn't solve the centralization issue though since it becomes increasingly difficult to run a full 'archive node' over time. I suspect it would take months to sync a full node from scratch today. That barrier is too high to be called decentralized. You end up having to restore from snapshots and that involves trust.
From a high level engineering perspective (and not being an expert in blockchain systems), the amount of complexity in the Ethereum ecosystem seems... excessive? And it seems likely the amount of complexity will only continue to increase over time. We tend to prefer 'elegant solutions' and simple systems in engineering, and this seems quite the opposite. Is it truly necessary to solve the problems that it's trying to solve?
I'm not sure how much more 'actually complex' it is. I think we can often underestimate the complexity of incumbent systems because most of the complexity is not in the open.
I'm sure that market makers and exchanges in traditional finance have a lot of complexity behind them.
As far as I’m aware, there’s no way of validating something without observing it. If that’s true, then you will have to trade the ability to validate the entire chain in order to scale on chain, at which point, who cares what’s on chain vs off?
> As far as I’m aware, there’s no way of validating something without observing it.
That's where zero knowledge proofs come in. If you know the root hash at state a, and the new root hash at state b is given along with a zk proof, that proof data can quickly prove that the state change from a to b was arrived at correctly. In this case, the benefit of doing this on ethereum (or other evm l1 blockchain) is that those proofs can be validated on chain.
I would like to point out that the alternative method of focusing on maximizing execution bandwidth and speed at the base layer is being done on Solana, with great success.
Layer 2s if they’re needed are as easily added on top as it is for Ethereum. But Solana is so fast and cheap already right now that it hasn’t been necessary.
I’m of the philosophy that since you only get to build one base layer, you should really spend the time to do it well and have it designed to be as efficient and performant as possible.
what are you smoking? Solana has had various outages in its lifetime and required to repeat transactions a lot. thats NOT the same experience as on Eth and far inferior in reliability.
Solana is perfect for most retail use. I’ve used Solana Pay to buy things online with USDC and the experience is incredible. Can’t see any reason why most things that don’t require utmost security (shopping, games, etc.) won’t use Solana.
But if I was managing big money, I wouldn’t want it on Solana. Ethereum is far more decentralized and secure.
I can see a near future where Bitcoin is “digital gold”, Ethereum is the settlement layer for institutions, and Solana is the blockchain for retail users.
Why not have Solana be the settlement layer? I understand the Bitcoin thesis given its network effects and OG nature sure.
I don’t understand why people view Ethereum as more secure than Solana. They’re exactly the same in terms of security. And Solana is actually more decentralized than Ethereum is!
Solana's validating nodes are extremely resource hungry, to the point the Solana Foundation has to subsidize people running them. Transactions also fail 60% of the time.
Any more details about this would be interesting for me.
I’ve written off Solana after looking at it seriously several times now, yet it continues to have the appearance of thriving. Fwiw my biggest issues in the past has been a combination of large data and resource requirement and vulnerability of archive/full history nodes to Google services shutoff and centralization with censorship possibilities.
I haven't looked closely into Solana because it's clear to me it's not a decentralized network. Its transaction history is over 100 TB now, with gigabytes being added per day (source: https://www.reddit.com/r/solana/s/ipF70lwxe0).
The result is that everyone relies on the Solana Foundation to store the full archive, and pretty soon even non-expired history will only be possible for large companies to store.
100 TBs makes it extremely difficult to fully validate the history, because you need to download that much data over the internet, from some archival nodes.
And that number is going to grow exponentially, to the point where the network is destined to have a centralized, and thus fragile, structure.
I agree that most nodes do not need the full history, but even everyday operational costs are enormous: dozens of gigabytes a day just to keep up?
solana can make some ceremony for warp bootstrap. instead of validating since genesis, ask several on chain random nodes for start from specific block. and fisherman to find if any node differs from archieval.
so economics of storage i do not know, but that leads back to artificially cheap transactions. as soon as tx will be real price, they will pay storage.
Yes it's possible to use these kinds of schemes to get artificially cheap transactions. I don't see such schemes being employed on Solana right now and I anticipate that we're going to see much more of that on Ethereum Rollups in the near future.
people tell that solana lowers validating fees up to inability to stand against normal traffic which ddos it.
also two thirds of transactions are validators voting for blocks.
also afaik solana finalization time is not sub second, but 10 seconds. intrestingly why misleading info about sub second still persist...
also solana cannot really execute as part of single transaction all needed. so from 1/3 of useful transactions, half is just account lookup table creation.
so it feels somebody tries hard to tell the story about high throughput and low latency, while both are not there.
tl;dr Users often submit transactions that attempt to arbitrage price discrepancies on-chain. But someone else fills the arb before them and so their transaction while successfully received will result in nothing happening. The transaction didn't fail though. Solana, your "decentralized server", successfully received the request.
That said there is a lot of complexity around bridging which leads to high transaction fees, long waiting times (e.g. some projects have a 7+ days waiting time for bridging tokens back from L2 to Ethereum mainnet).
Another downside to Ethereum is that it forces all this legacy on everyone... As many L2s and other ERC20 tokens will be abandoned in 20+ years, much of their data will still be stored on Ethereum mainnet blockchain. Smart contacts are more like accounts, they aren't like old transactions, you can't just prune them after some time without major ramifications.
With old transactions in single-token blockchains, you can potentially prune old transactions while keeping account data and balances the same. The trust and centralization implications of doing this are minimal and constrained to that single blockchain only. With Ethereum, Ethereum community can't just decide to prune old unused smart contracts from the mainchain since it would affect the integrity of L2s and it's noth Ethereum's place to decide whether or not they can delete tokens that belong to other communities.
Overall, Ethereum ecosystem has a legacy problem due to the fact that they are multi-token. L2s accumulate unnecessary legacy from Ethereum and also from other L2s.
IMO, the benefits of decoupling tokens from Blockchain infrastructure aren't worth it as the value of a token is ultimately derived entirely from its infrastructure/integrations.