How Could Plasma Help Ethereum Scale Up?

PLASMA HELP ETHEREUM SCALE UP
PLASMA HELP ETHEREUM SCALE UP?

Let’s start with some good news about Ethereum

100,000. The number of refugees served by the World Food Programme’s Ethereum Experiment in Jordan.

16,678. The number of live Ethereum nodes.

1,000,000+. The number of downloaded MetaMask Ethereum browser extensions.

1,552 decentralized applications currently launched on Ethereum.

35,000,000+ unique addresses on the Ethereum blockchain.

30x more Ethereum developers than the next blockchain community.

And now some bad news –

May 20, 2018– Ethereum Network Congestion Doubles Gas Fees as Game dApps Capture $7.5M in 24 Hours

July 03, 2018 – Ethereum (ETH) Network Congested Again, As Market Prices Revive

While good news points to the fact that Ethereum is a treasured network, helping people and snowballing, the bad news highlights the fact that an increase in user base, leads to congestion resulting in price hikes. A quick glance, on major Ethereum congestion issues, in last six months we would find it was mostly because of the transaction of Ethereum based Dapps that affected the transaction throughput hence caused congestion. Bottomline – Ethereum is facing scalability issue.  Fortunately, the community is working hard to launch two new improvements Plasma and Sharding that could scale up Ethereum network to support tens of thousands of transactions per second. Let’s explore it in detail –

What is Ethereum Scalability Problem?

Every website/software or network intends to support as many users as it can, but unfortunately, the architecture does not support infinite users, Ethereum also faces the same issue. Due to a hard-coded limit on computation per block, the Ethereum blockchain network supports ~ 15 tps[transaction per second]. Now when a new release of Dapps is initiated, the network is flooded with transactions, but due to its architecture, it could only process handful, thereby causing delays and congestion on the network. The technical glitch has been under discussion by community and researchers.

Why is scaling so difficult?

Ethereum blockchain by design uses a combination of software tricks and incentives, which ensures to precisely record who owns what with a central authority. Ethereum is also dependent on a network of nodes, where each node stores the transaction history [entire], the current account balances, storage, and contracts. Overall it is a cumbersome task, leading to an increase in transactions and size with each new block.

Now, the concern is, to strike a balance in finding the key[to validate the transcation] and also grow the number of users [like to purchase stuff online or play games]

Rising the block size could be an option, but then it would throw individuals off the network as not many individuals could fund to facilitate large data nodes. However, the irony is that running a full is the best way to achieve benefits of security and privacy.  But full nodes would limit the number of people that could validate the transactions.

What is Plasma?

In our last post, we mentioned how Bitcoin Scalability Problem could be resolved by a concept called as Bitcoin Lightning Network, similar to the technique is Plasma where the transaction is carried off-chain, and root-chain is responsible for maintaining security and privacy. In the current state, Ethereum, chain of blocks performs computation, storing, transferring and even processing of data, channeling some of the tasks onto a different channel, i.e., off-chaining could help to reduce the load but assures the pros of a decentralized, immutable and distributed network.

Plasma blockchains are a chain within a blockchain. So there would be a root chain[e.g., Ethereum], linked to it would be a child-chain [off-chain, Plasma] that could again spawn its child-chain and this process could continue. So Plasma is many branching blockchains linked to one root blockchain. Plasma is also known as Layer 2 solutions because it is built “on top of” the Ethereum main-chain. It does not require changes to the base level protocol — instead, it exists merely as smart contracts on Ethereum that interact with off-chain software.

a Custom Plasma chain
Ref – https://plasma.io/plasma.pdf

The smart contracts are still handled by Ethereum network, the only change that would be seen is the broadcasting of the completed transactions to the public Ethereum chain. So, for example, there are two parties

A

B

Transferring 5$ to B

 

Transferring 10$ to A

Transferring 25$ to B

Broadcast Message

Transferred 20$ to A

 

One could think of a TREE structure that at a set frequency communicates/transfers information with its root-chain.

With off-loading the child-chain gets an added advantage to performing complex computation, helping developers to launch innovative dapps and get more users. One of the most significant advantages of the Plasma chain is that it could run a faster speed, lower cost and all of the data need not be replicated across the entire network.

How does Plasma work?

Let’s pick a conceptual example to know How Plasma works?

Suppose Mike and Alan are keen on playing chess, where the winner receives 5ETH. There could be two possible ways to implement it on a blockchain network –

Traditional Way

The plain and simple way of implementing this would be to create a smart contract on root chain[i.e., ethereum], feed the rules, logic, and a track of players moves. Every time Mike and Alan make a move, a transaction is sent out to the contract. And when one of them wins, the contract pays 5ETH to the winner.

