Blockchain 101: What Is Sharding in Blockchain?
Sharding technology has appeared long before blockchain and has been used in a number of systems from business database. Sharding is a method which horizontally partitions data within a database. The database is fragmented into smaller parts called shards, and then they are put together to form the original database.
With blockchains, their network is made out of nodes which are connected peer to peer, which is not governed by one entity. The nodes store all states of the network and handle transaction processing. While this system is more secure, it does face difficulties with scaling as the network increases in size at a rapid pace. This problem is because the consensus only increases linearly.
When the network experiences such strains, the transaction costs and times increase significantly.
Sharding has been considered to be a complex solution to the scaling problem. By grouping subsets of nodes into shards, the system is able to process transaction in parallel which increases the volume it can handle.
There are several blockchains for cryptocurrencies which have had sharding technology implemented in order to improve scalability and their transaction volume.
But blockchains using Proof of Work (POW) consensus algorithm cannot have sharding applied to them. Only blockchains that use Proof of Stake (PoS) consensus algorithm are able to use this technology. This is because this consensus algorithm features specific, designated nodes which handle only transaction validation.
How Does Sharding Work in Blockchains?
The best known blockchain to try to implement sharding is Ethereum. Their development team is working on introducing what is known as state sharding.
Sharding in Ethereum will be implemented in two phases, after the network will have switched to Proof of Stake protocol.
- Phase one is a data layer consisting of the consensus regarding the shards data.
- Phase two is the state layer.
The network is broken down into specific shards which have assigned a specific group of transactions determined by certain accounts and smart contracts.
Each transaction group is comprised of a header and a body.
The Header represents the shard ID of the transaction group which assigns validators through random sampling. Here is where the State Root can be found (state of the merkle root of the shard before and after transactions add ...Read full story on Coindoo