Vitalik Buterin has introduced an interesting idea that could feasibly improve both scaling and security in a blockchain – Plasma Cash.
In August 2017, a working draft of a blockchain upgrade called Plasma was published with the title “Plasma: Scalable Autonomous Smart Contracts”. It was published by Buterin and Jospeh Poon, the developer of Lightning Network. In many ways, Plasma is similar to the Lightning Network. Plasma Cash is an upgrade of an upgrade.
Chains within chains
The Plasma text describes a system of ‘child’ blockchains, created through a series of smart contracts, subordinate to a root blockchain. The root chain enforces all computation with ‘bonded fraud proofs’. Transactions on the root chain are “only computed and penalized if there is proof of fraud.”
Plasma blockchains do not share transaction data with the root chain, only the hash created by many pre-collected transactions, which are all minimised to a single bit on a bitmap. If a fraudulent block is submitted, it is returned by the root blockchain and the block creator penalised.
In this way: “Incredibly high amount of transactions can be committed on this Plasma chain with minimal data hitting the root blockchain.”
Scalability and security
However, it only allows for quadratic scaling. That is, the Plasma system would never be able to support the exponential growth necessary to realise the internet of things/world computer that cryptocurrency developers dream of. Another drawback is that all users would need to download all Plasma blocks, a further drain on resources and time.
At a talk at the Ethereum Community Conference in Paris on Friday the 9th of March, Buterin introduced Plasma Cash, developed by himself along with Dona Robinson and Karl Floersch. Plasma Cash could solve these issues, according to Buterin.
In order for scaling to become exponential, he proposes a programme in which each deposit creates a new coin with a unique ID. The coin will be unique, representing exactly the deposit amount, and will be non-fungible.
That coin will also be identified by its place in the chain, so that any activity related to coin number x can only ever appear in places corresponding to coin x on that coin’s path through life.
The first advantage of this would be that instead of clients having to download entire plasma blocks, they would only be concerned with the location of the specific coin which is relevant to them. Thus the amount of data that clients need to process “goes down by a lot”. Not everyone needs to know all of the thousands of transactions that are going on in the blockchain at any one time – they are only concerned with their transaction, and the history of the tokens involved in what they want to do.
With Plasma Cash, users need to have the proof data of their coin’s history on the Merkle tree, and nothing more.
In terms of security, the fact that every coin is by definition identified with a specific user, attempts to steal coins are attempts to steal money from specific individuals, and “that specific person has the ability and the necessity to complain.” This contrasts with other blockchains, in which the entire system is victim to all thefts.
No confirm mechanism required
As Buterin explained, no extra round of communication is required with this system, because the coin is individual. Buterin walked through a number of possible ways of scamming the system, demonstrating that exiting the system with a coin which you do not have is foiled by the fact that it is in the interests of the legitimate owner of that coin to stop this from happening, and this owner will have the coin’s proof of history, which can be used to challenge the exit.
And most importantly, users will be able to exit with their money no matter where it is: “Regardless of what happens in the exchange, users can run their money through the Plasma exit procedure and get their money out.”