The possibility of adopting Plasma as a scaling solution

GAME
GAME
Published in
9 min readAug 16, 2018

In major blockchains such as Bitcoin and Ethereum, as the number of participants increases, the number of transactions continues to increase, taking long time to verify transactions and form consensus.

This is called a scalability problem, and it is caused by the small number of transactions that can be included in the block, and the slow block generation time. In order to put the distributed game platform MOLD into practical use as a public blockchain in the future, it is essential to solve this problem. Therefore, in constructing the distributed platform MOLD, we have considered the scaling solution at Layer 1 using the consensus algorithm of Hyperledger Fabric and Tendermint before last time. In this time, as a layer 2 solution, I will consider the Plasma which is attracting attention and also want to verify whether it will be possible to adopt Plasma even at MOLD which develops on Tendermint base.

table of contents

  • What is Layer?
  • What is Plasma?
  • Illegal exit concerned with Plasma
  • Plasma remedy
  • Possibility of Plasma in MOLD

What is Layer?

First of all, in order to understand the protocol area of ​​the blockchain, it is necessary to understand the layer structure. Layer 1, the backbone region of the blockchain, includes consensus algorithms, which are protocols for generating and verifying blocks such as PoW and PoS, and virtual machines that extend various functions on the blockchain. Layer 2 includes a mechanism for extending the communication area on the blockchain and increasing the processing capacity. In particular, scaling is expected in the Layer 2 region deviated from the blockchain which becomes the base axis. It is not the subject of this article but let’s keep in mind that Layer 3 which is a general application area and Layer 4 which is the area of actual service application are on top of it.

What is Plasma?

Plasma is an idea of making child blockchains into a tree shape (hierarchically) with one main blockchain as a parent blockchain, and as shown in the figure below, the plasma blockchains are connected to a Root chain, like Etherurm in a hierarchical manner.

Transactions are processed in each plasma blockchain, and the result is transmitted to the connected parent plasma blockchain, so that the state is eventually recorded in the the Root chain (eg Ethereum). At this time, not the entire information in the block is conveyed but the hash of the block header is conveyed. This is very efficient and many state updates are represented by a single hash (and some small relevant data).

plasma whitepaper :https://plasma.io/plasma.pdf

Processing with Map reduce format
Plasma aims to dramatically improve the execution speed of transactions by parallel calculation in Map Reduce form.

In the first stage of MAP, the role of calculation processing is sent from the parent plasma blockchain to the child plasma blockchain. In the second stage of REDUCE, all the child plasma blockchain commit the results of the calculation process to higher hierarchy plasma blockchains until they reach to Root blockchain.

Thanks to the parallel calculation in such MapReduce form, Plasma will make it possible to increase the processing speed of transactions.

plasma whitepaper :https://plasma.io/plasma.pdf

The deposit and Withdraw to Plasma chain
The deposit token is sent directly to the Plasma contract on the Root chain.Contracts on the Root chain ensure penalties and withdrawals of funds for invalid commits using grasp of the current state (state) and fraud proof (described below). In the Plasma chain, transactions of the deposited tokens are processed.To withdraw deposit token, the depositor needs to sign a transaction on the Plasma chain and finally he can withdraw at the stage when the consensus formation is committed.

About transactions on the Plasma chain, there is an explanation for getting the finality in Plasma’s white paper.

The multi-phase commitment occurs as follows for fast finalization:

1. Alice wants to spend her output in the Plasma chain to Bob in the same Plasma chain (without the full transaction record being submitted on the blockchain). She creates a transaction which spends one of her outputs in the Plasma chain, signs it, and broadcasts the transaction.

2. The transaction is included in a block by validator(s) of the Plasma chain. The header is included as part of a block in the parent Plasma chain or root blockchain, ultimately being committed and sealed in the root blockchain

3. Alice and Bob observes the transaction and signs an acknowledgement that he has seen the transaction and block. This acknowledgement gets signed and included in another Plasma block.

What is expected in the third step is to ensure the finality of the transaction by participants (in this case Alice and Bob). In the first step, Alice still can not ascertain whether the transaction was included in the block, and even in the second step, there is uncertainty as to whether the transaction was stored in the block. Therefore, in the absence of the third level confirmation signature, Alice may even be able to withdraw funds before getting the finality in the Root chain.

Advantages of Plasma
It is expected as follows when Plasma is finally realized.

  • Data size stored in Root chain is reduced
  • Transaction fee is reduced
  • Transaction execution speed (remittance speed and Smart Contract execution speed) is improved
  • Transactions with larger data size can be executed smoothly

It is no longer necessary to store extra data in the Root chain, and by linking with the Plasma chain, it is possible to judge more transactions and substantially increase computing power. In other words, plasma is expected to dramatically solve scalability problems in Root chains such as Etherum in Layer 2.

Illegal exit concerned with Plasma

Since Plasma judges transactions with multiple blockchains, risks such as double payment and withdrawal of already used UTXO occur. In addition, fraudulent acts by Plasma chain operators may occur (Withholding attack problem).So we need a process to constantly monitor whether participants do not cause fraud and submit evidence when they happen.

Fraud proof
All states in the plasma block chain are executed according to Fraud proof and solve problems such as double payment problem and illegal use of used UTXO.

