Blog

What is Sharding?

Before the usage of sharding in blockchain technology it was assumed that decentralization, scalability and security could not be used together at the same time and one of these three had to be omitted in blockchain projects anyway. Scalability, security and decentralizing make a concept which is called scalability triangle. Vitalik Buterin talked about scalability in blockchain for the first time. Scalability means if a project is going to have a vast scalability, in order to make it happen it has to omit high decentralizing and security on the other hand if a project wants to stick to decentralization it has to omit scalability.

Sharding is a potential solution to this problem which provides speed, more capacity, Computational load and data storing. After sharding’s birth a new way was found for blockchain developers to increase blockchains’ scalability and save their security and decentralizing at the same time.

 

What is sharding?

Sharding in simple words means to split a large process into smaller processes.  It is like completing a puzzle. For example, dividing a puzzle’s parcels into colors in order to complete the puzzle based on colors is much easier than making a puzzle haphazardly. Sharding is a solution to divide processing load into smaller parts and through this sharding increases capability and speed of the network. Also sharding proves scalability problems with low cost. The word ‘shard’ means parcel and sharding means dividing and parceling a thing. To have a better comprehension, let’s talk about sharding’s history in blockchain.

 

Sharding history

Sharding was first used in the 90s in centralized data centers. Sharding became common when a role-playing game developers called ‘Ultima Online’ used it to manage their players’ entry traffic and divided the entries on different servers.

 

Better view of sharding

A common example of sharding in business is dividing a customer’s database based on customers’ geographical origins. Which means customers from the same origin are sorted in the same group.

Sharding in a blockchain changes a linear transaction to a parallel transaction model. In parallel transactions each node is only responsible for a specific number of transactions which provides the blockchain parallel transactions and increasing transactions’ number.

 

Sharding challenges and limitations

Shard takeover

Shard takeover occurs when a person or entity takes control of a shard and carries out destructive transactions on the shard. Imagine a blockchain network with 100 nodes with equal hash power. In a normal blockchain if saboteurs want to take control of the blockchain they need to take control of 51 percent of the whole blockchain but in a shard blockchain the saboteurs need to take control of 11 present of the whole blockchain to control the shard. It means that by splitting a blockchain to smaller parts it becomes easier for attackers to take control of a shard and that’s why shard’s security is a priority in this case.

Cross-shard Communication

Communication between shards is another challenge. Imagine that user A in shard 1 wants to send a transaction to user B in shard 2 their connection is a challenge which is solved in different networks.

Sharding limitations

For example, in ziliqa protocols the trivia scalability is not solved completely since ziliqa’s nodes need to save the whole blockchain situation. The most important issue is that sharding protocols need to increase the number of nodes for scalability, which means that their success depends on increasing acceptance. Many consider this to be one of the features of Sharding; That is, in their view, increasing the acceptance of a protocol will increase the number of nodes. This is despite the fact that such an assumption is incorrect; Because the number of nodes is independent of the number of users or transactions.

An alternative to sharding

One of the solutions that is sometimes suggested to increase the acceptance is to increase the size of the blocks. With the idea that the larger the blocks, the more transactions they receive in them, and accordingly, the number of transactions in which it can increase. Although this solution can be implemented, it should be noticed that larger blocks mean the need for more computing power for them. The cost of providing this equipment means that the nodes are concentrated and the risk of attack increases via 51% attack. Also, increasing the block size requires a Hard Fork, which carries the risk of creating a dichotomy in the project community.

Cryptocurrencies which use sharding

Zilliqa sharding

Near sharding

Ethereum 2.0 sharding

Elrond sharding

 

The bottom line

To increase the acceptance of Blockchain technology in society and to use them in everyday processes, one must think about the issue of scalability. All of these solutions and innovations are presented with the aim of increasing scalability. It is hoped that one day, based on these strategies, blockchains will compete with or replace today’s large financial institutions in terms of transaction capacity and operational capacity.

Copyrights © 2021 ZareTech.