Noncesense

Posted on Mar 17, 2022Read on Mirror.xyz

Ethereum - Moving Forward

Ethereum is notoriously heavy in gas consumption, many people who are starting out in the crypto space admittedly can easily be priced out when gas fees spike due to certain activities saturating the block space such as a massive cascading liquidation or an overhyped NFT collection launch.

The issue with the high gas cost to initiate a transaction on Ethereum is driven by the demand for block space. Blockchains of any size are in the business of providing block spaces for end-users and developers — Ethereum is equipped with the EVM (Ethereum Virtual Machine) which allows for the computation of arbitrary smart contracts. Gas exists to help curb spam transactions and help maintain the quality of transactions being submitted into the mempool and eventually the blockchain.

While improvements and upgrades are relatively slow in Ethereum, this is primarily why other L1 blockchains were gaining popularity in the recent bull phase, it opened the door for newcomers to experience the ecosystem without getting priced out due to gas fees.

The most recent upgrade on Ethereum that directly influenced the gas consumption is EIP-1559, focusing on making gas fees more predictable and easier to estimate which improves the user experience and as per below decreasing the average wait times for transactions to be confirmed in blocks.

https://twitter.com/VitalikButerin/status/1483110996931534850?s=20&t=1XngCelIIgb6ZfUT2qSS3w

One other great aspect of EIP-1559 on top of the implementation of the base fee and max fee under the new transaction type; is the introduction of a burn mechanism, where the base fee portion of ETH is discarded when block proposers include a transaction. The burning mechanism introduced helps the overall holders of ETH which acts as a deflationary tool in controlling the total ETH supply. Even with some pushback prior to the implementation of EIP-1559 upgrade, in the end, it worked out for the better.

Check out this POAP.art celebrating the London fork.

My contribution is that tiny ETH🥩R (ethstaker) at the bottom right

You can also check watchtheburn.com or ultrasound.money for more insights.

Proof of Work

Currently, Ethereum nodes are running the Proof of Work consensus mechanism where you rely on GPU/VGA computation in order to compete on creating the newest block to be published on-chain. As it was intended from the beginning, Ethereum is finally on the verge of moving from the current consensus mechanism of Proof of Work (PoW) to Proof of Stake (PoS) dubbed ETH 2.0.

At one point the intention was, to have both the upgrade for Proof of Stake and the Merge implemented at the same time. However, it was found that conducting an upgrade of that scale could lead to very risky situations, considering the amount of value and liquidity being settled currently on Ethereum to date.

The primary reason to move away from PoW to PoS is driven by the current energy consumption concerns. Sidenote: GPU mining as an industry is also negatively impacting the gaming community — which I personally think contributes to the animosity towards NFTs in general. We are also optimising the cost to secure the chain by lowering the barrier of entry to run an Ethereum node (Note: you are not required to stake any eth to run a full node). On top of that, we are also reducing the rate of emission of new eth in circulation from block rewards post-merge drastically — see Justin Drake and his breakdown in this video.

Beacon chain - Consensus layer

The beacon chain consists of groups of validators performing attestations to secure the network. The term Proof of Stake refers to the capital required to fund your validator (1 Validator requires 32Ξ). When a validator is offline due to issues, the validator is penalised with an inactivity leak. To ensure the liveness of the chain, inactivity leak will continue until the validator reaches 16Ξ where they will then be forced to exit the validator pool. In order to stay profitable as a validator, your uptime should be above 75% at least. So if you are interested in becoming a solo ETH staker consider your environment before making a commitment, otherwise you can look into eth staking services.

However, being offline is not a big issue; you are only losing the rewards in ETH that you would’ve made. When a validator performs their functions optimally, they are rewarded with some ETH. Further reading on penalties and rewards for attestations.

A slashing will occur when the network receives information about the violation(s) from a slasher. To help prevent further damage to the network, bad validators are slashed and forcefully removed from the current validator pool. A validator that is slashed will have their ETH deducted by; a baseline amount plus the correlation penalty (this makes a larger attack more monetarily punishing when reported).

The beacon chain genesis date was the 1st December 2020; the ethstaker community celebrated online and even made POAPs available for participating live. Currently, we are sitting at about 300k active validators securing the beacon chain, however right now the only thing the beacon chain is coming to a consensus on is of itself and the eth1 blocks to recognise any new deposit(s) to the staking contract (with a 1024 block follow distance to avoid issues with re-orgs).

