Plasma is coming to the Ethereum ecosystem and in this article we will try to give you an overview of Joseph Poon presentation about Plasma hold on Ethereal Summit 2017. In this article we will not go into details about Plasma, instead we will focus on the context of plasma and the relationship between public and private chains.
What is Plasma?
In short, Plasma is a way to do blockchain scalability. Of course, it’s not the only strategy that Ethereum is working on related to scalability. We all know Ethereum devs are working on things like sharding which runs on top of Ethereum as a layer. Plasma is a set of nested blockchains which allows you to do scalability. Basically, you have a chain submitting small pieces of information about the state of the child blockchain into the Ethereum main net. This is not a proof of existence and isn’t just submit timestamps. It’s enforceable so if you submit some data and other people can prove it you get penalized, that’s called a fraud-proof. It’s a set of smart contracts so there is no token. I mean, you can put tokens on top of it and it helps with the security but it’s not inherently some kind of token mechanism. Literally, it’s pieces of software that you can modify and then submit the code to Ethereum. With Plasma you can launch a child blockchain which gives you an incredible scalability to do computation because you’re dealing with different sets of blockchains. The idea is to spread out the work across different blockchains and then take the results from all of them.
The design goals for Plasma
The first design goal is to have one blockchain that can encompass all worldwide computation. The data is committed to the root blockchain (in this case Ethereum) and it’s only in the event of disputes of byzantine behavior that the fraud is proved and rolled back. The second goal is to trust minimization. The activity in this child blockchain should be as distrustful as possible. If the participants actively try to steal your money, you should be able to find ways to get out of it.
Plasma can give you payment and ledger scalability, and they are talking about the potential to also have billions and trillions of records and not just transactions. The goal is to be able to do billions of state updates per second on this network which is publicly accountable on the public chain.
How does it work?
Essentially you upload the smart contract onto the Ethereum public blockchain. This way you can launch your own specific applications with your specific rules. For example, you can launch your own social network, decentralized exchange or a private blockchain. You will be able to upload public code on a public network and to have a private blockchain which is enforceable on the public network, this creates incredible scalability. The way this is done is by periodically committing to the root chain, which allows you to have your own private blockchain in a way similar to your decentralized applications. Child blockchain itself would be the decentralized application.
Only blockhash/header is committed to the root chain, which means that a minimum amount of data is submitted to the chain. This submission is committed to the blockstate and also creates a sequence. State transitions can occur in Plasma blocks (between Plasma block #2 and #3) but only tiny commits are added to the root chain. The root chain doesn’t bother doing computation unless someone disputes the data. However, data availability is needed to prove a fraud. This has been the fundamental problem for non-global computation.
If you have a blockchain that’s not enforceable it’s just role-playing, and the cool thing is that this allows you to watch only the change that affects you. So if you have money in the third tree depth they’re doing competition. You only need to watch it’s parents, all other activities may not be relevant. Sometimes you need to watch everything, but not necessarily. This allows you to do the computation to map it out and then reduce it back down to get the results.
We are talking about a system of blockchains which is not only viewed as a payment mechanism but also as a court system. We are talking about a system of courts which should achieve scalability. The supreme court doesn’t look at every single contract that goes on. You go to court only in the event of a dispute, you don’t go to court every time you write a legal contract (with your employer or whatever it is). Only in an event of a dispute you go to the blockchain and your local blockchain handles the traffic and the adjudication.If there was an error in the calculation, you can force the correction of states by its parent.
Ultimately, the public chain is some sort of a supreme court of this global system. This brings incredible scaling because you have public global enforcement only if the lower district courts computed incorrectly. This allows you to do high volume low cost decentralized applications and could be an interesting step forward for computational scaling and completely compatible with sharding. The goal here is not just billions of transactions but billions of users and potentially trillions of ledger entries.
You could have a distributed system where tokens are issued, so there is the token model for those child blockchains with which they can issue tokens to give Plasma economic security against halting and incentives.
Private blockchain on public networks
Today there is a general discussion about private versus public blockchain and a lot of those dialectics will probably be resolved conceptually within the next two years. Saying that you want a private chain of the root means that you ultimately trust that private party or set of private parties to represent the global state. It’s sort of like if you only had intranet and you said that intranet is not important, Internet is what matters. What really matters is the connectivity, a connection between organizations.
The goal is that the enforceability of public network (Ethereum) should allow private parties and private blockchains to interact in a trustworthy manner. Imagine if a bank opened a private blockchain and I’m willing to deposit funds or do transactions there, what does that really mean for the trust? If this institution says they are committing their activity to the public chain and they violate rules, they will get penalized on the public network and they can’t do anything about it. The insurance is incredible! This means that anyone can determine their own rules inside a private blockchain and do whatever they want to do. However, if they try to cheat on the things that you agreed on, you can go to the public blockchain and enforce your rights.
That allows institution to be able to tell their customers to use their platform because they don’t need to trust them. If the institution tries to screw over a customer, they will get penalized on a public network which they don’t control. They can control the private network but they are binding their blockchain to following the rules.
So this is a new way of thinking about the interoperability between blockchains and Justin believes Plasma will have an important role in the future of blockchain for enterprises.
For more reading check out plasma whitepaper wrote by Joseph Poon and Ethereum founder Vitalik Buterin.