Essentially, a shard is a portion of a blockchain network that has been split into multiple shards, which has its own data.
What Is a Shard?
To understand what a shard is, we’ll need to discuss sharding. Sharding is this database partitioning technique that is considered to be an option by blockchain networks and tested on Ethereum, The more users that a blockchain network gets, the slower the network becomes, and this, in turn, leads to a higher level of latency Sharding attempts to improve the network latency through splitting a blockchain network into separate shards, where each of them has their own data, and are separate from other shards.
Essentially, a shard is a portion of a blockchain network that has been split into multiple shards, which has its own data.
Sharding can be accomplished through the horizontal partitioning of databases through division into rows. Shards are conceptualized based on their characteristics, as one shard can be responsible for storing the state and transaction history of a specific address, for example. It is also possible to divide shards based on the type of digital asset which is stored within them.
Transactions that involve a digital asset can be made possible through a combination of shards. Furthermore, each shard is able to be shared among other shards, and this maintains a key aspect to the blockchain technology, which is the existence of a decentralized ledger. The ledger is still accessible to every user and allows them to view the state of all of the transactions.
When we look at Ethereum, the nodes have to be randomly assigned to a shard, and at a random time, they will get reassigned to another randomly chosen shard. This would in turn make it a lot more difficult for an attacker to end up predicting which shards their malicious node can get assigned to, and as such, a takeover is extremely difficult.
Sharding is a requirement due to the fact that it can make hosting full nodes easier. It is a common practice in computer science when it comes to scaling applications so that they can support a lot more data. When sharding is properly implemented in a blockchain such as Ethereum, each user can store just a part of the history of changes to the database, as opposed to the entire thing, which is how a blockchain works by default.