If you’re an active follower of cryptocurrency and/or blockchain technology, you’ll no doubt have heard the term Sharding mentioned at least one or two (if not 100!) times. But, what is Sharding exactly?
Well, Sharding, in the cryptocurrency world, is most commonly known as a proposed scaling solution for the Ethereum blockchain. Although, other blockchains are also considering it. In fact, there is a new public blockchain that already puts Sharding to use — it’s named, Zilliqa.
Sharding isn’t actually a unique solution, as it has been used for decades in traditional data networks. However, of all the Ethereum scaling solutions, Sharding is perhaps the one we hear Vitalik Buterin (the founder of Ethereum) talk about the most.
So, What is Sharding and How Does it Work?
In Sharding, the Ethereum mainchain will have its nodes split into partitions, known as shards.
The shards of nodes only need to validate part of each transaction, rather than validating the whole transaction like they currently do. So, it’s the difference between every node in the mainnet verifying each whole transaction vs. each node in the mainnet verifying part of each transaction.
Can you simplify that please?
In the regular Ethereum blockchain (the one that we use today), each transaction requires a group consensus between every node in the network. In other words, they must all agree that the transaction is valid.
If it didn’t have this need for group consensus, a single node could verify a transaction without any agreement from others. So, if the node was compromised by a hacker, it could verify transactions that aren’t actually valid. This is why blockchains need group consensus.
Sharding still requires a group consensus, of course, but it comes to a consensus in a much more scalable fashion.
- Let’s imagine that the mainchain was split into just 3 shards. We’ll refer to them as Shard A, Shard B, and Shard C.
- Each shard, as you know, contains a group of nodes.
- The role of each shard is to validate one part of each transaction. As there are 3 shards in this example, each shard must validate 1/3 of each transaction.
- A transaction is submitted by a user to the blockchain.
- Shard A must come to a group consensus about their third of the transaction.
- The nodes in Shard A validate their third and come to an agreement that their part of the transaction is valid.
- Shard B and Shard C have done the same: the nodes in each shard have agreed that their parts of the transaction are also valid.
- The blockchain now has 3/3 parts of the transaction validated, with all shards in agreement. Now, the whole transaction is verified and recorded in the ledger.
As you can see from the example, Sharding enables a full group consensus with each node only needing to validate a third of each transaction.
This of course only increases the scalability of the blockchain by 3 times (300%), but our example only divided the blockchain into 3 shards. In reality, the number of shards will be much greater, meaning that each node will have to verify a much lesser fraction of each transaction.
When Should We Expect Sharding to Be Introduced to Ethereum?
Along with Casper — the switchover to Proof of Stake — we believe Sharding is to be expected before any of the second-layer solutions.
In fact, we’d say it’s pretty close. Or at least that’s what we’re hoping seeing as Vitalik Buterin recently tweeted, ‘Sharding is coming.’ — how’s that for hype?!
Now that you’ve read our What is Sharding guide, you should understand the core concept of Sharding, and feel confident answer the question ‘what is Sharding’ if anyone was to ask you. If you’re unsure about anything, however, please feel free to drop a comment to us and we’ll gladly help out!