Smart contracts fundamentally enable change of state programmatically. (Is that a fair fundamental description?).
How would one go about enabling smart contracts on UTXO based blockchain as against an account model?
Here's details of Komodo's upcoming UTXO based smart contracts system built on the draft IETF open standard, Crypto Conditions.
Basically everything is derived from UTXOs and transactions move the state of the contract.
Disclaimer: I contribute to the Komodo project. Some extra things, https://blog.komodoplatform.com/pre-alpha-komodo-utxo-smart-contracts-notes-7c5e8f49206 more coming.