What is the current state of Ethereum?

While traditional payment methods like Visa are capable of performing up to 24000 transactions per second, Ethereum is barely reaching 20 tops. This means that in order for something like Ethereum to be used as a day-to-day payment method, it would have to make a 1200 times improvement in transactions processed per second. But the issue doesn’t stop there, as more and more people uses Ethereum, the transaction cost raises as well. Let’s give an example, during CryptoKitties peak the network got saturated, and gas cost was averaging 9 times more than usual.

Time is a concern as well, as confirmation times can take up to 30 minutes. Imagine buying a Starbucks coffee and having to wait 30 minutes for your payment to be accepted before receiving your Pumpkin Spice Latte.

Finally, Ethereum has some serious limitations due to its design being developed as a Trustless platform. This means that in order to run a Dapp, your users will have to pay the fees for every action they need to perform in your application. This may work well with high stakes issues like mortgages or wills, but you are being limited in the matter of how you monetize your application. A freemium approach is pretty much dead from the get go.

What is Plasma?

Plasma is one of Ethereum’s scalability solution proposals. Plasma attempts to delegate processing power to side-chains outside of the root-chain, in this case Ethereum, while at the same time, giving all participants on the side-chain the enforceability to correct wrong-doings. But what is enforceability? Enforceability means any user can rest assure that their assets cannot be stolen as any illegitimate action can be trustlessly corrected.

How does it work?

Whenever you sign a contract with another part, there is no need to have the Supreme Court of your country take a look at it and validate it. You don’t have to take any other action, as long as you know that in case of dispute you will be able to resolve the issue in what should be the fair outcome. You go to your house, save that contract in a safe and keep going with your life, following that contract’s rules.

Let’s say one day the other part attempts to break the contract. In this case you have enforceability, meaning you can take your contract to the court, challenge your opposition and force the other part to follow the stipulated rules.

Plasma works in a similar way. Side-chains are treated as the mentioned contracts. You make transactions on the side-chain without actually trusting it. And you do this because you know that in case of it going rouge, you can always appeal to the root-chain, Ethereum, in order to force it to behave.

How does it actually work?

First of all the side-chain operator must stipulate the rules in which his side-chain will be enforceable. This must be done on Ethereum, as this is the chain that will resolve any disputes. The operator will create what is called a Founding Contract. This contract will be able to receive, hold, and release funds to be used on the Plasma chain, but most importantly, this Founding Contract will have the rules in which a dispute will be resolved. That is why this is the most crucial part of the operation. As long as this contract is well audited and it’s code can be trusted, there is no need to trust in the side-chain operator. The creation of this contract will be followed by the creation of the corresponding side-chain, running independently of the Ethereum blockchain.

Once the side-chain is created, in order to use it you must have assets in that side chain. For this to happen, you can deposit your Ethereum assets in the Founding Contract, which will freeze there. You won’t be able to use them in Ethereum for the time being, because they will be available in the Plasma Chain. Those assets will be created under your name in the Plasma Chain, where you will be able to operate with them and make transactions as free as the side-chain allows it.

Plasma chain operations will depend on the Plasma chain implementation, but we can expect them to be similar to other blockchain operations. Users provide transactions, these are appended to the current block, which is afterward submitted as the next chain member. Do and repeat. In order for Ethereum to know what is happening in the side-chain, the operator must commit the Header Hash of each block to the Founding Contract. This way, whenever a block is submitted to the Ethereum blockchain, users can be sure that there is proof for that block in case of dispute.

After you have deposited your assets, and you made the corresponding transactions, at some point you will need to return those assets to the root-chain. Plasma chain operations are limited to what that chain’s purpose was created for. So in order to use those assets again, you must first create what is called an exit. An exit is a way of telling the Founding contract that you want to release the deposited assets. However, since the root-chain never knew about any transactions you performed on the Plasma chain, the Founding contract will not be able to know for sure if those assets are yours or not. So what is asked in addition is a fixed bounty added to the exit proposal. We will explain what this bounty is, and how it works later on.

First let’s suppose you actually own those assets and no one can say otherwise. You will have to wait what is called a challenge period. During this period, assets are locked both on the root-chain as well as the plasma chain. After this period passes, your assets are released to your account, for you to manage them freely or simply deposit them in another plasma chain.

But what if those were not your assets? What is keeping you from exiting anyone else’s assets? Well that is where challenges come into play. Any 3rd party, usually an interested party, with the required proof can challenge that exit. Once the challenge is successfully approved and the Founding contract verifies the provided proof, this bounty we talked about before is given to the challenger and the exit is completely cancelled.

Users must be vigilants for their assets. They have to watch the movements in the Founding Contract regarding their assets. Just as you have to appeal your case in a court when a contract is breached, you have to challenge an exit that tries to spend your assets. This is the same principle in which the lighting network works. However, we may want to discourage false exit proposals as much as we can since the challenges are computed in the main root, and the whole goal of Plasma is to move computation away from it. Hence the bounty. An user submitting a false exit proposal will put at risk a substantial amount of money that will be lost in case of a challenge.

This way, whenever a header hash is submitted to the root-chain, you can be sure your assets are safe, even though they are still frozen in the Founding Contract. Even if the operator is wrong-behaving, he cannot forge a header hash corresponding to a block with transaction signed by you, so you will always be able to exit based on an older header hash and no one will be able to challenge that.

Plasma use cases

There are still some issues regarding this approach which are currently being worked. However Plasma opens up a world of possibilities. Apart from scaling the amount of transactions by the amount of side-chains available, it also reduces fees for every transaction done on the Plasma chain. Since the Plasma chain can be untrusted, there is no need for a particular consensus algorithm. A plasma chain running on Proof of Authority is just as secured as one running on Proof of Work. As soon as the users detect something is not working correctly on the Plasma chain, they can just exit their assets without risk. How to incentivize operators to well-behave is still being discussed and some ideas were proposed.

Plasma opens up the possibility of creating whole new type of Dapps. A decentralized game could run free on the Plasma chain as the operator will monetize it otherwise. This way, users will not pay for actions done within a game but just for depositing and exiting their assets from and to Ethereum.

Plasma also allows for private blockchains to be truly decentralized. An organization running a private blockchain will have the necessary enforceability when header hash is committed to Ethereum, thus removing any possibility of tampering with the system from inside.

Current progress

There are 3 proposals being worked for in Plasma.

Minimum Viable Plasma (MVP) is a UTXO-based side-chains implementation, where assets are transferred to the Plasma chain by using a similar UTXO method used in Bitcoin rather than an account one like in Ethereum. Challenge proof can be done by simply providing the stream of signed transactions in which that UTXO was involved in.

Plasma Cash is a non-fungible token based Plasma chain in which assets stored in the Plasma Chain are unique tokens that can be traced. On challenging an exit, the stream of signed transactions showing the transfer of such token has to be provided similar to MVP. This approach opens up to Dapps like CryptoKitties or other collectable tokens to run on a lower fee chain.

Plasma Debit is the cherry on top of the cake. While still years must go before we can see this working, plasma debit is the final approach in which fungible tokens will be able to be used, so that transactions can be done on a side-chain as seamlessly as they can be done on Ethereum.

Conclusion

Plasma is still an under-development technology that once it rolls out it will open up not only the ability for operators to run all kind of different Dapps on their own private side-chains at minimum cost, but also help decongest Ethereum’s main net, knowing that Plasma is compatible with other scalability solutions like sharding and Casper. But most importantly it can lower the entry bar for any Ethereum user into Dapps, so that the blockchain technology can reach greater audience.