Sharding blockchain; one of the ways blockchain technology can scale. Scalability is a long term challenge of the blockchain. As the blockchain grows, more data is accumulated on the blockchain network, especially as the blockchain use case diversifies into several sectors of life.
Blockchain started with cryptocurrency as its major use case but currently, the blockchain is evolving into industries like healthcare, supply chain, food, real estate, and so forth. To successfully achieve its full potential in these different industries and sectors, blockchain has to be able to scale without becoming too slow or ineffectual on the different operating systems it will run on. Here is where sharding comes in.
The scalability challenge
Sharding is one of the many ways start-ups, developers, and several blockchain platforms are testing in order to help developers scale the blockchain. One of the challenges of the blockchain is the proof-of-work consensus mechanism, especially with public blockchains. Consensus mechanisms underlie how transactions are authenticated on the blockchain network. A consensus is an agreement by several other users that a transaction is legit. However, the consensus mechanism used by Bitcoin and Ethereum for example demands a lot of computational power. Furthermore, in order to achieve a proof-of-work consensus, each node must record all the data on-chain.
As the blockchain grows and transactions increase, more computational power is needed and this slows everything down. Bitcoin can only process up to 7 transactions per second and a single transaction could take up to ten minutes. Ethereum on the other hand can process up to 30 transactions. However, compared to mainstream payment networks like Mastercard, Visa; Bitcoin and Ethereum processes payment are very slow since these mainstream payment systems processes over 1500 transactions per second. In order to compete Visa and every other mainstream payment network, blockchain needs to scale better and faster and this is where sharding comes in.
What is sharding?
Sharding was originally designed for horizontal database partitioning whereby the storage and computing workload of a blockchain is spread out so that each of the nodes does not have to process the entire transaction workload. Hence, each node only has to maintain the information to its specific partition or shard.
With sharding, the blockchain maintains its decentralized and secure nature. The information in each shard can still be distributed and everyone can see everything on the ledger. Therefore, the nodes are freed from storing information from every other node, data is stored quickly and executed much faster. Sharding could be key to scaling the blockchain.
Are there challenges with sharding?
In as much as sharding looks promising in scaling the blockchain, there are some challenges that need to be looked into.
Blockchain security: to maintain the security blockchain, shard takeovers must be prevented because the corruption of nodes will lead to permanent loss of data. This can be managed by randomly assigning and reassigning a shard to a node.
Simplified payment verification wallets: ensures that the nodes have full pictures of the current state of the shards while it is divided among shards. Thin clients communicate via various networks to maintain local state copies for each partition or shard.
Inter-shard communication: inter-shard communication poses a great challenge to security as each stands as a separate blockchain network. Fragmenting consensus into independent chains or shards makes each of them more vulnerable to 51% attacks.
Cartesi and scalability
Cartesi is designed to achieve local consensus over its computations. More precisely, only affected parties are required to perform the computation, while any possible dispute among them can be resolved in logarithmic time. This design allows for intensive computations to be performed off-chain only by the impacted participants, who still enjoy strong conflict resolution guarantees.
In this way, DPoS and sharding are unrelated to Cartesi. Cartesi benefits from the faster and cheaper transactions provided by the underlying infrastructure. Blockchain benefits from Cartesi’s ability to specify and adjudicate large-scale realistic computations. Cartesi can greatly improve these technologies, as it allows both a Plasma chain or a State Channel to specify full Cartesi computations within its transactions. And in case a dispute lifts the computation to the main chain, the settlement can still be efficiently and safely resolved.
So as much sharding has the potential to solve a lot of scaling challenges for the blockchain, many edges need to be smoothened out. Sharding is still at the testing phase.
Cartesi’s Ecosystem Links: