As much as most of us don’t want to admit it, Bitcoin has some drawbacks. One of the more prominent ones being its scalability issue. What this essentially means is it does not have the capability to handle a rapidly increasing number of transactions per second. The Ethereum Platform – though comparatively a little better with its transaction processing – is in the same boat.
A method to solve this that is gradually garnering attention is ‘sharding.’ This article will give a detailed explanation of what it does and why it’s gaining popularity.
What is it?
‘Sharding’ is a technique specifically for database partitioning. It dramatically scales the Ethereum Blockchain and allows it to process more transactions per second.
As is, there are only so many transactions that Ethereum’s Blockchain can handle. While they process more transactions per second in comparison to Bitcoin, their number is still low. Both platforms are not processing them fast enough for the masses to consider it as a viable alternative for daily transactions. This is an issue that blockchain and cryptocurrency developers have actively been trying to fix. One of their methods of choice is, of course, sharding.
To go more into detail, sharding is the horizontal partitioning of databases through separation into rows. The conceptualization of shards (i.e. the rows) draws primarily from characteristics. For instance, a singular shard may be responsible for storing an address’ state and transaction history. Alternatively, it may be possible to divide shards concerning the type of digital asset inside them.
Transactions with the involvement of that digital asset might be possible by way of a collection of random shards. For example, take into consideration a rental real estate transaction that involves multiple shards. These shards are correspondent to various entities in the transaction. This ranges from customer names to digital keys. These are arranged into a small lock made available to the renter when the time comes for the rent payment.
Introduction to its importance
The promise of decentralization and immutable record make blockchain the significant innovation that it is. While Bitcoin and Ethereum are its most prominent applications, financial technology (FinTech) companies quickly understood its value outside of cryptocurrency. Multiple companies – some outside of FinTech – caught on to the promise of blockchain. Moreover, they are working on upsetting the industry verticals they are in with the use of this technology.
Here are some examples:
- LockChain.co is building a zero-commission travel marketplace with the potential for disrupting giants like Booking.com and Airbnb.com.
- Sia network enables anyone with excess storage to put up their computer for rent on the cloud, which can potentially disrupt cloud computing giants like Amazon, Microsoft, or IBM.
- Nebula Genomics, Encrypgen, Luna DNA, and Zenome are giving the consumers the control of their DNA testing data, something that the current healthcare providers don’t allow.
So, if a blockchain wants to be universal, it must address the following:
- The scalability issues
- The latency issues
- Low-level throughput
All blockchains that are public and lack permission have nodes. In other words, computers on the network that maintain a similar version of the information. Each and every node has complete information about the entire blockchain. This ensures the stability of the chain, like a cyber attacker being unable to destroy it by taking out a central server.
A majority of public blockchains possess secure means of guaranteeing data integrity. There is no way for an existing block to go through deletion or experience modifications. The addition of a new block will update a blockchain, and in a public blockchain, any node can do so. Therefore, there is a need to preserve the stability and the order of the transactions. Blockchain is able to pull this off with the help of a ‘consensus mechanism.’
Mechanisms & Miners
‘Miners’ are actually a combination of three essential things. These are:
- Special-purpose software
- Hardware with a powerful design
- The user
The miner has to complete a large mathematical operation at high-speed and in a competitive environment. Not only that, the PoW algorithm requires that the majority of participating nodes approve of the transaction. In a network that’s decentralized, no one can infiltrate the computing power of most of the node. This basically makes hacking blockchain economically impossible.
Every node contains information on the blockchain and the PoW consensus algorithm makes the chain secure. Overall, it’s pretty solid. Having said that, the design principles impact scalability and transaction throughput negatively. As the blockchain grows, so too does the amount of node on each node. Participation of every engaging node in transaction validation slows transaction processing considerably.
Again, this is where the concept of sharding comes into play. In terms of blockchain, each node has only a portion of the data on the blockchain with the execution of sharding. Nodes that preserve a shard maintain information only on that shard in a mutual manner. So, at least within a shard, there is still the preservation of the decentralization. However, each node does not load the information on the entirety of the blockchain. This, essentially, aids in the scalability.
PoW algorithm cannot be employed in conjunction with sharding. Really, the question is, “…how can all the participating nodes be involved in transaction validation where the nodes have information for only one shard, i.e. the one it belongs to?” Blockchains that use sharding utilize ‘proof of stake’ (PoS) consensus algorithm.
PoS possesses specific nodes that take responsibility for transaction validation. These nodes are ‘stakers’, as they stake some of their crypto tokens for transaction confirmation. Upon successful validation, the staker may earn part or all of the transaction fees. The more crypto token a staker obtains, and the longer the duration of the stake, the higher the number transactions the node validates.
PoS algorithm has some notable advantages over PoW:
- Only specially chosen nodes, not the entire network, confirm the transaction.
- Seeing as how there’s no mining, there is no need for expensive special-purpose hardware. The energy requirements are much lower.
- Identifying validators with high loyalty is an easy task. Pick the ones who stake a higher number of crypto tokens and longer duration. A blockchain that uses sharding identifies stakers in each shard, who’s responsible for the transaction validation. Because the validation is done by legal stakers, the blockchain’s security is still very high.
Zillaqa is a blockchain platform that implements sharding for projects like Unstoppable Domains to build upon. Zilliqa’s contract-centric platform uses a sharding protocol that is suited to building payment processors and DApps with focus on speed, security, and scalability.
The main advantage that Zilliqa has over other blockchain platforms is speed. In theory, transaction speeds here will increase as the number of network nodes increases. When you compare this to a standard blockchain, you find that the transaction time in a standard one doesn’t improve. In a sharded network, however, the rate and speed of processing transaction grow together. This is because each shard/group of nodes processes transactions independently of the other shards.
Zilliqa uses two types of sharding: ‘Network Sharding’ and ‘Computational Sharding.’
This protocol uses PoW to divide up the validation of transactions across the network. It chooses and continually updates a ‘directory service committee’ (DS Committee). This is a group of randomly chosen nodes that assigns transactions to specific shards and validates blocks of transactions. These transactions were proposed by those shards.
A transaction on this platform involves a user initiating a transaction, which is then sent to a shard. The shard authenticates the transaction, grouping it with other transactions to form a ‘microblock.’ The shard reaches a consensus on the validity of the microblock and is sent to the DS Committee. From here, they combine the microblocks into the ‘final block.’ The DS Committee will run a final consensus on this block before adding it to the blockchain.
The blockchain protocol that confirms each block to update the state of the chain is the ‘Elliptic Curve Based Schnorr Signature Algorithm’ (EC-Schnorr). It also uses a type of practical Byzantine fault tolerance for each shard. This allows shards to agree on blocks that they propose to the DS Committee, and for the Committee to reach a consensus on the final block.
With network sharding, developers believe that the network will match Mastercard and Visa in transaction processing speed. The fees will be lower and there’s no reliance on a central authority to manage the network.
This method of sharding performs on Zilliqa’s Scilla framework. This type of sharding refers to the ability of the network to run DApps at scale. Moreover, with more than one instruction being run across the network concurrently. This is unlike other DApp and smart contract platforms, like Ethereum. These only allow one instruction at a time, requiring the repetition of tasks across network nodes.
How this method is done is by coordinating the data dependencies between operations. It allows a shard to execute independent operations, or even a portion of the nodes in a shard, once the operations have what they need to run.
The team behind Zilliqa aim to allow changeable contracts that can have a secure implementation with Scilla. This allows for easier fixing of bugs and modifications for contracts. The immutability of the average smart contract is why some projects (ex. NEM) choose not to run them on the public blockchain.
Similar to blockchain technology as a whole, sharding is a concept still in its infancy. Though it shows great potential, it still has to go through substantial development in order to truly be superlative. Not only that, it needs to be globally – or at least predominantly – accepted if it wants to experience mainstream adoption.
That’s not to say that it is not a popular concept that isn’t getting attention. There have been some projects that have begun to incorporate sharding into their system. One of these projects is Shard Coin (SHARD). Another is Telegram Open Network (TON), a project whose primary focus is in private token sales. It has plans to use sharding as a way to ensure speedy transactions.
Wide-scale adoption of sharding needs the blockchain and crypto developers to work on a vital section. Communication between nodes within a shard is already very smooth. However, inter-shard communication is not inherently easy and requires the development of a separate protocol. By addressing this key requirement, it will potentially result in wider adoption of sharding. In turn, that will help make blockchain more scalable with higher transaction throughput.