Scalability, Gas Fees and the Future of ETH
Ethereum is broken! The gas fees are too high! Scalability is non-existent!
If you've been following ETH you would have undoubtedly heard one of, if not all of these sentiments shared. Unfortunately for ETH none of them is positive. However, is that the full story?
Ironically, ETH is struggling, because it has become so successful. There are currently tens of thousands of DApps (decentralised apps) all competing for computational resources. Billions of dollars of stablecoin are being sent on the network every single day! Every single one of those transactions is competing to be included in ETH blocks. To get their bid up, they will bid up gas prices.
As transactions wait to be confirmed, they will sit in the ETH mempool and will take an incredibly long time to confirm. But "whhhhyyyyyy" you ask? Because of the ETH consensus method – proof of work (PoW). Every transaction has to be confirmed by miners who use computing to hash blocks. This method ensures the network is safe, but it comes with its issues. Every block has to be built onto the ETH blockchain, which means these transactions cannot be done in parallel. As a result, ETH is only able to complete roughly 16 transactions a second.
Proof of Stake
The reason why people are psyched for ETH 2.0, is because it sets out to resolve this issue. ETH will be moving to a consensus mechanism called proof of stake (PoS), which is much easier to scale and is much more affordable. Think Cardano, Polkadot, Algorand and Avalanche.
The current sequential blockchain issue will be resolved through this upgrade. The proposed upgrade will split the infrastructure of ETH into smaller pieces with the goal of scaling the platform so it can support many more users than it currently does. These pieces will then process transactions and computations in parallel. This ultimately means exponential scalability for ETH.
But seriously, these proposed upgrades will take some time to come to fruition. Until then, there are other, simpler changes that some devs are putting forward.
LAYER 2 SOLUTIONS
This is similar to the lighting network on BTC. It will allow for bi-directional payments between two different participants. ELI5 – transactions will take place instantaneously and without passing through the ETH blockchain, other than the one time on chain creation on the blockchain and closing of the payment channel. The biggest limitation of payment channels is that they are used for payments and do nothing for smart contract executions.
Independent blockchains that run next to the ETH blockchain, employing their own consensus models and block parameters for more efficient transactions processing. They will only interact with the main blockchain when updating the state of their ledger. What's even more impressive is that these sidechains can run DAppps, removing any strain and/or bloat on the main ETH blockchain. (See xDai and polygon).
Because the transaction and DApps are not on the main Blockchain, they won't have the same level of security as it. As a result, if more than 50% or 66% (depending on the construction) of the validators collude, they could potentially create a completely invalid block that steals money from other participants, snapshot such a block, initiate an exit for the stolen funds and complete it. In short, an Invalid State Transition.
A child chain of the ETH blockchain, which offers fast and cheap transactions by offloading them from the main chain to these child or plasma chains. This approach has gone through several iterations, with the most current one being Minimal Viable Plasma. The OMG network utilises this development.
One advantage Plasma has over Sidechains is that it is non-custodial, which means the tokens are always safe, even if plasma operator creates an invalid state transition, withholds the produced blocks or completely stops producing blocks.
One major problem with plasma however is that user needs to be online most of the time and download loads of data (to challenge in a dispute). Moreover, it does not support the participation in smart contracts, used by the most popular ETH application Uniswap.
These are off-chain aggregation of transactions inside an ETH smart contract. This reduces fees and congestion by increasing the throughput of the blockchain from its current 15tps to more than 1,000 tps.
In these smart contracts, users can transact with security guarantees and all transactions will settle to the main chain at some point in the future. Just enough data is published on-chain so that any observer can reconstruct the state (account balances) and detect invalidity.
Vitalik even discussed them back in 2014 and referred to them as Shadow Chains.
There are two kinds: ZK-Rollups and Optimistic rollups. ZK-Rollups use zero-knowledge proofs in order to secure the validity of the data that is submitted to the smart contract. This is the same approach used in coins like Zcash.
That said, it is currently more difficult to port over smart contracts seamlessly from ETH's main chain to ZK-Rollups.
A major difference between ZK-Rollups and Optimistic rollups is in how they deal with invalid transactions. The former eliminates invalid transactions through the use of zero-knowledge proofs. In optimistic rollups, there is a challenge period (1-2 weeks) where anyone can submit fraud-proof that shows an aggregator has submitted an illegitimate transaction. If proven false, the aggregator will lose a bond that they initially setup. It's optimistic about eh state submitted unless proven otherwise.
We are very close to optimistic rollups. Startup, Optimism, has been working on this since June 2019. The devs are aiming for a mainnet launch this March. Many DApps and protocols running on the main chain will be able to seamlessly port over to Optimism.
Uniswap is running a testnet demo called Unipig. Current test stats are stated 10-100x decrease in gas cost and transaction confirmation times of 169ms. There is also a Synthetix Exchange demo showing a 143x decrease in gas cost and a transaction confirmation time of 0.3 seconds.
All in all, this mean ETH could have a viable scaling alternative in the next few weeks.
EIP 1559 (actual main chain upgrade)
This is an ETH improvement proposal that changes the way users bid for transactions to be included in blocks. Whales (those with lots of money) are willing and capable of bidding higher to ensure their transactions are included in the block.
Enter EIP 1559 and BASEFEE which aims to formalise the "going market rate" for block-inclusion, removing the need for each and every wallet to generate their own individual gas estimation strategies. This will allow you to press "send transaction" and not worry if you have enough to cover the gas fees because a whale decided to up their bid. This BASEFEE will be adjusted on a block by block basis with the aim of targeting a value so average gas block usage remains around 10 million GWEI.
If you want to get your transaction through quickly, you will have the option to "jump the line" by paying a tip to the validators (miners). However, this tip will not affect the rate the rest of us have to pay. Praise the Lord!
It should be noted you will still have to pay higher fees if there is a bloat on the main chain. It is not a scaling solution. It is a gas management improvement.
What's more, the BASEFEE is burnt! Given that the gas fee is paid in ETH, ETH will be burnt. The more transactions there are, the more ETH is burnt, which theoretically should counter any ETH inflation.
Hope this all made sense folks. Please correct me if I'm made a mistake anywhere.
Edit: inspired by coin bureau's video video .