Questions about Qtum's choice of a UTXO platform
Since Qtum’s inception, we have been asked why we chose the UTXO model. When bundled with existing Blockchain technologies, it is very powerful. Instead of reinventing the wheel and creating a costly and untested new platform, it is possible to combine proven solutions to provide the ultimate Smart Contract solution. We believe that the parallel proofs provided by the UTXO model, along with Proof-of-Stake 3.0 (POS3), the Simple Payment Verification protocol, and the Ethereum Virtual Machine (EVM) is the perfect fusion.
Recently, we were asked some good questions about our solution. Our Lead Developer, Jordan Earls took the time to respond, see below:
Question: How do you design “Making Smart Contracts work on smartphones and tablets” happen?
Earls: We will extend the SPV protocol for this purpose. We will extend it to allow validating contract state without needing to validate the entire blockchain, nor downloading the entire blockchain. We also will be extending the P2P network implemented by Bitcoin’s code to also include functionality specific to smart contracts and the management of their state. And finally, we will be releasing several mobile APIs specifically built for easy integration of Qtum and smart contract’s into new and existing Android and iOS applications.
Question: Does that mean you already have the Swift / Java version solidity compiler and EVM?
Earls: No, but this is for a reason. There are two primary approaches for integrating smart contract’s into your application, depending on your exact needs. The first method is easiest but includes some limitations. The first method involves using IPC interfaces to allow for an application to use the mobile wallet’s EVM and SPV blockchain implementations. This method is also the safest because the wallet will manage private keys instead of the application. However, this may be more complicated and carry some limitations. So, application developers may choose the second approach. This involves compiling an EVM and SPV implementation directly into your application, and thus your application will directly interact with the blockchain, but is responsible for managing its own security profile and for tracking funds if needed.
Question: what's the real advantage the SPV protocol can bring to Qtum’s so-called “Mobile Smart Contract”?
Earls: The fact that we can provide Mobile Smart Contracts in a trustless and decentralized environment is the major advantage. Using SPV, a mobile wallet can interact with the Qtum network directly. In order to take down a mobile wallet’s connectivity, one would have to attack the entire Qtum network, which is extremely difficult because of the POSv3 consensus model. This puts our solution leaps and bounds ahead of a centralized wallet solution, which can be attacked by simply attacking the provider’s servers. The other issue with centralization is if those servers are compromised, they can report invalid transaction data, leading to businesses and consumers alike potentially trusting false data. In some models of wallet centralization, it can also result in funds being outright stolen because the private keys are stored on the server.