What is Sharding? Sharding is the process by which a database is split horizontally to spread out the data to make computations more efficient.
Take Ethereum for example, sharding could be introduced as a scalability method to increase transaction speeds. It would split the network into a predetermined number of shards, which takes the mainchain’s database and makes it several smaller chains. Each new shard would have its own smaller database with smart contracts and accounts and be able to process more transactions faster because the network will be less data heavy.
However, despite this method’s ability to solve congestion issues and speed up transactions, it’s one of the most complex solutions proposed. This is because the process of sharding the chain would involve implementing unique smart contracts and accounts within each shard chain. Since each shard doesn’t contain ALL of the data, they need to be able to communicate with each other should the occasion arise.
While sharding is only theoretical right now, this particular solution offers big chains like Ethereum (that are congested with an overwhelming amount of transactions) a more decentralized option. With the mainchain, validators on the network have to process the whole chain’s data, but with a shard they only have to process the shard’s data.
Think of it like adding another lane to a highway, allowing more traffic to get through faster and without congestion and hopefully less accidents.