Qtum,(pronounced as Quantum) is a China-based blockchain project offering a smart contract platform which can be used to develop Decentralised Applications. After Ethereum, many smart contract platforms have emerged in the blockchain space, Qtum is one of the interesting ones. If I try to explain in short Qtum is a combination of following components:
- Bitcoin’s UTXO model
- Ethereum’s EVM
- Proof of Stake 3.0
You will know more about these components as you proceed through this blog, but in short Qtum combines an updated Bitcoin Core foundation with an inter-compatible variant of the Ethereum Virtual Machine (EVM), bringing the unwavering quality of Bitcoin’s unfailing blockchain with the unlimited possibilities proposed by smart contracts. And this hybrid system is also combined with a first-of-its-kind PoS consensus protocol to offer a better scalability infrastructure.
The idea behind Qtum is making smart contracts easier and more secure while offering interoperability with leading cryptocurrencies such as Bitcoin and Ethereum. The foundation for Qtum’s code is Bitcoin’s blockchain, but the Qtum developers have abstracted and added layers to the Bitcoin blockchain that allow the Ethereum virtual machine for smart contracts to run on top of Bitcoin. As such, Qtum benefits from new developments in the Bitcoin and Ethereum communities, and smart contracts built on Ethereum can easily be ported over to Qtum as well.
In this blog we will discuss the various advantages/disadvantages of Qtum while trying to understand how it works. Let’s start with the advantages first:
Note: This blog does not preach the use of Qtum, it is written to converse different benefits/ drawbacks present within Qtum’s blockchain
There are many attractions about the Qtum blockchain which can motivate developers/thought leaders, to move from existing platforms to Qtum. Below, we list some of those attractions which makes Qtum worth your consideration:
1. Proof of Stake 3.0
In every cryptocurrency there must be some consensus mechanism which keeps the entire distributed network in sync, hence maintaining a distributed ledger while ensuring decentralisation. When Bitcoin first came out, it introduced the Proof of Work (PoW) system. Proof of Work is a proven consensus mechanism that has made Bitcoin secure and trustworthy for 9 years now, since its inception in 2009. However with PoW, comes its fair share of problems:
- PoW wastes a lot of electricity, harming the environment. Everyone in the PoW system is in a race to solve the cryptographic puzzle and claim the prize, wasting enormous computer resources, corresponding to misuse of electrical resources as well.
- PoW benefits greatly from economies of scale, so it tends to benefit big players the most, rather than small participants in the network. For example, most of the bitcoins being mined are coming from countries where electricity is cheap.
- PoW provides no incentive to use or keep the tokens, large accumulators of currencies based on PoW receive no incentive, same is true for those making a large number/volume of transactions.
- PoW has some centralisation risks, because it tends to encourage miners to participate in the biggest mining pool (a group of miners who share the block reward), thus the biggest mining pool operator holds a lot of control over the network.
Proof of Stake was invented to solve some of the above mentioned problems, by allowing participants to create and mine new blocks (and thus also get a block reward), simply by holding onto coins in their wallet and allowing their wallet to do automatic “staking”. As the name suggests, a corrupt participant will be punished by losing all the staked coins. Before understanding Qtum’s version of PoS, let’s take a small dive into the history of PoS:
Proof Of Stake was originally invented by Sunny King and implemented in Peercoin. It has since been improved and adapted by many other people. This includes “Proof of Stake Version 2” by Pavel Vasin, “Proof of Stake Velocity” by Larry Ren, and most recently CASPER by Vlad Zamfir, as well as countless other experiments and lesser known projects.
Qtum team has decided to use a different flavor of PoS, “Proof of Stake Version 3”, an improvement over version 2 that was also made by Pavel Vasin and was implemented in the Blackcoin project. This version of PoS as implemented in Blackcoin is what we will be describing here. Some minor details of it has been modified in Qtum, but the core consensus model is identical. So, what was the need for a PoS 0.3?
People get rewards in PoS to stake their coins based on the time they are being staked for, the longer you stake the larger will be your profit. This was a good improvement over PoW but it had a loophole, people who stake their coins can keep their node offline. Hence, saving the costs of maintaining an online node, online nodes were required to ensure a healthy network. They brought it online rarely to get a huge stake payout.
Solution By PoS 3.0
Wit PoS 3.0, you need to maintain your node online at all times, If you want to get your stake reward. People with not so many coins but who keep their node online will get stake reward relative to people who have a lot of coins but keep there node offline.
Another problem solved by Qtum’s PoS which is an update on Ethereum’s PoS implementation. Ethereum is also planning to switch to proof of stake sometime in 2018, with the release of Casper. But Ethereum’s proof of stake model will impose a minimum balance on wallets before allowing them to stake. A minimum balance of 32 Ethers has been suggested. Although, many people won’t be able to afford it and most Ethereum investors will undoubtedly be excluded from staking. Qtum’s proof of stake model, on the other hand, allows wallets with any amount of Qtum to stake, thus making stake rewards accessible to a wider range of public.
2. Best of Both Worlds
The two most successful blockchains in the crypto space are Bitcoin and Ethereum. Qtum brings these highly tested and widely accepted blockchains together by incorporating features from both of them. Since Qtum is backwards compatible, it can take advantage of, and absorb improvements from both Bitcoin and Ethereum blockchains. For example, QTUM is compatible with both the Lightning Network and Raiden, the buzzwords of scalability solution for blockchain, in recent times. Thus developments in the Ethereum and Bitcoin blockchain can be incorporated into Qtum, with the consent of Qtum community. This opens a path for Ethereum based scalability solutions like state channels and plasma into Qtum.
a.Compatible with SegWit
Segregate means to separate, and Witnesses are the transaction signatures. Hence, Segregated Witness in short, means to separate transaction signatures.
SegWit (short for Segregated Witness) is a protocol upgrade that changes the way data is stored within a blockchain. In SegWit signature data from transactions is removed , hence decreasing the size of a transaction. Before SegWit, transactions were bloated with un-necessary signature info, which can be delegated on parallel running side chains freeing up necessary space. This allows us to store more transactions within a single block, which further increases the capacity of the chain. Qtum is compatible with SegWit hence advantages of SegWit implies to it.
Since Qtum uses the EVM (Ethereum virtual Machine), any Ethereum smart contract can run on Qtum and vice versa. So, Solidity can be used to write contracts for Qtum as it is used to write contracts for Ethereum. This makes it incredibly easy for Ethereum developers to develop on Qtum. Existing Ethereum dApps can also be easily ported to Qtum. Not only that existing standard contracts like OpenZeppelin and various ERCs like ERC20, ERC223, ERC721, ERC827 etc… can be used as Qtum standards. Thus a widely accepted and popular framework can be used to develop distributed applications on Qtum, which makes it very easy to adopt/accept for blockchain developers.
3. More Secure and Scalable UTXO Model
Bitcoin’s blockchain follows a UTXO model and Ethereum follows an account model, many crypto gurus argue that UTXO model is better because it’s more scalable and secure. Now let’s try to understand the difference between these models:
UTXO stands for (Unspent transaction outputs), in the UTXO model, crypto coins exist in the form of unspent transactions. So each user has a set of unspent transactions which are equivalent to the crypto coins he holds. Consider the example shown below, there are two people Ayush and Nidish. Ayush has 7 coins initially and Nidish has none. 7 coins belonging to Ayush are stored as tx1 and tx2, with respective values of 5 coins and 2 coins. When Ayush wants to send Nidish 6 coins he combines tx1 and tx2 as inputs and forms a new transaction tx3, equivalent to 6 coins. As change Ayush gets back tx4 equivalent to 1 coin.
Note: This is a very basic explanation, actual thing is much complex than this.
In this way, a certain volume of Bitcoins are transferred among different owners, and new UTXOs are spent and created in the transaction chain. The UTXO of a Bitcoin transaction is unlocked by the private key that is used to sign a modified version of a transaction. In the Bitcoin network, miners generate Bitcoins with a process called a coinbase transaction, which does not contain any inputs.
In the UTXO model, it is possible to transparently trace back the history of each transaction through the public ledger. The UTXO model has parallel processing capability to initialize transactions among multiple addresses indicating the extensibility. Additionally, the UTXO model supports privacy in that users can use Change Address as the output of a UTXO. Qtum implements smart contracts based on the innovative design of the UTXO model.
Account Based System
Ethereum is an account based system. More precisely, each account experiences direct value and information transfers with state transitions. If we implement the above example in Ethereum it would look as follows:
It might look like a much simpler model and it is simpler, but it is very difficult to track one transaction to another in Ethereum. In Ethereum, balance management resembles a bank account in the real world. Every newly generated block potentially influences the global status of other accounts. Every account has its own balance, storage and code-space base for calling other accounts or addresses, and stores respective execution results. In the existing Ethereum account system, users perform P2P transactions via client remote procedure calls. Although sending messages to more accounts via smart contracts is possible, these internal transactions are only visible in the balance of each account and tracking them on the public ledger of Ethereum is a challenge.
Qtum team proposes that the Ethereum account model can lead to a scalability bottleneck and nominate UTXO as a superior, more scalable and secure solution, this extends to UTXO’s support for SPV, which will be discussed next.
The UTXO model also supports the Simple Payment Verification (SPV) protocol. SPV allows light clients to interact with smart contracts, something that Ethereum cannot do. A simple explanation of SPV model will be as follows:
Simple Payment Verification (SPV) is a technique described in Satoshi Nakamoto’s paper. SPV allows a lightweight client to verify that a transaction is included in the Bitcoin blockchain, without downloading the entire blockchain. The SPV client only needs download the block headers, which are much smaller than the full blocks. To verify that a transaction is in a block, a SPV client requests a proof of inclusion, in the form of a Merkle branch.
SPV clients offer more security than web wallets, because they do not need to trust the servers with the information they send.
4. Account Abstract Layer (AAL)
Qtum is not just a Bitcoin and Ethereum fork, we must keep in mind that it takes an incredible feat of engineering to combine a UTXO blockchain with EVM.
Qtum’s solution to this is the Account Abstract Layer (AAL) that serves as an interface layer between the blockchain and the EVM. The AAL not only allows the EVM to live on top of a UTXO blockchain, it also means that Qtum is not confined to using the EVM as a smart contracts platform. Any other smart contracts virtual machine compatible with the AAL can be used to replace the EVM and the Qtum team has already announced plans to develop an x86 smart contracts virtual machine for Qtum. The x86 architecture is popular, time-tested, and well designed, and a smart contracts virtual machine based off of this architecture will make up for much of the shortcomings found in Solidity and the EVM. For one, it allows developers to program smart contracts in popular programming languages like C, C++, C#, and Java.
5. Decentralised Governance Protocol (DGP)
Qtum team has also made upgrades to the Bitcoin Core code base, while developing a version of Bitcoin Core for Qtum with what’s known as the Decentralised Governance Protocol (DGP). DGP allows owners of Qtum to vote on and enact changes to a limited set of blockchain parameters (e.g. block size and block time) without needing hard forks. This not only allows Qtum to efficiently adapt to changing network conditions, it also allows quick recovery from certain kinds of attacks on the network, issues both Bitcoin and Ethereum have struggled with in the past. Like there were hard forks in both Bitcoin and Ethereum blockchain previously due to changes in block size, Qtum can handle such decisions by DGP, and thus preventing a fork.
Every experimental technology exposes some trade offs with its proposed advancements, during my research I found the following disadvantages for Qtum:
1. Infinite Incremental Model
During the launch of Qtum’s mainnet 100 million Qtum were issued. Since the launch of the mainnet, only a portion of these tokens were swapped to mainnet tokens. With the mainnet also came Qtum mining and the associated new Qtum generated from it, in the from of block rewards. The problem is Qtum will always reward miners with new Qtum, which means the amount of Qtum will keep on increasing indefinitely. This can have a negative impact on Qtum’s economy in long term as there might be a point where inflation due to new Qtums produced will slowly decrease. As the rate of inflation diminishes and the total supply goes up while the rewards per block remain constant, an overflow of Qtums can happen. But this will take many decades.
2. Deficiencies with EVM
Solidity is still in its development phase and many new bugs are discovered every other day. Be it the Short address attack or as in many crowdfunding scenarios, where the Ethereum affiliated Solidity smart contract was hacked because of security flaws resulting from a lack in the state of the art with respect to tools for formal verification. Although AAL promises to resolve this problem by proposing compatibility to x86 architecture, it is of paramount importance to consider the deficiencies of EVM and solidity to be one and the same as Qtum’s.
3. Staking with less loss
Qtum has no bar on minimum number of Qtum for staking, like Ethereum is proposing minimum of 32 ethers to participate in staking process. So people can try to stake a very less amount and in turn try to confirm malicious transactions, which will be more profitable, with a low risk because of lesser stake. Though with less stake such people will have lesser chances to mine the next Qtum block.
Qtum has its own share of advantages and disadvantages, it looks to be a promising blockchain. At the time of writing this blog it has a market cap of 1,357,894,712$. It has a strong team and the background of it’s three co-founders: Patrick Dai, Neil Mahi, and Jordan Earls; looks promising. It could turn out to be Chinese version of Ethereum, or maybe even more. In short you should keep an eye on this Chinese Dragon.