The architect known for conceptualizing the Lightning Network, an off-chain scaling solution for Bitcoin, has done it again. On August 8, Joseph Poon, and Ethereum’s Vitalik Buterin, published a white paper titled Plasma: Scalable Autonomous Smart Contracts.
Poon first conceived the high-level construction for Plasma in mid-2014, before the Lightning Network paper was published, before Frontier was released on Ethereum, and when scaling on Bitcoin Talk was just a theoretical slow moving disaster.
However, since the Initial Coin Offering phenomenon culminated into a mad dash for cheap funding, which then proceeded to clog the Ethereum network, it became apparent that this Turing complete virtual machine is massively unscalable.
In its current form, every single smart contract and transaction executed on the network must be processed globally. This Turing complete design makes syncing the Ethereum blockchain crushingly slow. The issue of scaling has since been prioritized at the Ethereum Foundation.
The Plasma paper details a framework that tackles the problem of throughput. Plasma is structured in a way that allows the technology to perform potentially billions of computations per second.
Instead of a decentralized application, or “dApp,” running as a smart contract on the consensus layer itself, the Plasma design reimagines dApps running as their own blockchains.
“These smart contracts are incentivized to continue operation autonomously via network transaction fees,” explains the paper, “Which is ultimately reliant upon the underlying blockchain (e.g. Ethereum).”
The design results in decentralized application blockchains (DABs). “You could literally do Reddit on the blockchain,” Poon says, “You can potentially run computation that has billions of transactions per second with one single commitment that’s at most 100 bytes that encompasses millions of computations.”
“When it comes to game theory mechanism design; it’s all about information. When you’re dealing with incomplete information, there’s mitigations that need to be in place.”
- Joseph Poon
On a high level, how Plasma works goes like this; a developer writes a smart contract that runs on top of Plasma, uploads the smart contract onto the blockchain, others pick up this application and run it on their machines on the developer’s behalf.
Built-in economic incentives then incentivize those running the application to continue running it, behave as prescribed, and get paid for doing it. “There’s an incentive for people to continue operating this blockchain because they’re going to collect transaction fees,” Poon tells BraveNewCoin. “As long as there are people using the system, there are people who are going to continue operating the blockchain,” the author adds, “And I think that’s pretty fun.”
The Plasma design features includes dynamic reward and punishment. Block validators’, the analogous “miners”, behavior is modified by their returns which are bounded by how “correctly” they behave. If the validators start acting maliciously, their funds decline. For the people who are honest, their funds increase.
It’s possible that owning the token doesn’t guarantee some proportional return; in fact, it depends on their behavior that different types of returns are calculated.
Conceivably, Plasma can replace server farms with a peer-to-peer network where everybody collectively runs these applications in a scalable, decentralized manner. It creates enforcement where not everybody needs to verify everything on the blockchain; only the data that the users care about. Plasma hints at the disintermediation of web services like Amazon EC2 into truly distributed cloud computing.
“It’s solving a problem that I think most people didn’t realize existed when it comes to sharding, side-chains, Lightning Network; those types of things. The fundamental problem is around information withholding.”
- Joseph Poon
On the technical side, distributed computing systems run by centralized organizations require resiliency to myriad failure modes. Blockchains, on the other hand, which are run by a decentralized network of nodes anywhere in the world, require an even higher level of fault-tolerance, called Byzantine fault-tolerance (BFT).
Byzantine fault-tolerant systems assume the network is adversarial; that it’s out to get you. It must assume that some percentage of network participants are malicious actors, characterized as Byzantine in the context of distributed computing, in order to guarantee a sufficiently high level of security and reliability when confronted with coalition attacks.
Poon explains that one way someone can be Byzantine is by withholding information, “so that you can’t prove they were malicious or adversarial in various ways simply because they don’t provide you sufficient evidence to prove wrongdoing.” In the paper, this class of Byzantine behavior is referred to as “block withholding,” and it’s the primary focus.
Plasma is described as a scalable smart contract solution on the blockchain, optimized for Proof-of-Stake (PoS) consensus. It’s a blockchain design concept which provides the framework for scalable blockchain architecture, mitigating block withholding.
Structured in a tree hierarchy, it’s a clever way of reconstructing decentralized autonomous applications from, say, smart contracts on Ethereum, into separate child blockchains (the branches). The child blockchains stem from a root (parent) blockchain, like that of Ethereum or Bitcoin. This blockchain tree is what Joseph Poon refers to colloquially as “chains on chains on chains” or branches of chains on top of other chains on top of the root blockchain.
State transitions on those child blockchains are merely cryptographically verified and enforced by the main root blockchain. Plasma relieves the root blockchain and its consensus process of all complexity besides one simple job: maintain security in a decentralized manner without coming at the cost of scalability.
“If the root blockchain is sharded, then the Plasma chain can run on top of this for greater scalability and other benefits.”
- Plasma: Scalable Autonomous Smart Contracts
Many institutions have been clawing at the problem of horizontal blockchain scaling. A heavily researched solution to this is sharding, where work is divvied across computers in the global distributed network then stacked for faster processing. Confronted by block withholding or missing information, given an asynchronous network, those distributed networks become stalled and coordination becomes a serious security problem.
“A lot of people previously thought there was no way to do sharding at all because there was this issue,” states Poon. “In a way, Lightning does do sharding. The big asterisk is that, with Lightning, it assumes all parties have full data availability.” In computer science terms, the name for this is synchronicity. Essentially, both parties in a Lightning Network payment channel require synchronicity to move forward.
“In this case, it doesn’t require that type of synchronicity to that extent so other people can move forward without you,” Poon adds, “But there’s a presumption that you’ll be live periodically to be able to observe whether people are acting fraudulently. If they are acting Byzantine, then you can exit early.” Plasma is compatible with base layer Ethereum sharding efforts.
Comparing a blockchain to a “party,” by introducing the Plasma solution, Poon essentially gave participants an “out” if it ever became compromised. “The whole narrative of this framework is: If a party sucks, you should leave. A lot of designs thinking about this problem related to fraud proofs previously didn’t consider the possibility of doing an exit in the event of information withholding.”