By design and execution, this method would work but would be slow and inefficient. For each transaction made they need to pay the gas cost and wait before making the next move until the blocks are mined. Also, imagine if the number of players increases just recently when crypto kitties was launched, and it caused congestion to the network.

Going Plasma Way

On the root-chain, i.e., Ethereum main chain we create a set of smart contracts of our Plasma child-chain. The Plasma root contains the state transition rules [rules, logic, and track of players move, records hashes] and acts as a bridge, which allows players to move assets between the root-chain and the child chain.

Now, is the time to create child-chain. The child chain could have its consensus algorithm and depending upon the consensus it would have validators [i.e., one who validates blocks that the transaction is true or not]. Once the child-chain is active, the validators could schedule a periodic commitment to the root. That means I commit that the most recent block in the child-chain is X”. These commitments are recorded on-chain in the Plasma root as a proof of what has happened in the child-chain.

We have in place the Plasma root; the child chain,  now is the time to create the essential components of our game. Here is the twist – the basic components of the game could be built on the Ethereum main chain, and via the Plasma root could be moved onto the child chain, which means Plasma allows you to scale interactions with blockchain-based digital assets, but those assets should be created first on the Ethereum-main chain. Once that is done, you could deploy them onto the child chain that would have the components, logic, rules.

While players interact over a child chain, without even interacting with the main chain that leads to a much smaller node to process transactions, lowering fees and faster processing.

Has Plasma been Implemented?

Plasma is in a very nascent phase, while Vitalik research of Minimum viable product [MVP] has the details, the work is still in progress. One of firm OmiseGo in Jan 2018 did launch the information on how they are building Plasma. You can explore them here.

Plasma – The Questions Unanswered

  1. Could implementation of Plasma delay a vital transaction to be added to Ethereum main network
  2. The cost involved in running a sidechain? Could this have any effect of the gas price?
  3. The deployment and execution plan of Plasma onto Ethereum network?
  4. Would Dapps start with Plasma initiative or is it Ethereum?
  5. The role of miners in case of child chain floating around?

With some unanswered question, we do hope Plasma helps Ethereum in scaling up. However, only time will tell….

Our next article would talk about Sharding and the benefits it has for Ethereum. Stay tuned.

References

L4Media, plasma.io, dappsguru,

How is Schnorr Signatures helping solve Bitcoin scalability problem

 

One thing that Bitcoin fans hate about it is “Scalability.”

Bitcoin Scalability problem is a real concern that is bothering the community. The size of each block on a bitcoin network governs how much transactional data can be confined in it. And with ever-increasing bitcoin user base [As per statista reports the number of Bitcoin enthusiast are 16.95 million  as in March 2018], it is affecting the transaction processing capacity of the bitcoin network that on an average takes 10 minutes to create a new block, and  it can manage seven transactions per second [TPS] that costs around 2-10 USD+ .

If you compare this with other cryptocurrencies, they boast having a better TPS.

Cryptocurrency Transaction Speed
Cryptocurrency Transaction Speed

But as Bitcoin is most loved cryptocurrency, and has a market cap of $144,982,960,328, experts need to find a solution to Bitcoin scalability problem.

Tried and Proposed Solution to Bitcoin Scalability Problem

How could you probably solve the Scalability issue that is an inbuilt feature of Bitcoin?

Increase the Block size

Yes, the Bitcoin community in 2017 was keen to resolve Scalability issue and started working on 2MB block size increase. The project BIP 100 and BIP 101 where BIP stands for Bitcoin Improvement Proposal was initiated into two phases

  1. Segwit– Segregated Witness (SegWit) to separate signatures from transaction data, effectively allowing the network to “cheat” by creating larger blocks than 1 MB, yet still counting them as being below the cap. While Segwit received of only 30% miners, Segwit2x found its way in August 2017. As per cointelegraph – Segwit was launched to get rid of transaction malleability required moving some non-critical data, called “witness data,” out of transactions and off the Blockchain. This allows for an increase in the block sizes of up to 4MB, although most experts close to the development process say that the network is most likely to settle at about 2MB block sizes after SegWit is launched.
  2. 2MB block size increase – The phase had to be suspended because the community did not agree, maybe because it would lead to a higher transaction cost.

Even though the Blocksize increase did not happen, there are potential pros and cons of this approach

Pros of Increasing Block size to 2MB

  1. By increasing the size, the Bitcoin community is making space for new users, that could mean more adoption of Bitcoin at the global
  2. Large Blocksize results in more transactions that lead to more fees involved per block. So as the base block prize decreases, more fees would attract dedicated miners thereby making network secured

