A PDF version of the writeup below can be found here.

What is Qtum?

Qtum is a Singapore-based cryptocurrency that is a combination of Bitcoin, Proof-of-Stake, and the Ethereum Virtual Machine (EVM). Like Ethereum, Qtum is designed to provide a platform for smart contracts and decentralized applications (dApps) to be developed.

Current Supply

Qtum launched its mainnet on Sept 13. Up to that point, Qtum only existed as an ERC20 token on Ethereum’s network. About 100 million of the ERC20 token version of Qtum were issued, and after the move to the mainnet, Qtum holders were provided the option to trade ERC20 token Qtum for mainnet Qtum at a 1:1 ratio. With the deployment of the mainnet, Qtum began block rewards for Qtum to miners as well, which brings us to the current supply of slightly over 100 million.

UTXO

Qtum uses Bitcoin’s unspent transaction output (UTXO) model, to implement their blockchain. In short, this means that every Qtum transaction spends outputs created from prior transactions and then creates more outputs to be spent by future transactions, with each output only being allowed to be spent once.

The UTXO model does have some trade-offs compared to other solutions such as Ethereum’s account based model, with the former providing more privacy, scalability, and built in protection against double spend attacks, and the latter being simpler to develop around but requiring more space. However, using the same blockchain implementation as Bitcoin does have some additional benefits. Bitcoin and its community have already been using, proving out and building upon the UTXO model for eight years. Existing solutions and workflows for Bitcoin are going to be compatible with Qtum, including integrations into Simple Payment Verification and mobile clients.

EVM

The EVM is integrated into Qtum. This means that not only does Qtum provide a platform for smart contracts, smart contracts for Ethereum can run on Qtum and vice versa; and existing contracts and dApps for Ethereum could be very easily ported over to Qtum if need be.

The EVM is designed to work Ethereum’s account based blockchain model. However, Qtum uses UTXO and all transactions use the Bitcoin Scripting Language. In order to bridge these two systems, Qtum has implemented an Account Abstraction Layer, which allows the Qtum blockchain to interface with the EVM. One of the disadvantages with using the UTXO model mentioned above was that the account based model was easier for developers to work with. However, Qtum is able to completely mitigate this disadvantage with an integration into the EVM, which lets developers treat the Qtum blockchain just like they would Ethereum, with some minor modifications required by the Account Abstraction Layer.

Consensus Mechanism / Mining

Qtum employs a complete proof-of-stake (PoS) approach to mining, where Qtum holders can lock up, or ‘stake’, their tokens as a sort of bet in order to be randomly selected to be rewarded more tokens once a block is mined. A block of Qtum is mined every two minutes. Many other cryptocurrencies using PoS reward miners of a block with the transaction fees spent on that block. However, in addition to this Qtum rewards miners of a block with 4 Qtum in addition to the fees (at 0.4 Qtum upon mining, and 3.6 Qtum over 9 blocks after the transaction has matured, which takes 500 blocks). Thus, about 2880 Qtum is generated per day, meaning that there will always be some degree of inflation.

Currently, both Ethereum and Bitcoin are currently employing proof-of-work instead. While Ethereum is planning to also move to PoS sometime in 2018, they will be imposing a minimum balance, currently set to 32 ETH, before allowing ETH holders to stake. This will be different to Qtum, where holders can stake any with any amount of Qtum so long as it has reached a 500 block maturity from being deposited.

x86 VM

Although the Account Abstraction Layer purpose is to provide an interface between EVM and the underlying UTXO blockchain, it can be adapted to handle other virtual machines as well. Qtum currently has plans to support an x86 VM. This would allow developers to program smart contracts in more languages than just Solidity, including languages that are far more established and popular such as C# or Go. With an x86 VM, most existing programing languages will be able to run within Qtum’s environment with a few modifications.

Another interesting note is that lower level languages with a compiler that supports x86 can create very compact bytecode, which would save space on the blockchain. Depending on the application, a smart contract written in a low level language could take a small fraction of the space compared to Solidity, which is similar to higher level scripting languages. An example of something that could be leveraged under x86 would be something like GCC for C, which has been in development for 30 years and has had a significant amount of work has gone into optimizing the code it compiles. However, exactly how many developers will be using these languages to program smart contracts remains to be seen.

—

To learn more about Titan Digital Asset Group, click here.