The state of sharding: How can this technology make blockchain more scalable?
What is sharding? And how can we use it to change the future of payment scalability? In this article, Delton Rhodes gives us an overview of sharding and its implementations, limitation, and future.
Sharding is a technology that is talked about often in the cryptocurrency community. While sharding has been an important part of traditional database technologies for many years now, it’s finally being not only discussed but also implemented by a few projects as a solution for blockchain scalability.
In this article, we’ll discuss sharding’s emergence to date, its current implementations, and how exactly its implementation could change the future of payment scalability.
The concept of sharding
Sharding is a type of database partitioning that separates larger databases into smaller, faster, more easily managed parts called data shards. Oftentimes, it can be relatively easy to shard data. One simple example would be placing info related to various customers on different servers based on each user’s geographic location.
Sharding implementation in blockchain technology, however, is much more complex. This is because traditional blockchains require all nodes to carry all data on the blockchain. One of the biggest reasons why most blockchain projects still rely upon this model is that it is considered to be a very secure way of making sure that transactions are validated with accuracy.
To understand the practicality and limitations of sharding, it’s best to have a general understanding of consensus algorithms. As noted in this article, Proof-of-Work (PoW) algorithms are used particularly for security reasons. Generally, PoW is much more costly to attack when compared to Proof-of-Stake (PoS). However, a big flaw with PoW is that its technical design generally makes larger blockchains very inefficient in completing transactions in a timely manner.
In 2018, at least, it appears difficult (or basically impossible) to utilize sharding in a 100% PoW algorithm. While it’s still unknown whether sharding can eventually work with PoW or not, a few projects have shown that sharding is possible with PoS. Especially, for blockchains which have to verify a large number of transactions, sharding proposes to vastly improve scalability due to the fact that each node only has to carry a portion of data in order to complete a transaction.
While the efficiency of sharding technology drastically reduces transaction completion times, the largest obstacle to real-world implementation of sharding has been its potential security concerns. Another factor to consider is that many of the top blockchain projects on the market in 2018 are still utilizing PoW. The process of changing consensus algorithms can be rather difficult for any project and requires some time. Ultimately, the goal of creating a sharded blockchain is one of the main reasons why projects like Ethereum are transitioning towards greater adoption of PoS algorithms.
As explained in Ethereum’s Sharding FAQ Github document, a basic design of a sharded blockchain could include a few different levels of nodes which play various roles in the blockchain. These can include super-full nodes all the way down to light nodes. In the Ethereum document, you can also find several short yet highly-technical explanations for known issues/challenges that have to be considered when creating any sharded blockchain.
Currently, there are a few key projects working on sharding technology, Ethereum being the most notable project (in terms of market cap rankings). As Vitalik Buterin hinted in a tweet on April 30, 2018, “Sharding is coming”. Ethereum released a proof of concept earlier in 2018, and Buterin has noted that the project team has made a lot of progress on developing the technology.
Still, it’s unclear just how much sharding would boost the number of possible transactions per second. Although a lot of numbers have been thrown around, Buterin and other blockchain experts have stated that 1 million transactions per second (tps) is very likely.
Examining the market cap rankings, there are also a few other high-ranked projects that are looking to create the foundations for greater scalability via sharding technology. Zilliqa, for instance, demonstrated 2,400 tps using 3,600 nodes in its April 2018 testnet release and aims to release its mainnet sometime in Q3 2018.
A successful mainnet launch with a high number of tps could bring more support to the project in the short-term, but it will be even important to see which project can ultimately reach more tps than Visa in the real world. Even when this milestone is reached, it’s still unclear whether Zilliqa, Ethereum, or another project can claim to be the top sharded blockchain in this ongoing competition.
Other scalability solutions
It’s also worth noting that sharding isn’t the only scalability technology that many major projects are aiming to implement. Additionally, a commitment to implementing sharding doesn’t mean a rejection of other emerging technologies. For now, it appears that most projects are open to implementing a combination of scalability solutions. For instance, off-chain protocols like Lightning and Plasma as well as side-chain protocols like the one proposed by Loom Network are also a big part of the larger movement towards improvements in throughput efficiency.
In a lot of instances within other tech sectors, the development of newer technologies is highly competitive and developments are rarely disclosed amongst various project teams. However, with blockchain technology, collaboration across the industry has been quite common. If this trend continues, a number of blockchain projects could eventually apply sharding solutions.
What can sharding realistically become in the future?
Sharding is promising for both the technical advancements of blockchains as well as the adoption of cryptocurrencies. In the present, complex issues like inter-shard communication and overall security of sharded blockchains appear difficult to solve.
Currently, it’s still too early to tell exactly when blockchains will implement sharding. The ability to reach 1 million tps would easily put any blockchain project ahead of fiat currency payment processors (i.e. Visa, Mastercard, etc.).
The competition to reach such levels of real-world scalability with sharding is (and other solutions) is well underway. Regardless of which project is able to accomplish this feat first, it will be interesting to see how the goal to do so will shape the landscape of collaboration and competition across the industry.