Sharding: Boosting Blockchain Performance

Shard is a part of a blockchain network divided into several shards that have their own data.

What is Shard?

In order to understand what a shard is, we need to discuss sharding. Sharding is a method of sharing a database, which is considered a variant of blockchain and tested on Ethereum. The more users a blockchain network gets, the slower the network becomes, which in turn leads to higher latency levels.

Sharding tries to improve network latency rates by dividing the blockchain network into separate shards, each with its own data and separated from other shards.

In fact, a shard is part of a blockchain network divided into several shards that have their own data. Sharding can be implemented by horizontally partitioning databases through row division. Conceptually, shards are defined based on their characteristics, as one shard may be responsible for storing the state and transaction history of a particular address, for example. It is also possible to divide shards based on the type of digital asset stored in them.

Conducting transactions with digital assets can be done using a combination of shards. Each shard can be shared with other shards, and this preserves a key aspect of blockchain technology, which is the existence of a decentralized registry. This registry is still available to each user and allows them to view the status of all transactions.

If we consider Ethereum, nodes must be randomly assigned to a shard, and at random times they will be reassigned to another randomly selected shard. As a result, it would be much harder for an attacker to predict which shard his malicious node might be assigned to, and thus, hijacking would be extremely difficult.

Sharding is a must because it can simplify the placement of full nodes. It is a common practice in computing, used when scaling applications so that they can support much more data. When sharding is properly applied in a blockchain such as Ethereum, each user can store only a portion of the change history in the database, rather than the entire database as it is in the default blockchain.

Related terms