Sharding is a way for blockchains to handle more transactions without fundamentally changing their code or rules.
Essentially, the blockchain is broken into several smaller chunks, or shards, so they can be stored on different servers.
The concept is most relevant to Ethereum, which is extremely congested and needs a solution that speeds things up for its users. Indeed, Ethereum sharding is expected to come after the much-anticipated Merge this month.
In this edition of RhinoLearn, we’re going to break the concept of sharding down into handy byte-size chunks of our own, so you can grasp what this increasingly important idea means in practice.
Ok, so why do we need sharding in crypto?
A blockchain is a giant shared database, spread across hundreds or thousands of computers. Every day, the computers that share this database (otherwise known as nodes) generate a huge amount of fresh data from users swapping, trading and investing digital assets.
The task of processing all these transactions, and updating the database, falls to a select group of nodes called miners, or validators. These individuals volunteer their computers in return for rewards; the computers check each transaction to ensure it’s legit, then post a record of the transactions to the blockchain and share this update with the rest of the community.
This is extremely secure: everyone has visibility of everything, and each transaction must be verified by consensus (a majority of computers on the network must agree that the validator’s work is correct). But it’s also slow, particularly when you consider the volume of work that blockchains must process.
You see blockchains need to do way more than just host their own flagship currency. Take Ethereum, for example. As well as hosting Ether, its native coin, the chain provides an ecosystem for thousands of decentralised applications, which are built on its smart contracts. And with the recent explosion in DeFi, the chain has witnessed a huge increase in usage.
Ethereum is built to handle 15 transactions per second, which only covers a tiny fraction of the current user demand. And while certain new technologies, such as zero-knowledge proofs (covered in a separate RhinoLearn blog post) promise to speed up the network, at present it’s hugely congested – which means long wait times for transactions and hefty gas, or transaction fees.
Not only that, but the Ethereum blockchain is now approaching 1TB of storage – which is an awful lot for any single computer to hold. We need to find a solution to this problem without introducing a giant central computer to oversee everything… after all, the whole point of blockchains is that they don’t have a central authority.
So, we have the concept of sharding.
If you think of a blockchain as an island, shards are like semi-autonomous territories within it, like the ancient counties of Britain or the kingdoms in Game of Thrones.
Each shard essentially runs itself. It maintains its own record of transactions and has its own set of miners.
Periodically, each shard submits its transaction records back to the main blockchain, so they can be chained together.
Right, so what would Ethereum sharding look like?
In the case of Ethereum, sharding is expected to take place over several stages, and the ultimate aim is to create 64 databases, all linked to one another.
At present, it remains to be seen exactly what kind of responsibilities the shards will have. They may simply be data depots, where certain information is stored to increase the overall capacity of the network. However, they may also be able to run their own individual smart contracts.
What seems clear is that the main, overarching chain (known as the Beacon chain) will sit above these individual chains and act as a kind of universal arbiter. A committee will be selected to review the data coming from the sub-chains, and add it to the global database.
So users get all the security of the existing Ethereum blockchain, but the individual nodes will find things a whole lot easier.
This is just one of several updates planned for the Ethereum Merge, including a migration from the sluggish proof-of-work validation mechanism to the much leaner and more agile proof of stake. Together, these updates are designed to speed things up for ordinary users, reduce the transaction fees and allow Ethereum to keep scaling.
So, in summary:
- Sharing helps resolve blockchains’ scalability issues by breaking a chain down into smaller chunks, so it can be stored across different servers.
- The concept does not compromise security or reliability: it simply represents a smarter way to store data.
- Ethereum is expected to introduce sharding following the Merge this month.
Found this chunk of RhinoLearn useful? Then you’ll enjoy our explainer on rollups, which deal with another vital aspect of Ethereum scalability (and are particularly relevant for rhino.fi).