Solving the ever-lasting scalability problem of blockchains will not happen overnight. One way of solving this issue comes in the form of sharding, a slightly different way of dealing with this troublesome situation.
What is Sharding Exactly?
The term sharding might sound somewhat confusing to people who are less tech-savvy. In the blockchain world, any upgrades made to core concepts will have both positive and negative repercussions to the ecosystem.
On paper, one would think it is impossible to achieve scaling and maintain privacy features, if that specific ecosystem provides such a thing. That is not necessarily the case, at least not where sharding is concerned.
It allows network nodes to maintain information related to its specific network shard. Such a network shard is made up of computation and storage information associated with the blockchain ecosystem.
This is very different from how nodes work traditionally, as they are often required to process the entire network’s transactional data. While that approach works, it is also one of the limiting factors of what these networks are capable of.
What makes sharding even more interesting is how every individual network shard can be shared among different network nodes. This allows for a blockchain to remain secure, and does not hinder the auditability of this network either.
Splitting the Network Into Smaller Shards
The biggest problems to overcome for developers is how to divvy up the network’s data. While it sounds simple to split everything into individual shards, that is far from the case.
One option is to equate individual user accounts to one shard. The accounts that find themselves in the same shard “group” will be able to transact with one another.
By taking this approach, parallel transaction processing can occur without overloading the network as a whole.
A problem arises with this approach, as cross-shard communication would be impossible by default. This problem can be resolved by creating a cross-communication protocol.
Building such a solution will take a lot of time and research, however. As such, it remains to be seen if sharding will ever be implemented in an official capacity.
Security Concerns Can’t be Ignored
Increasing the throughput of a blockchain is great, on paper. When exploring the sharding option, however, a big problem is created in the process. By splitting the ecosystem into small shards, it would allow users to collude and potentially perform a takeover of sorts.
Users with malicious intents can corrupt network nodes in a given shard. If done successfully, it would be possible to erase complete sets of data from the network. Those are the findings of Cornell University, who are genuinely considered this problem could end up being overlooked.
One potential solution to this problem is to never permanently assigning nodes to specific shards. Instead, they will be reassigned at random intervals, which would make a hostile takeover a lot more complex. It does not remove the attack vector from the equation completely, however.
Compatibility Questions Remain
The concept of sharding, a sit is envisioned in 2019, might suffer from compatibility issues. Any network not utilizing user addresses would not be able to directly benefit from this technology in its current form.
For private and permissioned blockchains, such as corporate-oriented projects the use of network shards might prove a bit more complicated.
There are many different ways to implement this form of blockchain scaling, after all. Every approach can still be customized by the developers accordingly.
For cryptocurrency networks, another problem could arise from implementing this technology. Most of the top currencies have SPV – or Simplified Payment Verification – wallets. These clients will need to undergo drastic changes to be fully compatible with the concept of sharding.
As long as the cross-shard communication aspect isn’t resolved, it seems unlikely that SPV clients will be compatible with this solution.
Live Example: The Devv Protocol
While the challenges remain present, there are some teams trying to overcome these hurdles. Devvio has noted some success in this regard. The company introduced its Devv protocol several months ago.
Under this protocol, every shard is a different blockchain ledger. This approach allows for thousands of shards to be added to any public blockchain without much hassle. As more nodes are added to its network, the overall throughput will increase accordingly.
The Devvio team also solved the communication issue between different shards. Individual network shards can communicate through a separate transactional network.
A very interesting approach to this problem, albeit it might not necessarily be copied by cryptocurrency projects. Every blockchain framework could end up having its own implementation of a communicative solution.
The R&D Continues
It is evident that a lot more research and development needs to go into the viability of sharding. Most of the mechanisms being explored are still in the very early stages. Combining scalability with security – and potentially privacy – is a very tough balancing act.
As the trial-and-error testing continues, it may take several years until this concept is ever implemented. Depending on how viable it proves to be, sharding might not even make an impact on the cryptocurrency industry.