We have heard about the problems that Ethereum (ETH) is facing. Most of the virtual currencies in the market arrive at a point in which they have to make important decisions, and upgrading the network is one of these moments.
Bitcoin (BTC) as well as Ethereum are experiencing problems with their scalability, and this is something that developers behind Ethereum want to solve.
Plasma is a scaling solution that would allow Ethereum to reach an important number of transactions per second that is much higher than the current 7-14 TPS is handling now. The Plasma solution works in a similar way to the Lightning Network. It is an off-chain proposal that allows the network to process an increased number of transactions but at the same time relying on the Ethereum blockchain for its security.
Plasma is an off-chain scaling solution that includes state channels and Truebit. And yes, they are able to reduce the congestion experienced by the Ethereum network by performing as many actions off-chain. But, everything maintaining a good level of security.
Each Plasma chain condenses messages about the transactions performed and ordering them into a single hash that is stored on the root chain.
Vitalik Buterin himself explains that ‘Plasma is NOT taking your centralized server and sticking a Merkle tree on it.’
But Plasma has two main designs that are known as plasma MVP and Plasma Cash. But how does it work?
First, entities like crypto exchanges that handle a big number of transactions, can have low latency by running a plasma chain and being an operator, or a better called Plasma Operator.
Plasma Operator create blocks. It aggregates and order transactions into blocks and then commit a hash of the plasma block to the root chain.
It is possible to implement Plasma in many different ways, because each Plasma chain can have different governance rules, different tokens, and more.
Every time a user deposits a currency in the chain it receives the token on the Plasma chain. For example, if an interested individual deposits ETH, it will receive PETH, the same will happen if it decides to deposit BTC, it will receive PBTC.
By using Plasma users can send and receive money without being both members of the Plasma contract. That means that an individual can send money from the Plasma contract to another in the Ethereum network.
Each token deposited is related to a unique ID, which are stored in a sparse Merkle tree. The history of the token must be sent, and if the token is transacted several times, the history can get really large.
The receiver does not need to submit a message to the operator for membership in the Plasma contract if it wants to exit his PETH into ETH. He gets a history of the token so as to prove that he is the real owner, and includes that in an exit request to the Plasma contract.
In order to send a token, it is necessary to send the history of a token. For example, in Plasma Cash, the users only have to download the histories of and watch the tokens that they care about.
But sometimes, the transactions are so big that are difficult to transact. This is why the so called ‘checkpoints,’ have been proposed. Every single time a checkpoint is finalized, clients can provide proofs of the checkpoints already finalized.
Furthermore, the Plasma Cash Checkpoints are based on cryptoeconomic aggregate signatures that allow users to know that a transaction is owned by a person X at height Y.
Plasma operators aggregate transactions into blocks and publish a Merkle root of the plasma block to the root chain. In other kinds of designs, which are more decentralized, the operator can be replaced by PoS validators that would mitigate concerns surrounding transaction censorship.