What does the future of Ethereum look like?
The founders of the second largest blockchain network do not seem shy about hard-forking their platform’s code to enhance privacy and scalability. So, in this post, we’ll discuss some of the most talked about improvement initiatives. We’ll talk about Casper, Plasma, and Sharding, and explain in plain terms what benefits these updates can bring.
Let’s get started.
The future of Ethereum: Casper (FFG and CBC)
We’ve already discussed Proof-of-Work and Proof-of-Stake and provided an in-depth explanation as to the distinctions between the two protocols. We’ve also mentioned that Ethereum is planning to switch to the latter in the near future.
The reason the transition hasn’t happened yet is that the concept of Proof of Stake, though promising, has not been thought through entirely. There are still issues the algorithm imposes that blockchain devs have not figured out how to address, such as the risk of introducing points of centralization (supernodes, etc.)
That said, there are still people in the crypto community who are willing to sacrifice decentralization, to some extent, for the sake of speediness and scalability.
Vitalik Buterin doesn’t seem to share this sentiment.
Casper, which you’ve probably heard about as it’s been in the works forever, is just Ethereum’s take on how PoS issues should be tackled; It’s their attempt to get rid of the wasteful and costly Proof of Work gradually, without rushing the switch and spooking miners.
At first, the dev team is planning to introduce Friendly Finality Gadget (FFG) (aka Vitalik’s version of Casper) which is a hybrid system that runs on PoW but treats every 50th block on the network as a PoS checkpoint. Validators, who will have to stake deposits, will get to vote on the finality of these blocks and write them into history.
FFG is already running on a test network so it shouldn’t be long till it’s implemented completely.
Next, according to the roadmap, we’ll see the second, more radical Casper model known as CBC (Correct by Construction.) So far, the approach has been merely researched (mostly by Vlad Zamfir), so there’s no telling when the update will hit Ethereum. We don’t see it happening this year though.
The gist of Vlad’s work is not only to create a system that’s layering on top of PoW (like FFG does) but introduce a whole new way of designing consensus protocols. He’s aiming to create a system that allows to extend the local view of each node’s safety estimation and thus helps achieve the security and robustness of consensus.
Next up – Plasma. The proposal was first described in a white paper by Joseph Poon, the creator of the Lightning Network, and Vitalik Buterin. Like LN, Plasma is a layer-two solution whose goal, essentially, is to take transactions off the Ethereum chain and thus relieve the network’s congestion.
More specifically, Plasma is about creating nested blockchains within root blockchains and it relies entirely on the smart contract technology. It allows developers to draft up in code the rules by which they want their subnetwork to operate (whatever these might be – social networks, exchanges, private blockchains), deploy the smart contracts on to the mainnet and, while running a semi-independent blockchain, still make use of the security and finality provided by the underlying platform.
Plasma networks can branch out into child chains of their own; they are all smaller than their host platforms (have fewer validating nodes), more speedy, and allow doing away with high transaction fees that plague Bitcoin and Ethereum.
There’s a communication happening periodically between Ethereum and Plasma sub-networks: the latter submits small pieces of information (blockhashes) about its state so that the record of transitions is stored in the root network’s ledger. And there’s also a clever, reliable security mechanism that grants every participant of a sub-network an exit path, a way to retract their coins, in case the subchain breaks down, there are fraudulent activities, or they just want to leave for whatever reason.
Here’s how attacks are mitigated on Plasma chains: a simplified scenario
- A Plasma chain (smart contract) is deployed on the mainnet.
- A user, Bob, invests 10 ETH and receives an appropriate amount of Plasma tokens.
- He then sends funds back and forth with Alice, another member of the subnetwork, thus changing the chain’s state.
- The transactions are included into Plasma blocks which are validated by the subchain’s miner(s) and the blockhashes of which are sent to the contract on the root chain.
- At some point, Bob decides to withdraw the 10 ETH he entered with, despite having already spent these funds in a transaction with Alice.
- He sends an exit transaction to the mainnet referencing an older state (the one where he still has the coins).
- The challenge period is activated which means that nodes have time to raise a red flag on Bob’s request (prove that it’s not in line with the chain’s consensus rules) before he can reclaim the funds.
- Alice’s client picks up on Bob’s trying to con the money, so she sends a challenge transaction to the mainnet which includes a Merkle proof that the funds Bob’s trying to reclaim do not belong to him.
- If proved invalid, Bob’s transaction is canceled and the state of the chain is rolled back.
- The challenger (Alice in this case) receives a significant bounty, while Bob is penalized.
This root blockchain (Ethereum), according to Poon, can be viewed as a supreme court that only deals with disputes that were improperly adjudicated by lower district courts (Plasma sub chains.) Such “justice system hierarchy”, when implemented correctly, can bring a drastic efficiency increase and relieve in no small measure the current congestion on the network.
Apart from tackling the scalability issue, Plasma can transform profoundly the way private blockchains, that are mainly used for business, interact with public decentralized networks. It can help companies across various industries to leverage the power of both.
Here’s what we mean. Suppose a financial institution sets up a private chain, with its own rules, access restrictions, etc., on a public network. It can enforce within it the businesses procedures that correspond to its policies and regulations it’s subject to, but it can’t, by any means, cheat its clients out of funds. Its activity is committed to a public network which it can’t control; it will get penalized heavily for any attempt to mount an attack on its users.
Being a layer-two solution, Plasma is compatible with Sharding, which we’ll discuss next.
This scaling proposal comes from Vitalik Buterin, Ethereum’s founder, and suggests that the blockchain be chopped into hundreds (or even thousands) of independent pieces – shards – that all share the same consensus and security model.
These miniature networks won’t be tasked with handling various types of operations (like Ethereum platform is with smart contracts) and won’t have to be validated by every full node on the network; essentially, they will each serve a single purpose and therefore be very efficient at it.
The idea takes cues from conventional database sharding but is not quite similar. The difference being that permissionless decentralized systems, such as Ethereum, can’t just assume the validity of messages (notifications about results of computation) from other nodes. When Google distributes data across multiple machines to split the load, it also runs all of the shards on its servers, whereas the nodes on Ethereum are non-trusting parties and there’s always a risk that a member of the network has not the system’s best interest at heart.
To resolve this, the implementation of the technology on the blockchain, as outlined by Vitalik, will include something called a Validator Management Contract. In short, it is a smart contract, deployed on the mainnet, that will:
- Process and verify block headers (called collation hearers on the sidechains) from each shard
- Hold validators’ stakes thus maintaining a PoS consensus for the entire sharding system
- Shuffle and assign pseudorandomly the validators clients between shards.
Sharding has a potential to increase dramatically Ethereum’s throughput (potentially to thousands of transactions per second) without having to move operations off chain or introduce severe points of centralization (supernodes).
Ethereum has already established itself as a major platform. It is currently processing more than half a million transactions per day. Still, every full node on the network runs every transaction and stores all of the states which limits drastically its throughput.
Sharding and Plasma (along with Casper) will put a stop to this inefficiency, hopefully.
Want to learn more about Ethereum future and the blockchain technology in general? Reach out to our expert to get a free consultation.