Cons of Increasing Block size to 2MB

  1. Large Blocks means slow movement of data, however, with faster internet speed, this could be kept
  2. The Unspent Transaction Outputs or UTXO, the database would increase rapidly as a result of the higher transaction cap. As per a stat of 2015, the UTXO size has doubled in the last year, and we are witnessing the UTXO growth to out space new memory chip technology. That means an issue for nodes which cannot increase their capacity and may drop off.

The Lightning Network

First proposed by Joseph Poon and Tadge, aka Thaddeus Dryja in 2015 in this white paper, it works like this. For example, two parties say A and B and transacting,

A —————————->B [ A gives B 50 $]

B—————————–> A [ B gives A 5 $]

A——————————>B[ A gives 15 $]

Then rather than broadcasting each recurring transaction, a net settlement at a later date could be published on chain network.

In Bitcoin’s case, it allows for things like micropayments that are entirely handled off-chain and then settled at some point on the chain, cutting down on the number of transactions sent while still allowing full utility and fund control. So it’s about creating a micropayment channel to enhance scalability thereby reducing on chain transactions. Sending many payments inside a given micropayment channel enables one to send large amounts of funds to another party in a decentralized manner.

Pros of The Lightning Network

  1. Due to reduced spamming, the transaction fees are diminished.
  2. As the network scales, it would help in increasing the number of transactions

Cons of The Lightning Network

  1. The blockchain is all about transparency, and as there would be off chain transaction, it questions the use of a blockchain network.
  2. As less transaction flow on a chain, the Bitcoin community that is fee-driven and finds incentive and keeps it secured via mining may find it hard to mine the blocks.

Schnorr Signature

We all know that to perform any successful transaction on a bitcoin network digital signatures are required. Now considering the above example [under lightning network A transacting with B], for three transactions, the signature needs to be included that needs some space on the block and for using that space the individual need to pay miners.

Just imagine this signature floating around a network using space and you paying for it. Seems redundant?

That’s where Schnorr Signature is handy

What is Schnorr Signature?

A new Schnorr-based multi-signature scheme, i.e., a protocol which allows a group of signers to produce a short, joint signature on a common message called MuSig.

So basically, you would still sign the transaction however with Schnorr signature scheme it would apply a series of mathematical rules that link the private key, public key and signature together, thereby freeing space and lowering fees.

According to developers working on the technology, the change would lead to an estimated 25 percent to 30 percent boost in bitcoin’s transaction capacity.

Pros of Schnorr Signature

  1. Increase in Capacity– The Schnorr signature that works on the principle of multisignature aggregation offers data advantage. With only one signature being transmitted, included in the block thereby resulting in more rooms for newer transactions. Yes Segwit also helps in segregating the signature part, but here is the comparison done by the Bitcoin Core groups

For example: 

Segregated Witness, as proposed by Bitcoin Core, offers a (roughly) 75 percent discount on all data included in the witness rather than the original block. One megabyte of witness data is, therefore “weighed” as .25 megabyte, which would leave room for .75 megabyte transaction data in the original block, for a total of 1 megabyte. 

If aggregated Schnorr signatures reduce the total size of witness data, say from 1 megabyte to .5 megabyte, this .5 megabyte would then be discounted to 0.125 megabytes, leaving room for up to 0.875 megabytes in the original block. (A capacity increase of about 17 percent.)

 The exact amount of added room depends on the types of transactions included in blocks. But rough estimates by Bitcoin Core developer Eric Lombrozo suggest that Schnorr signatures could eventually increase total capacity 40 percent or more – that’s on top of the added 60 to 100 percent already offered by Segregated Witness.

  1. Enhanced Privacy – As the basic idea of Schnorr Signature work is that it allows multiple inputs to result in one transaction, controlled by the same Now you could switch between devices or people and still make a transaction as the Schnorr Signature allows you to craft a signature same as any other one.

The Cons of Schnorr Signatures are not yet clear for the apparent reason that the scheme is, however, to be implemented and tested. But with its key features and reg the scalability of Bitcoin, it seems a more viable solution of all the proposed solution in the near future.

We would love to hear your thoughts about Schnorr Signatures. Feel free to post your feedback here.


Nuo is a decentralised and transparent crypto banking platform. It acts as a blockchain powered financial control centre to store, spend, borrow and grow your crypto-currencies. Install the android app or try out our crypto backed loans platform.

References: Wikipedia Coinbuzz, Lightning Network, CrushtheStreet, Cointelegraph, Medium

Up ↑