Speeding up Blockchain Transactions with Sharding
One of the many reasons that people are so bullish on blockchain technology is the fact that transactions are recorded on an immutable ledger that is 100% secure from external actors. This is through the cryptograpic nature of the protocols.
This decentralised system relies entirely on the state of the protocol and established mathematics instead of a centralised financial institution which will keep the book keeping ledger up to date.
Despite the promise of blockchain, there is one big problem that nearly everyone is talking about. This is the notion of "scalability". In other words, can the technology ever grow to be large and efficient enough to present a legitimate alternative to the current status quo.
One of the reasons why cryptocurrencies such as Bitcoin are not being used to the extent many would hope is because of speed with transactions can be completed. In a world where payments wizz to and fro with an ever frenetic pace, slow technology is bound to be left behind.
In relation to Bitcoin, this has been contentious point for a number of months as a reasonable scaling solution was sought. This came to a head with Bitcoin in the summer where only about 6 transactions were being completed per second (tps). This sometimes slowed down considerably during periods of congestion. No doubt the implementation of Segregated Witness has allowed for slightly faster speeds, it is still way below industry averages.
As an example, one merely needs to look at one of the large payment processors such as PayPal and Visa. The former will process about 120 tps whereas the latter does as many as 2,000. Hence, if blockchains are to have any chance of realistically replacing these means of payments then they will need to upsize the speed of their transactions.
Part of the problem lies with the actual technology behind the blockchain. Given the network is decentralised and has to be 100% secure cryptographically, it is not as easy as scaling a centralised payment processor.
Thankfully, scaling is on the front of the minds of numerous developers. For example, the Ethereum project recently released projects such as Raiden and Plasmas which could see the Ethereum transaction speeds reaching similar levels to that of Visa in the long run. However, these are off chain solutions that do not go to the heart of the technology.
NEO (Antshares) or the "Chinese Ethereum" has also implemented technology that will enable it to send transactions at a speed of about 1,000 tps. This technology is known as Byzantine Fault Tolerance.
Another cryptocurrency that has developed technology for faster speeds is that of IOTA where the project claims that they can now handle about 500 to 800 tps. You also have Ripple (XRP) which is a payment processing business that uses the Ripple protocol to send cross border payments (direct competition to SWIFT). Ripple currently has a transaction speed of about 1,500 tps.
However, there may be a much more efficient way of drastically increasing the transaction speed without compromising security or immutability. This is a process called "sharding". Indeed, a company called Zilliqa showed that they were able to process about 2,488 tps.
The nature of how the blockchain functions today is around consensus among all of the network nodes (computers). These nodes have to come to a consensus of the current state of the blockchain by validating all of the transactions as well as executing the smart contract. This has to be agreed by all of the nodes across the network.
Blockchain technology can make use of a practice that is well known in computer databases. Sharding is the concept whereby processes run in parallel thereby splitting up the processing power across the network. The network is split into these smaller shards which will run its own smaller version of the consensus protocol. This sharding of the network and parallel processing can speed up transactions markedly.
Sharding also has benefits of scale. The more network shards there are, the faster the processing is completed and the more tasks the network can take on. In terms of transactions per second, this sharding could lead to an increase in transaction time that could eventually eclipse visa for a fraction of the cost.
Although the promise of sharding is no doubt a great solution to the scaling conundrum, it does pose a number of problems which need to be overcome. For example, how would cross-shard communication work and how can certain nodes in another shard spot false transactions in another?
Currently thought, the hope for blockchain sharding is very promising. If sharding truly does bring the speed required to the network then the current banking system does indeed face a formidable foe. It will allow the networks to scale to the level required to provide an alternative to the status quo.
Disclaimer: These are the writer’s opinions and should not be considered investment advice. Readers should do their own research.