QuarkChain is one of the new blockchains “on the block” that aims to create a highly scalable and secure blockchain that can handle up to one million transactions per second using a two-layered blockchain system.
They are seeking to bring crypto to wider mainstream audience and will support smart contracts with Ethereum Virtual Machine (EVM). This means developers will be able to easily port and deploy dApps built on Ethereum onto QuarkChain once their mainnet is live which could make QuarkChain a serious contender right out the gate.
We could see the likes of CryptoKitties and other dApps that require scalability shift their dApps over to QuarkChain if Ethereum is unable to solve their scalability issues in a timely manner.
Blockchain scalability is at the forefront of many people’s minds in the crypto community. It is one of the most hotly debated topics and trends going around.
But what is blockchain scalability?
Blockchain Scalability is:
the potential of a blockchain network to handle greater amounts of transactions
without incurring negative side-effects.
Let’s consider a football stadium with a capacity to hold 50,000 people for a second. The stadium can be said to scale well up to 50,000 people, however exceeding the stadiums capacity with say 75,000 people would have a grave impact on the safety and the experience of the patrons.
There would be longer queues than normal for food, drinks and toilets creating a poor experience for attendees. There would be standing room only and everyone would be bumping shoulders as they attempt to move around the stadium.
Blockchain Scalability Comes Down to Transactions
A transaction for a blockchain can simply be thought of as one user sending cryptocurrencies to another user.
This means Bitcoin and Ethereum’s scaling has a very low transaction throughput and as illustrated in the stadium example above; would lead to a negative experience for the attendees/patrons.
Transactions would crawl to a halt and take minutes instead of seconds to go through, transaction fees would skyrocket, and it simply would not be a enjoyable time for anyone involved.
The question then is how can blockchains achieve a higher level of transaction throughput so they are able to perform at higher transactions per second?
Blockchains vs Financial Payment Systems
Let’s compare Bitcoin and Ethereum to widely adopted transaction systems to date, Visa can handle 45,000 to 60,000 transactions per second during peak Christmas periods whereas AliPay is capable of a gigantic 200,000 transactions a second.
Chart comparison of QuarkChain’s transactions per second
For crypto to have any chance whatsoever of unleashing its full potential in disrupting many of the world’s incumbent industries, it is evident there must first be a solution to the limitations of blockchain scalability.
QuarkChain aims to build a user-friendly, decentralized and reliable blockchain that can ultimately handle millions of transactions per second.
Scalability has been integrated into the design of QuarkChain from the get-go and with this in mind they’ve set out to build a platform capable of supporting industries ranging from FinTech to gaming and social media.
There’s a saying in life that goes like this…
When you’re young you have time and energy, but no money.
When you’re an adult, you have money and energy, but no time.
When you’re retired, you have time and money, but no energy.
What a dilemma! Or should we say… trilemma?
Hmm, well is it really not possible to achieve all three? Of course it is!
A similar trilemma presents itself in blockchain however there has been no viable solution uncovered to date and this is exactly what QuarkChain along with many others in this space are attempting to solve.
The blockchain trilemma looks like this:
A permissioned (centralized) blockchain can provide scalability and security however loses all trace of decentralization. Permissioned blockchains are similar to centralized systems in the old world such as banks, Visa, as well as PayPal.
Opting for a permissionless (decentralized) blockchain such as Bitcoin or Ethereum provides security and a dispersed network however scalability is sacrificed, this was evident with the CryptoKitties dApp and excessive transaction fees when the demand on the Bitcoin network was high.
The real challenge therefore is figuring out how a blockchain can ACHIEVE ALL THREE:
Whomever is able to solve this trilemma will likely score themselves “a one-way ticket to the moon”!
But before we leap towards thinking about getting onto the moon, let’s take a step back and consider exactly why it is that decentralization, security, and scalability are essential components for a blockchain…
The two primary components that ensure the security of a blockchain are:
Ensuring that only valid transactions are made allows users of cryptocurrency to maintain a strong level of trust and confidence in the value of the crypto.
If a user can easily send tokens they don’t own and make new ones out of thin air, this greatly undermines the value of the cryptocurrency.
This would be similar to printing money out of thin air, which has been a regular practice for many reserve banks around the world for several years. The more money is introduced into any economy this will drive inflation up causing the currency being printed to drop in value..
As the term implies decentralization is the opposite of centralization and in the case of crypto an extreme level of centralization would be having a sole miner for a blockchain.
Anyone transacting on this blockchain would need to have a great deal of faith and trust that this sole miner won’t do anything dodgy as make up fake transactions.
Even if people trusted this miner, the network would still be at great risk as now anyone interested in taking down the blockchain has a single target to attack. They can launch a denial of service attack on the miner taking the whole network down or look to bribe, blackmail, or manipulate the miner into doing their bidding.
As written above, decentralization and security are essential for the ecosystem, they provide a reliable and costly efficient space to continue evolving into future tech. On the other hand, as shown on the next diagram, as security and decentralization grows, an enormous amount of data , requirements for storage and bandwidth needs grow with it, which intrinsically implies a diminution in the system´s scalability.
As illustrated in the diagram below, there are three propositions to solving the problem of scalability:
But partial solutions do not provide full efficiency especially in a time of exponential evolution. QuarkChain aims to fulfill the ultimate goal of any blockchain: Extending scalability far beyond current tech limits, while maintaining the balance for both security and decentralization.
QuarkChain’s bottom up approach to scalability begins by considering the two primary functions a blockchain serves as a public ledger which is:
1. The “State” of a Ledger
If you’re not sure what a ledger is, you can think of it as the thing responsible for keeping track of and recording everything that occurs in your bank account.
Your account has a running list of debits (when money goes out of your account — boo!) and credits (when money goes into your account — woo!) which are recorded whenever money is sent or received into your account.
The “state” of the ledger then is simply a snapshot of what’s in your bank account at any point in time, which is otherwise known as your bank balance! When a friend sends $50 into your account that has $100 in it, the new “state” of your account will then be $150.
An ancient Papyrus ledger
2. Confirmation of Transactions
If a transaction is made it doesn’t necessarily mean the transaction will go through and this is what confirming a transaction is all about.
Sending $100 to a friend with $50 in your account will see your transaction getting rejected! The transaction won’t be processed and confirmed as it is an invalid transaction due to insufficient funds in your account.
QuarkChain separates out these two primary functions with the use of a 2 layered system that allows for greater scalability:
The first layer with “elastic sharded” blockchains can be broken down as follows:
The Second Layer and the Root Blockchain
The second layer serves the function of confirming the transactions that take place throughout the network. This is done by sending the block headers of the minor blockchains that contain all the transactions to the root blockchain, the root blockchain then confirms these transactions by creating a new block with all of the block headers.
QuarkChain’s 2nd layer system offers a higher amount of transactions per second whilst accounting for bottlenecks that occur from increased throughput such as computing power, data storage, and internet bandwidth.
Structure of QuarkChain’s 2nd Layered Blockchain
QuarkChain incorporates several features to ensure decentralization of the network:
QuarkChain supports smart contracts with the use of Ethereum Virtual Machine (EVM), sharded blockchains therefore run their own smart contracts local to their blockchain via EVM.
Sharded blockchains can be thought of as mini-Ethereum’s or clones of Ethereum running simultaneously and parallel to one another with unique individual wallets associated to them.
So for sharded blockchain 1, you will also have wallet 1, and on sharded blockchain 2 there is wallet 2, and so forth… As you can imagine it would be a hassle to keep track of these wallets, especially if there are a hundred or even thousands of these sharded blockchains, which is why QuarkChain offers the following two features:
In QuarkChain users are able to use a single “Primary Account” where the majority of the user’s funds will be parked for them to manage all other wallets. When a user wants to send funds to a different sharded blockchain the user simply sends it from their Primary Account.
Primary account sending transactions to wallets located in other sharded blockchains
The Primary Account is combined with a “Smart Wallet” to automatically handle “cross”-shard transactions, these “cross”-shared transactions can be made anytime and are confirmed within minutes.
(A cross-shard transaction is a transaction that is made from one sharded blockchain to another sharded blockchain, e.g. sending funds from Wallet 1 to Wallet 2 would constitute a cross-shard transaction, whereas a transaction made from one wallet to another wallet within the same shard, e.g. Shard 1, is considered an “in-shard” transaction.)
A cross-shard transaction in action: Shard 1 makes a transaction to Shard n.
QuarkChain is a hybrid Proof-of-Work (PoW) blockchain that uses an ASIC-resistant PoW. The rootchain reaches consensus via PoW with each sharded blockchain following a “rootchain first” consensus to deal with forks.
Due to the two-layered system an advisor would need to first revert transactions (or block headers) on the root+chain in the second layer before they can attempt to revert transactions made on the sharded blockchain level.
In an early prototype, QuarkChain sharded blockchains were able to confirm blocks in 10 seconds and the rootchain confirmed blocks within 2.5 minutes.
As each blockchain in the network offers a different level of mining reward and difficulty, this allows miners to choose which blockchain to mine to achieve the best level of returns given their hash power.
This creates an open market for mining where the blockchains act as sellers touting block rewards, with miners buying block rewards with hashing+ power as their currency.
QuarkChain’s mining difficulty algorithms are designed so there is at least 50% of total hash power allocated to the root blockchain at all times with the remaining 50% being evenly distributed among sharded blockchains.
50% of total hash power from miners is allocated to the root blockchain with the remaining 50% evenly distributed between the sharded blockchains
A malicious user looking to attack QuarkChain requires at least 25% of the network’s total hash power, which is less than the 51% required for Bitcoin.
Recording and keeping track of ALL transactions for a blockchain is resource intensive; doing this for a high-throughput blockchain is even more so.
Unfortunately this is how most blockchains such as Bitcoin and Ethereum function with miners who take on the role of “full nodes”.
For a high-throughput blockchain performing 500,000 transactions per second, these transactions would add up to requiring 10 terabytes of data to be stored each day by miners and an internet bandwidth of at least 1GB per second.
Miners capable of such demanding requirements would likely only be commercially ran mining operations and so the high amount of throughput would lead to the centralization of miners with the smaller miners taking their hashing power elsewhere.
This is why QuarkChain incorporates the concept of “clustering” miners so that mini-nodes are able to work together in order to create a full node.
Full-nodes (represented by blocks on the left) are replaced by a cluster of mini-nodes
Each mini-node within a cluster works to validate a subset of blockchains and then bands together to share what they’ve validated to form the complete picture of all transactions that have occurred throughout the network.
Jumping back to our banking account analogy, a full node can be considered as having the complete picture of all bank accounts held by a bank including all the transactions that have been made for each account.
A mini-node however only has a snapshot of the first hundred bank accounts and their related transactions, with a second mini-node covering the next hundred and so forth.
In order for mini-nodes to understand what’s happening in ALL bank accounts, they have to come together and share what they know to form the complete picture and make up a full node.
You can imagine just how difficult it would be for one accountant to keep track of all the different bank accounts and the transactions happening throughout. Splitting up the accounts and spreading them out over several accountants however makes the task a lot more manageable.
In the case of miners, this means the total amount of data that a miner has to store is far less than what they would be required to store if they had to operate as a full node.
Left: A cluster of mini-nodes A, B, and C each validate transactions from a subset of R: rootchain, S0: Shard 0 blockchain, and S1: Shard 1 blockchain.
Right: The mini-nodes work together in a cluster to create a full-node. Even if one of the mini-nodes is offline the cluster can still form the complete picture of R, S0, and S1.
QuarkChain currently has a private testnet live that is operating with 8 sharded blockchains with each shard performing 100 to 200 transactions per second (TPS). The total TPS for the network currently ranges from 1000 to 2000+ transactions per second.
QuarkChain’s Testnet (Source: CryptoBriefing)
Qi Zhou — Founder
Zhaoguang Wang — Software Engineer
Xiaoli Ma — Research Scientist
Yaodong Yang — Research Scientist
Wencen Wu — Research Scientist
Anturine Xiang — Marketing and Community