SPV extended to support syncing contract state without full chain download
The Simple Payment Verification protocol was created before the Ethereum Virtual Machine, so it needs to be extended to allow interaction with Smart Contracts, and to allow verification and validation of a contract’s state. In order to release a wallet that does not require the entire blockchain to be downloaded (only the headers) and can control a Smart Contract, the wallet needs to synchronize the Qtum contract state.
The SPV protocol does not keep track of Smart Contract State, which is paramount to our goal here. This addition to SPV allows developers to create wallets that can validate both transactions and smart contract state, by only downloading the block headers and the interesting transaction or contract state data.