The software required to run the validators are considered your consensus client. There are 6 different consensus clients available, going by popularity we have: Prysm, Lighthouse, Teku, Nimbus, Grandine, Lodestar. Where possible always pick a minority client if you want to stake your ETH to increase client diversity, further reading on why we shouldn’t have a supermajority client here.

The Merge

The primary focus on the merge upgrade is the removal of the Proof of Work mechanism. Currently, the software that runs Ethereum nodes performs both consensus and execution functions however, when the merge occurs the execution client will perform the execution and block content ordering but will have to rely on the beacon clients for block distribution, consensus, and finality.

From an end-user’s perspective, the merge will have no impact at all — just like any other fork that occurs. With the developers finalising the merge update, (edit: the original predicted month was around August however it finally merged on the 15th September 2020). Check out Danny Ryan’s talk on the recent ETHDenver about Proof of Stake and the Merge.

The merge will be triggered once the TTD (Total Terminal Difficulty) reaches a certain point, at which point the current eth1 client will shift the responsibility of creating blocks to the consensus client. Post-merge your eth1 client a.k.a execution client will focus on execution of the EVM functions you know and love. There are various execution clients available, we have: Go Ethereum (Geth), Nethermind, Besu, Erigon. The same client diversity warning applies here.

As a validator providing security for the Ethereum chain you will be required to run 2 software: an execution client AND a consensus client. You will no longer be able to rely on a 3rd party execution client, see Proof-of-Custody for why.

They both work in tandem to produce Ethereum blocks. Refer to these slides for a technical breakdown of how consensus and execution clients produce and distribute Ethereum blocks.

Contrary to mainstream narratives floating around, the merge will not fix the current gas cost on Ethereum. As described above, the merge is not resolving any scalability concerns and only focuses on improving how the consensus and security are provided on-chain — thus gas cost overall will only be marginally affected. The Ethereum ecosystem is capable of offering cheap gas costs through the rise of Rollups architecture and platforms. By rolling/batching transactions into a bundle we are essentially increasing the capacity for more data to be fit into a single block hence cheaper fees to users.

Vitalik had recently shared the next set of the roadmap for Ethereum at the protocol level. While we can enjoy scalability and affordable gas fees by utilising rollups solutions right now, those protocol improvements can and will elevate the ecosystem as a whole when it eventually comes to be implemented e.g. state expiry, danksharding, light clients, etc.

Cheap fees on Ethereum

Part of the hate on Ethereum is the issue with scalability or the lack of scaling causing an indirect impact to newcomers who may want to give Ethereum a go. In order to accommodate the rise in block space demand and influx of newcomers trying to test the network, rollups architecture plays an important factor to serve the increase in block space demand as a scaling solution.

By network effect Optimism and Arbitrum One are the two general-purpose rollup platforms currently gaining popularity in onboarding end-users and projects. General-purpose implies that arbitrary smart contracts can be executed on-chain similar to how the EVM handles execution. In contrast to application-specific rollups such as Loopring and ZKSync, they are built with a specific purpose in mind — the former acts as a trading service platform while the latter is geared towards facilitating payments.

Optimistic Rollups (OR) v Zero-knowledge (ZK) Rollups

Rollup frameworks essentially provide data compression service affording end-users cheaper gas costs (~3-8x lower than the Ethereum mainnet). The computation result from rolling all the transactions is called a fraud proof or a validity proof, which then gets recorded on the Ethereum mainnet blocks. This is essentially why the Ethereum mainnet is called a Layer 1 (L1), while Rollup platforms are referred to as a Layer 2 (L2).

Optimistic Rollups produce a fraud proof which by design is allowed to be challenged over a 7 days period, this ensures any attempt of inserting invalid data is always monitored, challenged, and removed when found.

On the other hand, ZK Rollups are designed to compute the transactions and produce validity proof that gets settled on the Ethereum mainnet blocks for future reference. The validity proof is used to re-compute the validity of the transaction history when required by any nodes.

ZKRollups are higher in execution requirement as validity proofs require more computation to complete, while the 7 day challenge period of Optimistic Rollups may not be compatible in certain application scenarios — so developers will have to determine which type of rollups are more appropriate for their project.

Currently, general-purpose Optimistic Rollups such as Optimism and Arbitrum One are actively onboarding projects, the majority of the popular Defi platforms and other Dapps have been deployed or are close to being deployed. Start exploring both platforms by checking on the ecosystem list which regularly gets updated here or here.

