In January, ETHNews published an article surveying some of the major second layer solutions being explored in connection with the Ethereum and Bitcoin blockchains. This piece continues that exploration.
"Second layer" is a term used to denote all the platforms and protocols that host or process data so that the base layer blockchain in a network doesn't have to. For a fuller explanation of relevant terminology and of why second layer solutions matter, please refer to part one. For explanations of even more second layer solutions, please see part three.
Base layer blockchains, like all blockchains, can only fit a certain amount of data into each block. This feature, while necessary, has the effect of limiting how many transactions the network can process in a given period of time. By offloading activity from the main chain onto second layer platforms, developers can help blockchains handle significantly more transactions. In other words, second layer solutions can free up blockchains to do more stuff.
Note: The solutions detailed in this article are mostly theoretical at the moment; they have not yet been implemented on platforms open to the public.
Among the second layer solutions currently being pioneered, Plasma has been one of the most talked-about. In this configuration, there are many blockchains that branch out from one another in what Joseph Poon, who co-wrote the foundational paper on Plasma with Ethereum creator Vitalik Buterin, describes as a tree-like formation.
To establish a Plasma network, one must publish a set of smart contracts, also known as EDCCs, to the main chain, which lay out the rules that will govern the tree of Plasma blockchains. In the parlance of Poon and other developers, a Plasma blockchain that branches off of the base layer (or off of another Plasma blockchain) is called a "child chain."
In a Plasma blockchain, the "validators" (whose role is akin to that of miners on the main chain) report the activity taking place on a child chain to the base layer. However, rather than providing the main chain with a full list of all the transactions verified on that child chain since its last block was mined, they deliver to the base layer a "blockheader hash" (a string of characters cryptographically derived from information related to the latest block's contents) saving precious space there.
If other users believe that a validator has misrepresented what happened on a Plasma chain, they can submit fraud proofs containing contradictory data. If a fraud proof successfully disproves a validator's representations, that Plasma chain will be rolled back to the last block that has not been successfully disputed, meaning that the transactions which occurred after the last validated block will effectively be undone.
Because a Proof-of-Stake (PoS) consensus mechanism would be used to verify transactions on Plasma blockchains, one would have to deposit funds into a Plasma EDCC in order to become eligible to be a validator. If a validator submits an invalid block, they are stripped of these funds.
If users suspect untoward activity on a child chain where they have some funds, they can simply take their tokens and jump from that child chain onto the "parent chain" from which it branches. If necessary, they can repeat this process ad infinitum until they're all the way back on the main chain.
To borrow a metaphor from Poon, a tree of Plasma chains is like a court system in which higher courts can overturn the rulings of lower courts, and the base layer functions as the supreme court. It would be inefficient for the supreme court to hear every case, but avenues exist through which any case can reach the supreme court.
In a sharding system, users are siloed in "shards," blockchains that act as "galaxies" unto themselves, which communicate with the main chain but are distinct from it.
This way, rather than millions of users conducting all their transactions on the base layer, as is currently the case, there are many shards, each of which supports thousands of users and processes their transactions internally. These walled-off galaxies are maintained by a single "validator manager contract" (VMC) on the main chain.
In early implementations, communication across shards is expected to be impossible.
Would-be shard validators (sometimes referred to as "collators") deposit their stakes with the VMC (like Plasma blockchains, shards will abide by a PoS consensus mechanism). The size of their staked deposit determines their likelihood of being selected as a validator. This selection happens "pseudorandomly."
Validators are tasked with creating "collations" (essentially "blocks" in sharding lingo) for a particular shard over a specified period of time. Any validator can be selected to create collations for any shard, and they are to be selected shortly before the period begins, giving them minimal opportunity to hatch nefarious schemes to cheat that shard's users.
Validators need only create collations relating to the shard for which they've been selected, saving main chain miners and shard validators alike significant computational power and disk space compared to what is required by the system currently in place on the Ethereum network.
Don't forget to visit ETHNews in the near future for part three of this series.