What is sharding for blockchains?

beginner

Sharding is a technique used to enhance the scalability of blockchain networks in multiple ways.

The premise of sharding is to split up information across multiple shards, potentially increasing storage capacity. This can be used to enhance performance in general.

When it comes to processing for cryptocurrencies, sharding involves splitting the blockchain network into smaller segments, with each segment, or shard, holding a unique set of smart contracts and account balances. This allows nodes to be assigned to individual shards to verify transactions and operations, rather than each node being responsible for every transaction across the entire network. By doing so, sharding can significantly improve the throughput of transactions and address the scalability issues faced by many existing blockchains.

Sharding introduces new challenges in terms of security. Ensuring that each shard is secure and that the process of validating and recording transactions remains tamper-proof is crucial. Another challenge is the added complexity for developers, who need to implement a special communication mechanism for users and applications across different shards. Techniques like cross-shard communication and specific consensus mechanisms are employed to maintain security.

Sharding for data availability

The Ethereum blockchain was initially planning on introducing a deeper level of sharding, splitting up the network into different shards. Yet this idea has largely been put on the back-burner. Instead, there has been an increased focus on scaling the network through multiple layers, known as Layer 2 networks, that use rollup technology. These layers process large amounts of transactions that are effectively batched to the base layer.

THE SCOOP

Keep up with the latest news, trends, charts and views on crypto and DeFi with a new biweekly newsletter from The Block's Frank Chaparro

By signing-up you agree to our Terms of Service and Privacy Policy
By signing-up you agree to our Terms of Service and Privacy Policy

However, Layer 2 networks are not without their challenges. Aside from the issue of decentralization, they also pose issues related to data availability — since they deal with such large numbers of transactions.

Ethereum is now more focused on using sharding to solve this kind of data availability problem, with a goal of helping the network to support its scaling layers. The key problem is needing to enable rollups to batch such large amounts of data to the base layer in a way that validators can confirm its availability.

Ethereum co-founder Vitalik Buterin has suggested one solution. The idea is that the Ethereum blockchain would have shards that would affirm the availability of data deposited from Layer 2 networks. He suggested that a combination of a randomly selected committee and random sampling would work to verify the availability of such data.


© 2023 The Block. All Rights Reserved. This article is provided for informational purposes only. It is not offered or intended to be used as legal, tax, investment, financial, or other advice.

About Author

Tim is the Editor-In-Chief of The Block. Prior to joining The Block, Tim was a news editor at Decrypt. He has earned a bachelor's degree in philosophy from the University of York and studied news journalism at Press Association Training. Follow him on X @Timccopeland.