In the context of CBDCs, I am trying to understand how financial instruments can be implemented in Smart Contracts on blockchains.
I know some basic applications such as flash loans, and DEXes but is there a comprehensive review of what can and cannot be expressed through Smart Contracts? I would appreciate any pointers, thanks!
Depends on the blockchain.
If you’re talking about Ethereum, then you can implement pretty much any complex software application as a smart contract. The only limitation is the cost users will have to pay to interact with it which depends on the complexity of the smart contract. There are many complex smart contracts implementing futures markets, options markets, lending platforms, and even nested blockchains.
Bitcoin on the other hand supports only simpler smart contracts but there are people actively working on enabling complex smart contracts for Bitcoin via protocols built on top of it.
Smart contract platforms are Turing complete so they can express anything.
Typically as a design choice they try to minimize touches (like order books) to reduce costs