What Is Database Sharding?
general sense, sharding refers to the process of breaking any type of database
into smaller databases. The main benefit of sharding is that it allows data
transactions to complete faster.
because when you spread your data across multiple databases, each database can
process transactions at the same time as others. As a result, the more
databases you have, the more transactions you can process concurrently.
predates blockchain databases by many years. Sharding was a common practice
among administrators of conventional databases well before the first
blockchain, Bitcoin, appeared in 2009.
What Is Blockchain Sharding?
said, sharding has a somewhat narrower meaning within a blockchain-specific
context. Blockchain sharding entails having different nodes on the blockchain
process different transactions. In other words, instead of having each node
record every transaction that takes place on the entire blockchain, some nodes
would process certain transactions, while others process other transactions.
would still be redundancy, meaning that multiple nodes would process the same
transaction. But not all transactions would be processed by all nodes.
The Risks of Blockchain Sharding
idea of sharding first showed up on the radar of blockchain developers about
three years ago, it has driven a lot of controversy. The controversy stems from
the fact that, traditionally, having every node process every transaction was a
core tenet of the consensus architectures that lay the foundation for
blockchains. Since there is no centralized authority verifying blockchain
transactions, the network as a whole decides which transactions are valid. When
you stop having every node process every transaction, you theoretically raise the
risk that invalid transactions could be recorded by a subset of malicious nodes
and remain unchecked because the rest of the network does not handle those
of blockchain sharding argue that it is eminently possible to mitigate the risk of
invalid transactions on a sharded blockchain by ensuring that each transaction
is processed by a sufficient number of nodes. Still, due probably to the fact
that sharding runs contrary to one of the founding principles of blockchain
architecture, sharding is an idea that many folks have trouble swallowing.
technical perspective, calculating the security risks of blockchain sharding
more precisely would depend on a variety of factors that are specific to the type
of blockchain you want to share, as well as the sharding technique you use.
Some blockchains can be sharded more easily — and perhaps more securely — than
others; for example, because the Bitcoin blockchain lacks native support for smart
contracts, it would likely be more difficult to implement a highly secure
sharding architecture for Bitcoin than it would be on the Ethereum blockchain.
There are also multiple ways to achieve
with different pros and cons.
Blockchain Sharding Benefits
addition to arguing that blockchain sharding can be performed securely,
sharding advocates also contend that sharding is the best way to solve the
rather serious problem of blockchain scalability.
has famously faced scalability limitations as its popularity
has grown and the ability of the Bitcoin network to process transactions has rapidly
declined. This led to SegWit, which improved Bitcoin’s
scalability by increasing the block size. But even with larger block sizes,
bitcoin transactions may become unacceptably slow again in the future as the
level of network activity increases. Meanwhile, other blockchains face scalability issues of
their own that could potentially be solved using sharding.
offers promise for solving blockchain scalability issues permanently because
the number of “shards” in the blockchain — that is, the number of nodes that
process only certain transactions in order to improve overall transaction rates
— could scale up without limit as the size of the blockchain itself increases.
The more nodes you have on the network, the greater your ability to shard the
network into smaller subsets of nodes that can share in the work of processing
transactions, while at the same time having each subset of nodes remain large
enough to ensure consensus.
The State of Blockchain Sharding
the potential benefits of blockchain sharding, attempts to implement the
concept have so far been limited. Vitalik Buterin, one of the co-founders of
the Ethereum blockchain, has proposed a sharding protocol. Buterin also declared on Twitter in late April 2018
that “sharding is coming,” although the source code that his tweet referenced
appears not to have been updated since the time of the tweet. While Buterin’s
public support for sharding means that the idea has high-profile endorsement in
the Ethereum community, it remains unclear when an Ethereum sharding protocol
might actually be implemented.
blockchains, support for sharding seems a remote possibility, at least for now.
Discussion of a generic blockchain
sharding protocol among Bitcoin developers in fall 2017 dropped off without any
step toward concrete action.
the closest thing to blockchain sharding that is possible today is
inter-blockchain communication via protocols such as Interledger. Interledger doesn’t shard a
single blockchain; instead, it makes it easy to exchange data between different
blockchains. A protocol like Interledger could conceivably be used to create processes
that resemble sharding by spreading transactions across multiple blockchains,
then using inter-blockchain communication to share data when needed. This
approach could potentially deliver the same scalability benefits as sharding
without requiring any blockchain to shard its own transactions.
though, even this type of solution has yet to be implemented in the interest of
achieving something that resembles sharding. While sharding is likely to
continue to drive excited debate in blockchain communities, it does not appear
likely that any major blockchain will announce support for sharding in the near