How Qtum Makes Ethereum Contracts Run on the UTXO Model
Qtum is taking Bitcoin Core 0.13, integrating the Ethereum Virtual Machine, and adding an “Account Abstraction Layer
” so that existing Etheruem contracts will work on Qtum with minimal changes. The exact way we are integrating the EVM is by adding new Bitcoin Script opcodes, and adding special processing conditions so that when these EVM using transactions are added to the blockchain, they are executed immediately (rather than only when attempting to be spent, as is normal).
Along with this, the account abstraction layer allows for contracts to only worry about balances and sending funds. This is a bit more complicated to explain without going into a lot of technical detail, but I’ll try. Normally in UTXO based coins (such as Bitcoin of course), you can’t just say
“I want to send 20 coins to X”,
you say
“I want to send this 10 coin output, and this 5 coin output, and this 8 coin output to X, and also send 3 coins back to Y, which is my wallet.”
This is called coin-picking
, and it is one of the reasons that smart contract implementations on top of Bitcoin have been so difficult up to this point. A coin output must be either spent completely or not spent at all. What we’ve done with this account abstraction layer is make it so that smart contracts on the blockchain have something similar to a wallet. When a user (or another contract) sends coins to a contract, the code will create a standard “funding transaction”, which is spendable only by the appropriate smart contract. It would be a great burden for smart contracts to have to pick their own coins (i.e., having to write your own algorithm in Solidity), so we have added a consensus-critical coin picking algorithm which all contracts must use. So, for a contract to “send 5 coins to X”, the miner will pick contract-owned coins (using the consensus-critical coin picking algorithm), and when it has enough inputs for the value to send, it will then construct the outputs of the transaction. In this case, it would be “5 coins to X, remaining coins to sending smart contract (change output)”. This transaction is then added to the current block. It’s important to note that these transactions are not broadcast on the P2P network, they are only added by miners (and it is consensus-critical that they add them if they put the contract transaction in the block)
TL;DR; Qtum integrated the EVM onto a UTXO based blockchain, and writing contracts for this should be just as easy as Ethereum, but you get the benefits of the UTXO model. These benefits include mobile/light wallet support by SPV, a more stable model (whereas Ethereum has forked many times to fix problems with this), and compatibility with existing Bitcoin tools and protocols.
-Jordan Earls (Earlz)
Qtum lead developer. Jordan is a trusted and well-known member of the cryptocurrency community and has been developing software since he was thirteen. Jordan has reviewed over 100 altcoins and identified multiple exploits in coins.
COMMENTS(9)
How Qtum Makes Ethereum Contracts Run on the UTXO ModelQtum integrated the EVM onto a UTXO based blockchain, and writing contracts for this should be just as easy as Ethereum, but you get the benefits of the UTXO model. These benefits include mobile/light wallet support by SPV, a more stable model (whereas Ethereum has forked many times to fix problems with this), and compatibility with existing Bitcoin tools and protocols.http://news.8btc.com/how-qtum-makes-ethereum-contracts-run-on-the-utxo-model
Qtum is taking Bitcoin Core 0.13, integrating the Ethereum Virtual Machine, and adding an Account Abstraction Layer so that existing Etheruem contracts will work on Qtum with minimal changes. The exact way we are integrating the EVM is by adding new Bitcoin Script opcodes, and adding special processing conditions so that when these EVM using transactions are added to the blockchain, they are executed immediately (rather than only when attempting to be spent, as is normal).http://news.8btc.com/how-qtum-makes-ethereum-contracts-run-on-the-utxo-model
Why would anyone be interested in this?
Misses the point. Lol. Hilarious
Reminds me of XRP implementing ethereum features
Bringing down the development costs of 2nd layer technologies like lightning networks, privacy features, etc. will be great for a smart contracts platform. Also interesting that you can port ethereum apps and contracts with minimal effort.
Please where can I get signature of this project, I cant find it on official thread, but I see people having it.
How Qtum Makes #ethereum Contracts Run on the UTXO Model http://NEWS.8BTC.COM #blockchain #Qtum http://news.8btc.com/how-qtum-makes-ethereum-contracts-run-on-the-utxo-model …pic.twitter.com/3ERlH9c5jh
thanks
Please sign in first