Since participants have copies of all block data, it is possible to prove by submitting the block header hash to the Root chain. In fact, if proving that fraud has been submitted to the root chain, the block is rolled back and penalty is imposed on the block creator.

plasma whitepaper :https://plasma.io/plasma.pdf

Withholding attack and Mass Exit
Although it is thought that it contributes greatly to solving the scalability problem, on implementing Plasma, an attack called Withholding attack is concerned. Withholding attack is an attack that prevents a plasma block from being approved on purpose, prevents extraction of assets (tokens) deposited in the block, or approves illegal transactions such as double payment transactions. In the Plasma chain, PoS that anyone can participate in the network is adopted, and one node creates blocks in one period. That is, there is a possibility that malicious nodes do not generate blocks or approve illegal transactions, which can cause network delays and fraudulent transactions. Furthermore, it may be difficult to make a judgment as to whether it is a malicious node or just a node that has just been disconnected. For this, see another article (About Byzantine breakdown).

When encountering a malicious Plasma chain operator, the lower tier participants can move assets to other Plasma chains and leave the problematic Plasma chain.

plasma whitepaper :https://plasma.io/plasma.pdf

In the future it is said that Mass Exit will be implemented as a protocol/security model to prevent fraud and delay like Withholding attack on Plasma chain. It is executed by collecting signatures from everyone who wishes to exit (withdraw) to protect assets from malicious Operator or block withholding attack. Since withdraws are executed in Priority Queue (in order of old UTXO), the amount of money before illegal transaction or access returns to the correct owner. Because the operator of the Plasma chain produces a user loss, there is an incentive to avoid Mass Exit, that is, incentives work in a direction not to do wrong. After the Maas Exit, the Plasma chain basically stops, so it is assumed that another chain is generated (there is a case where restart of Plasma chain occurs after Mass Exit).

Plasma remedy

Background
Participants in the Plasma chain need to keep all block data in the Plasma chain in order to submit Fraud proof when fraud by the block operator occurs. Therefore, the burden such as the data size for the user is large, and it can not be said to be practical if it is as it is. Plasma also requires a confirmation signature, and a transaction stakeholder has a mechanism that can obtain finality only after signing, and holding this confirmation signature is also a heavy burden. Thus, a mechanism called Plasma cash was invented to reduce the data possessed by users.

What is Plasma Cash?
Deposit from the Root chain is used on the Plasma chain side as a substitutable impossible token like NFT (Non-Fungible Token). Therefore, the user only needs to be interested in the node of the merkle tree corresponding to the ID of the token he / she possesses. Substantially user should monitor only the data related to the own token ID.

What is Plasma XT?
in order to reduce the amount of data possessed by the user even more than Plasma cash and to prevent frauds, it is plan to periodically record the signature submission status with the bit data size of the number of people to be collected. In the middle, the palsma operator composes the checkpoint data, and the user only needs to hold and monitor data after the checkpoint, so the information on who finally had the specific token in the end is correctly shared. However, when the operator does not display the history of transactions other than Mercle Root, there is a problem that fraud does not become obvious, and at present there is no specific checkpoint design presented.

This is true for both Plasma Cash and Plasma XT, since they use NFT tokens, it is not supposed to further subdivide the issued token. Therefore, it is difficult to adapt to applications requiring substitution, such as settlement and decentralized exchange (DEX), and usage methods are restricted.

What is Plasma Debit?
To enable the division of the issued token, P2P transactions are generated in Plasma Debit by producing state channel which is managed by the operator of the Plasma cash chain. By depositing some of the deposit to Plasma cash chain to the operator, it is possible to trade within the state channel with the deposit amount to the operator as the upper limit. Meanwhile, there is concern about the necessity of trusting operators, the possibility that an operator can become a single point of failure, and the significance of performing substantial off-chain transactions outside the Root chain.

All Plasma Cash / TX / Debit technologies are at the research stage, so it is expected to improve in the future.

Possibility of Plasma in MOLD

In Plasma’s scaling solution, there is no restriction about Root chains, and the idea of plasma can be also used in blockchains other than Ethereum using the function of Smart Contract. Therefore, even in the blockchain adopting consensus algorithm such as Tendermint in layer 1, it can be a powerful scaling means.

The Decentralized gaming platform MOLD is paying attention to Plasma as a scaling solution. When Plasma is implemented, simultaneous parallel processing is possible outside the Root chain, so by incorporating Plasma chains in MOLDEX which is an in-game item distributed exchange, game ICO system, game settlement related, etc. , It becomes possible to scales in each field without wasteful loading on the Root chain.

Also, for example, even when using NFT tokens like Plasma cash, there is no need to divide in the trading of item tokens in which the issue number in MOLD is already decided, so there is a high possibility of effective use about Plasma Cash.

In the case of MOLD, it is first to decide Layer 1 consensus algorithm using Tendermint, implementation of EVM-based virtual machine, and ABCI protocol, but since there is a possibility to use scaling solution like Plasma in Layer 2 phase, we want to continue to pay attention to future progress of Plasma.

— — — — — — — — — — — — — — — -
Cosmos Gaming Hub Project(Former MOLD project)
CEO & Co-Founder

Takumi Asano

For all game enthusiasts

--

--

GAME
GAME
Editor for

Cosmos Gaming Hub is a fair and secure distributed gaming platform which supports the development of new games and simplifies the trading of digital assets.