General-purpose ZK Rollups such as StarkNet are also onboarding projects though the whitelisting process is still in place, for the ZK Rollup ecosystem list please go here.

A reminder to always carry out due diligence prior to interacting with any new environment. L2beat provides good resources on current rollup metrics on Ethereum, but more importantly, they provide a breakdown of each framework and its inherent risks.

Migration to Rollups

With the current geopolitics landscape and downfall in total NFT searches, we are definitely in a slight bear/crab market situation. This is reflected in both token prices but also the average gas cost for a transaction. Ethereum gas has been fluctuating around 10 - 50 gwei lately, compared to during the NFT mania and Defi explosion where gas was hovering around 100 - 200 gwei.

This is actually the best time to start moving funds to Rollups as transaction costs are relatively low, there are plenty of Dapps already available for you to experiment with and explore. The goal is to have the majority of the applications people would like to interact with, be deployed on rollups so that the Ethereum blocks contain mostly rollup proofs. Cheaper gas fees should allow people who were priced out initially to actually interact within the Ethereum network without touching L1, although if you are a whale you might still afford to transact on the mainnet by choice.

Unfortunately, most NFT projects are still deployed on mainnet due to most users being on L1, however, communities such as the TreasureDAO has proven the fact that NFT projects could flourish on a rollup — see Smolverse as an example of a successful NFT project built on Arbitrum One. Most NFT interactions required to participate and contribute to the project are cost-effective when the contracts are deployed on a rollup.

Even with the improvement afforded with ERC721A via Azuki team to consolidate gas costs during mint period, subsequent transactions required to interact with NFTs still scale with the current gas base fee on ethereum mainnet. If the network is congested, the cost to interact with your NFT is still at the mercy of the block space availability, this is where rollups can act as a catalyst to allow for a wider variety of NFT interaction and engagement to flourish with its consistent cheap gas fees. So if you can persuade your community or planning to release an NFT project, consider deploying on a rollup.

However, there are instances where deploying to an L2 might not be the right decision for your project. We are also still trying to resolve cross-chain interoperability for things such as NFTs between rollups. But the main goal right now is to start moving as many people as possible into rollups and I want to reiterate that ETH2.0 will not solve your gas problem, but a rollup will.

Beyond Rollup - Modular blockchains

Modularity aims to improve efficiency by compartmentalising functions into separate areas. In a different section of the Tech industry, we have AMD modularising their Ryzen CPUs with their chiplets design, and similarly, Intel finally caught up after being stuck with their 14nm architecture, they introduced the 12th gen CPUs equipped with P-cores and E-cores.

Ethereum is also starting to take advantage of this modularity philosophy by focusing on providing security, settlement, and consensus on the Ethereum mainnet. While increasing efficiency and scalability by utilising execution on Rollups. Moving forward Ethereum will also improve data accessibility through better state and data storage management entirely on its own Data Availability Layer(s). If you’re interested you can read up on Polynya’s modular blockchains meta post and also this discussion on Celestia forum about blockchains modularities.

The Merge, The Verge, The Purge and The Splurge

Referring to the updated Ethereum roadmap from Vitalik, The Merge is only the beginning of the modularity journey. Other Ethereum Improvement Proposals (EIPs) such as EIP-4844 or EIP-4488 is close to being implemented. Both of these EIPs are targeted towards increasing efficiency for Rollups.

EIP-4844 aims to provide a new transaction format (shard blob transaction) which should provide relief to current Rollup frameworks. This new transaction format allows the block space to be utilised much more effectively, rollups would not have to compete in gas auction with other generic transactions. The new blob transactions are to be implemented with its own gas auction process so rollups should be the only participants. Data blobs are also required for the future of sharding in Ethereum, as data will be split into pieces through the use of KZG commitments — see EIP4844.com for further reading.

Further to increasing modularity, blockchains are able to expand the total size for data storage by splitting data into smaller pieces and spreading them across many “shards”. There is already sharding technology being adapted in other blockchain ecosystems such as NEAR or Polkadot. While Ethereum has also been researching the implementation of sharding for a while now, Danksharding is the most prominent candidate thus far, named after Dankrad Feist. Take a look at this video for the latest on Danksharding. To improve data availability, sharding, state expiry and statelessness are also actively worked on under The Verge and The Surge.

If you want to learn more about how the Web3 stack might look on Ethereum check this post from Polynya.

Ethereum