Ethereum Scalability Issues
With wide cryptocurrency adoption, blockchain capacity is getting overloaded and is constantly growing. This is a result of specific architectural network features. The network consists of several thousand nodes, united within it, that are responsible for system maintenance, management, and statement verification. Each node participates in a consensus which helps provide decentralization and security; thus, the network sometimes struggles with efficiency and scalability issues.
Considering that blockchain requires certain parallel task solutions (like digital signature-checking), there are still some tasks not performed in a parallel manner. This is still a priority, as it is crucial to eliminate system bugs and vulnerabilities, such as double spending or nothing in stake, for instance.
Ethereum faced certain scalability issues, as it was not ready for new, hyped DApps to run simultaneously, and such applications overloaded the platform and violated its stability. For example, cryptokitty operations and transactions used up to twenty percent of the whole platform’s computational power at its peak.
This required seeking out scalability solutions, like sharding, to provide better platform performance, and Plasma is one of them.
Ethereum founder Vitalik Buterin presented Plasma at EthCC (Ethereum Community Conference) as a new framework to boost Ethereum scalability and enlarge its computational power potential.
Plasma, created by Vitalik Buterin and Joseph Poon (BTC lightning network co-creator), functions as an additional smart-contract layer interacting with the main blockchain.
“The main benefit here is that basically the amount of data that clients need to process goes down by a lot. Rather than having to download the entire Plasma history, users would be able to instead generate ‘Plasma coins’ by sending a deposit to the contract. Now users only have to verify the availability and correctness of the Plasma chain only at the specific index that they want to spend, or the specific index of any coins they own and coins they care about,” states Buterin.
That said, let’s dive deeper and investigate how Plasma works.
Defining Plasma and Its Main Characteristics
To put it simply, Plasma is a series of contracts launched on top of the main BC platform, enabling one to hold his/her funds in the state of a contract with the possibility of further withdrawal while high-capacity transactions are running in sidechain. It is scalable enough to process and execute potentially billions of updates per second, allowing the underlying blockchain platform to host numerous decentralized applications from any part of the world. The autonomous functioning of smart contracts is enabled with transaction fees, relying on the platform to stimulate further state transition.
Plasma is designed with the following goals:
- Enable one blockchain to manage other chains: the main chain is the basic blockchain, and all child chains will be enforced from it, in a direct or indirect manner. The basic chain will not interfere with any of the derivatives except the case of a contradictory situation.
- Minimize trust: the system should be as distrustful as possible. Within blockchain and smart-contract use, there is no need to trust third parties or seek intermediaries — the system regulates all transactions. Child chains are not dependent upon other participants.
- Scale the ledger: blockchain has to store a lot of data. Designed on-top chains have to quickly and scalably process all the data previously stored on the basic blockchain.
- Solve general scalability issues: on-top chains must be reconcilable with a variety of scaling solutions, such as sharding and lightning, and be capable of implementing them.
- Localize calculations: each part must perform its own calculations, and only transfer a hash of updates to the basic blockchain.
- Provide fraud proof: in the case of fraudulent or malicious behavior, participants can provide proofs to the basic chain.
- Provide each child chain with its own policy.
In order to scale the processes of economic and financial activities within global applications and data use, Plasma offers a decentralized method of autonomous applications. It consists of two parts:
- MapReduce functions: a set of reframed BC computation functions.
- Optional PoS token bonding: tokens can be optionally bond on top of existing blockchains.
To put it simply, it should be stated that the MapReduce structure consists of two parts:
- A map, where all information is shared between different nodes (participants).
- Reduce: participants solve a problem and commit a “final” function that notably shrinks data size and returns final value.
Let’s say Alice asked Bob to calculate how many words her book has. Bob shares several pages with Charlie and Dave, who simultaneously count the number of words and tell Bob the result. Bob sums up all the numbers he has and provides Alice the final answer.
This scheme can be applied to the blockchain:
Step 1. Map:
- The first chain assigns a problem to the second-level chain.
- The second level proceeds to share the task with the third level.
Step 2. Reduce:
- The third level calculates and solves the problem by further providing the result back to the previous level.
- The second level accumulates the data and provides the result back to the first level.
The structure is similar to the Merkle Tree structure, which is a tree of hashes:
In order to scale blockchain computation, Plasma offers a structure in which all nodes are provided with economic incentives to operate the chain autonomously. In addition, enhanced scalability can be obtained via minimized contract funds. This enables the user to provide one payment that includes transactions and signatures of numerous users. This structure is combined with a MapReduce framework to enhance scalability with smart-contract bonding.
Users are provided with the ability to allow external parties to keep funds and execute contracts, similarly to the process of mining. But instead of relying on the blockchain platform, this can be performed on top of it, therefore, ensuring greater scalability.
Plasma is made up of five components:
The Plasma Blockchain: How Does It Work?
Plasma method allows multiparty off-chain channels to hold state with the help of others. This process is defined as the Plasma blockchain, which allows deposit and withdrawal of Plasma chain funds with state transitions enabled by fraud proofs. This ensures enforceable state and exchangeability.
If Alice keeps 1 ETH in the Plasma blockchain, for instance, it gets recorded into a block, whereas the consensus is met due to fraud proofs. Further commitments are enforced and submitted on the basic chain, and her funds are held in its smart contract:
This chain allows the processing of a greater number of transactions with less data loading on the basic platform. Any user can send funds to another, including those from a different set of participants. These fund transfers can be paid and withdrawn in the native platform coin (in ETH, for example, on the Ethereum blockchain).
All participants (or their networks) will be able to manage a blockchain without permanent basic blockchain records, and without the need for third-party intermediary interference. In case anything goes wrong, funds are frozen, and their value is lost. Fraud proofs are designed as smart contracts on the basic platform, enforcing their state and their ability to eliminate any non-Byzantine behavior.
These fraud proofs use an interactive funds-withdrawal protocol. In order to withdraw a certain amount of funds, an exit time is needed. With the above-mentioned interactive protocol, the exiting party must confirm the outputs via UTXO model requesting a withdrawal. Network participants can then submit a *bonded* proof that has to be confirmed and tested if any funds have been spent. If the event appears to be wrong, it is treated as fraudulent, and the confirmation gets canceled. With time, another *bonded* round allows the withdrawal to happen, bonding to state *before* a committed timestamp. An incorrect Plasma chain can be quickly exited by participants. In case of attack, participants can quickly exit and save their costs, ensuring security within the system.
Blockchains in Blockchains
Plasma blockchain is designed as a tree in which block obligations run downward, and parent chains can submit exits relying on the main platform. The featured mechanism is constructed as a court system in which higher and lower courts are meant to increase accessibility and decrease spendings in non-Byzantine states. Such a chain can go to any of its parents to proceed with an operation or exit.
The hierarchy of these chains is enforced due to the system of fraud proofs. Therefore, state transition creation becomes possible, increasing scalability of the computational state as the relevant data can be submitted according to Byzantine conditions.
Additionally, recovery from these conditions are very cost-efficient, as one participant can enforce the state via parent Plasma chain. Participants are interested in monitoring fraud behavior in certain chains in order to penalize it, and are obliged to exit them in case of attack:
Plasma exits function as the main security mechanism. As explained above, money transfers and transactions can be challenged with attached rewards or bounties. This means that everyone is incentivized to spot any malicious behavior, and will be rewarded for it. Such an approach provides economic rewards and ensures better security.
In the featured framework, one can:
- obtain funds within (inside) the chain
- obtain funds from a parent chain
- process transactions from tree to web
- mitigate the block-withholding problem
- conduct exiting
- ensure scalability
Having discussed the underlying working principles, let’s outline Plasma’s advantages:
Plasma’s launch date is not yet clear, and as of today, it is undergoing test-outs, the results of which already indicate high processing performance (up to five thousands transactions per second). The main problem Plasma deals with is security; fraud proofs have been designed to guarantee honest participatory behavior.
“Let’s hope that when the next multi-billion dollar exchange, written by an absolutely incompetent developer, is hacked, no one will lose money,” comments Buterin.
Vitalik Buterin is certain that the expanded system will find further use in a range of applications, including exchange security from hacker attacks. With smart contracts running on top of the main blockchain, crypto exchanges will be able to enhance order-book work and functionality. Additionally, Plasma technology can be applied to any structure, like crypto exchanges, private blockchains or decentralized social networks. Plasma is still oriented on the UTXO model of sidechain, so it is still not solving issues with cost-of-business logic computations inside smart contracts with a PlasmaCash smart contract.
It has recently been announced that at least three projects are interested in launching their products with Plasma technology implementation, though one should pay precise attention to details and check official contracts and documentation.
Let’s wait and see how this new technology will solve scalability issues, as it is about to be launched soon!