MultiVAC — The Sharding Killer
Scalablity in the Cryptosphere
Scalability is possibly the biggest hurdle that mass adoption of cryptocurrency faces today. With all their achievements, the public blockchains in use today are no match for the speed a centralized network like Visa provides. Just go back an year and think about what a small bunch of kitties did to the Ethereum blockchain!
Different techniques have been used by different projects in their quest for increasing network throughput. Sharding is one such lucrative technique that quite a few recent crypto projects have tried to implement. In sharding, a dataset is horizontally fragmented to create ‘shards’, which are smaller datasets. This method has been widely used in centralized data systems over the years. Even well-established public blockchains like Ethereum have been trying to utilize sharding to improve scalability.
Scalability vs Security vs Decentralization Trilemma
In any blockchain, 2 basic functionalities are performed in all the blocks — 1. Ledger, which refers to noting down the details of transactions, and 2. Confirmation, which refers to confirming the results of these transactions and mining of the block. Traditional blockchains combine both these functionalities in the same block. In other words, a set of transactions are first written down in a block, and once a block is full, it is mined (or confirmed) to ensure that it cannot be tampered in the future. Confirmation involves solving a complex cryptic puzzle, and is a time-intensive task. The more transactions that happen, the slower the network becomes. Typically, any effort at improving scalability makes a network less secure and more centralized. Achieving the perfect balance between security, scalability and decentralization has been a constant struggle for all crypto projects.
Let us consider 2 of the most successful and hyped crypto projects of 2018 — Zilliqa and Quarkchain — as examples here, and see how they tackle the problem of sharding. Both of them employ a similar solution, wherein they split the functionalities of Ledger and Confirmation into 2 different layers. Nodes are grouped into shards. These shards work concurrently to process transactions independently and create blocks. This increases the TPS linearly with the number of nodes in the network. Thereafter, transaction confirmation is done by a different layer altogether, which verifies the blocks and adds them to the already existing blockchain. Since the transaction processing and confirmation can occur in parallel, the network throughput increases.
While this approach seems perfect at first glance, the truth is that the system is still vulnerable to 51% hash power attacks. For example, in case of Quarkchain, the layer which confirms transactions is called Rootchain. As mentioned in their whitepaper, more than 50% of the hashing power is allocated to the Rootchain by default, and this ratio can be changed as per the user’s requirements. If it is made 100%, then the network becomes extremely secure but slow. And if it is made 0%, then the network throughput increases heavily, but the system becomes extremely vulnerable to attacks. In other words, Quarkchain does nothing innovative to solve the Scalaility vs Security vs Decentralization quagmire.
MultiVAC is a high throughput and flexible blockchain platform, which promises to be a game changer in the War of Sharding — a veritable “Sharding Killer” by their own admission. MultiVAC’s All-Dimension Sharding Solution works on the basic principle that sharding can solve not only the problem of data transaction, but also data transmission and storage. A dynamic sharding mechanism is used, where miners are allocated to shards which are dynamically changed with time. Proof of Stake is used as the Consensus Algorithm.
MultiVAC uses Verifiable Random Functions to dynamically assign the network nodes to different shards. Nodes are classified into 3 different categories.
- Light nodes submit new data transactions, and are not required to store any information other than a history of their own transactions. They have minimal system requirements, and even mobile phones can join the network as light nodes.
- Storage nodes store the complete history of a shard’s transaction details. They do not play any role in the consensus, and do not pose any risk to decentralization. Their hardware requirement is more than light nodes.
- Miner nodes run the MultiVAC consensus algorithm, and are required to lock up a stake deposit before they can join the network. Miners keep track of block transactions from their own shards, and block headers from other shards. Any modern personal computer can be used as a miner node.
Since miner nodes are required to store only the transaction verification data, anyone with a modern personal computer can join the MultiVAC ecosystem as a miner. This allows ordinary people to participate in the consensus algorithm, leading to a greater degree of decentralization and preventing a few influential players (read-whales) from manipulating the system. By this innovative division of labour between the different categories of nodes, MultiVAC ensures that the network throughput is increased without compromising on decentralization and security.
The MultiVAC network stores outputs of transactions in a Merkle Tree Data Structure. It is a binary tree, where every leaf node represents a data block, and every non-leaf node is the cryptographic hash of the children nodes. This particular hierarchy enables the network to verify transactions securely and rapidly. This also helps in simplifying cross-shard communication.
MultiVAC claims to be the world’s first blockchain architecture that designs sharding for every aspect of blockchain computation — processing, transmission and storage. They have recently released the TPS data from their testnet, and their throughput metric overwhelmingly validates their claim. They have achieved 30k+ TPS with 12800 nodes, divided into 64 shards. Compared to this, Quarkchain testnet achieves 10k+ TPS with 6450 nodes and 256 shards. Zilliqa performs even poorer, with their testnet achieving only about 3k TPS with 3600 nodes.
Network throughput is the litmus test for any blockchain network, and going by ther result, MultiVAC’s team are well on their way to achieving network performance comparable to that of Visa (which process about 45k TPS at max), while staying true to the core values of decentralization and security. Here’s hoping that they carry on this glorious performance in their main net as well.