Ethereum Scaling and Plasma
Ethereum has some serious scaling issues. Plasma seeks to solve this issue though.
Since it’s launch in mid-2015, the blockchain 2.0-darling has struggled to chug along; gasping for transaction breathing room with every successful initial coin offering.
Let’s do some quick math by comparing Ethereum’s current capabilities to a flagship social utility app such as Facebook.
Currently, the Ethereum network currently caps out at around 13 transactions per second; ETH-based tokens such as OMG, Golem, & Civic cap out at around half of that, 7 transactions per second. An app of Facebook’s size makes around ~200K API requests per second. In Ethereum world, instead of API requests, users pay ether “gas” to run smart contracts.
This means Ethereum transaction capability needs to grow by an astounding multiple of x25,000 to handle the network traffic of a decentralized app comparable to Facebook.
Running these smart contracts counts as a transaction. This “gas” has a maximum limit set per block in the Ethereum protocol.
Simply increasing the block size to allow for a higher amount of gas won’t work because it sacrifices decentralization — only industry-size miners could afford to participate. In addition, whatever scaling solution we introduce must also not sacrifice a reasonable amount of security. The challenge is what Vitalik calls the “scalability trilemma”: building a system that fulfills “decentralization”, “scalability”, and “security”.
Enter Plasma, Vitalik’s & the Lightning Network’s Justin Poon’s scaling solution for Ethereum.
Quietly released mid-August, the Plasma whitepaper (http://plasma.io/) details a collection of standard smart contracts used to create a tree of side-chains aptly called Plasma chains. These Plasma blockchain trees allow for off-chain transactions; transactions that only periodically commit hashed updated balances to its adult or root chain.
Plasma, the collection of smart contracts, includes a multitude of key innovations that together make up a powerful tool in the battle towards scaling Ethereum’s capacity. Among these innovations are computation concepts such as MapReduce, an evolved Proof-of-Stake consensus proposal, & submittable fraud proofs.
In order to better visualize how and why Plasma is relevant to Ethereum’s scaling issues, we must first understand the difference between Proof of Work (PoW) and Proof of Stake (PoS).
PoW vs PoS
The POW vs. POS debate has & will continue to rage forward.
In the Bitcoin world, every single transaction that occurs within the network is cryptographically verified. This verification method, also known as a consensus algorithm, is the heart & soul of the blockchain revolution because it allows actors to interact, transact & trust complete strangers in a decentralized system without forgoing one’s identity.
Bitcoin, as the first purveyor of blockchain technology, set the standard for a consensus algorithm by introducing their Proof-of-Work protocol. Proof-of-Work, appropriately named, requires literal computation work to verify a batch of transactions. This is why you have thousands of computers using electricity around the world to “mine” coins.
Proof-of-Stake, as the name implies, is a consensus algorithm that relies on users within the Plasma chain to stake some token amount in return for interest at some later point in time. Stakers not only purchase stake bonds, but in doing so they also commit themselves to propagating & broadcasting the exact same number of blocks when said bonds are due.
Why would one stake?
Simple, return on investment. When someone within a Plasma chain puts up stake, what they’re really doing is purchasing a stake bond. At a later point in time, like any regular bond, the staker receives back his/her stake(principle) with some additional interest.
Where does the additional interest come from? From people within the Plasma chain paying ether “gas” to run smart contracts.
Luckily, with Plasma, the originator reserves the right to use whichever consensus algorithm he/she sees fit; he/she can select good-ole Proof-of-Work, Proof-of-Stake, or some other consensus algorithim such as Proof-of-Authority. While not all Plasma chains will opt for Proof-of-Stake bonds, it’s clear that the intention is for the majority of Plasma chains to implement POS.
Solving Ethereum’s Scaling Issues
Covering everything that Plasma has to offer can be quite pedantic and would take far too long (though if you’re interested I certainly tried to so here: ). However, if we’re limiting the scope of Plasma’s advantages to pure scaling, one key feature towers above the rest: MapReduce computations.
MapReduce is a creative way of organizing & computing across clusters of databases that was first introduced In 2004 by then-Google employees Jeffrey Dean & Sanjay Ghemawat. They describe it as such:
“MapReduce is a programming model & an associated implementation for processing & generating large data sets. Users specify a map function that processes a key/value pair to generate a set of intermediate key/value pairs, & a reduce function that merges all intermediate values associated with the same intermediate key.”
Mapping takes a set of data and converts it into another set of data, where individual elements are simplified into key/value pairs. Reducing takes the output from the mapping step as an input & further combines those data tuples into a smaller set of tuples. The goal of MapReduce is to effectively work across numerous clusters of databases in parallel with a two-step process: Mapping, & then Reducing.
Opting for a tree structure allows Plasma to run MapReduce computations. Instead of clusters of databases, we run MapReduce on Plasma chain trees.
This is by far Plasma’s most important scaling solution.
Progress and What to Expect in the Future
As mentioned in the Plasma whitepaper this is likely far from the final, optimal implementation of Plasma that we’ll see live on Ethereum. Plasma is hopefully headed to a Github repository near you.
With the ICO market heating up, it’s only a matter of time before a decentralized app adapts a massive following and really pushes Ethereum to its technical limits. Plasma has the chance to change Ethereum from a project of great interest, to an environment of ultimate decentralized utility. Get ready for an interesting ride.