Colin Platt here again, time for another blog, exploring some of the topics that Zeth, Shaun and I found interesting. It has been a while since we did a deep dive, happy to be back to it.
Scaling has always been the elephant in the room for all blockchains. From debating block sizes, to layered approaches, the issue has consumed a lot of bandwidth.
Amongst the more audacious approaches is that of Ethereum. A full rewrite of the Ethereum specification, aiming to bring a lot of new functionality designed to help it scale to handle more transactions/data, confirm faster, and not rely on Proof-of-Work (PoW). The practical, but non-exhaustive, list of changes between Ethereum now and the future are:
– Proof-of-Stake (PoS) – Replacing PoW (and thus its carbon footprint) to ‘stake’ ETH as a means to impose financial skin-in-the-game for transaction validators in a permissionless blockchain,
– Sharding – Removing the requirement to have every transaction stored by every node and allowing for some transactions to be processed in parallel to other transactions,
– EWASM – Rewriting the Ethereum Virtual Machine (EVM) in WebAssembly. Developers claim that it will make it faster, more secure and more interoperable.
Together, the plan is called ETH 2.0, let’s have a look at how it will be rolled out. In short, the roadmap is comprised of 7 phases:
0) Proof-of-Stake Beacon chain, without sharding – Beacon chain will act as a chain-of-chains that eventually coordinates the actual transactions on sharded blockchains; this is when Casper gets trialled
1) Basic sharding, without EVM (Ethereum Virtual Machine) – Allows for testing the interaction between the Beacon chain and each sharded chain, with limited functionality
2) EVM state transition function – Starts EWASM, and the long depreciation process for EVM; Storage rent (paying to keep static data, e.g., balances)
3) Light client state protocol – Allows clients to not hold all of the shards + Beacon chain
4) Cross-shard transactions – Different sharded chains can talk to each other, this is a very important thing to get right
5) Tight coupling with main chain security – Makes each shard more secure
6) Super-quadratic or exponential sharding – Shards within shards
The implementers expect that phases 0-2 should be online at some point in 2020.
Phases 0 & 1 will be interesting to watch, but are very technically heavy and don’t actually allow anyone building applications to glean any real indication of what will change for them.
Phases 2-4 are where things become more concrete and I suspect that these are the areas where we will start to see if they’ve really been successful from a technical point of view for the average dApp developer. EWASM is of course one of the main areas where applications need to potentially be changed and migrated, but the cross-sharding functionality could arguably be a bigger headache for the current crop of Ethereum developers. Let’s quickly look at this.
When Ethereum introduces shards (smaller bits of the distributed ledger which ultimately tie back to the main Beacon chain), the idea is that some dApps will do lots of transactions with their local shard, and occasionally need to relay to a foreign shard (another local shard). A few keys areas to know are:
1) How usable this is,
2) Whether transactions actually remain as local as this model presupposes, and
3) How you will manage “gas” across shards.
Point 3 is currently being discussed, as without significant improvements you may need to pre-fund transactions for a dApp in chains that you use only occasionally, which could get expensive. Personally, I would not be surprised if entire areas of economics research are dedicated to optimising this.
Phases 5 & 6 seek to massively productionise the features brought in with previous phases. Many of these areas still have kinks to work out, but these are the areas that should allow the hard yards gained, particularly in Phases 2-4, to really pay-off.
Even with the massive potential uplifts in scaling introduced under the ETH 2.0 improvements, it probably should be little surprise that there have already been discussions about ETH 3.0. One to watch.
As always, nothing here should be construed as financial advice, recommendation or endorsement of any project or cryptocurrency.
Fancy reading more of our blogs around blockchain click here.