Smart Contract (SC): A contract between two persons A and B, that network is aware of and agreed upon.
Say A needs to pay x coins to B when the amount of coins in A’s account is more than y coins. This is an oversimplified contract, let’s call it SC1.
Design Requirements:
SC is by definition “declarative” in nature. Every node has the freedom to choose the right data structure for SC in their system, it doesn’t matter as long as the network agrees on the format of SC.
The implementation then works similar to UTXO (Unspent Transaction Outputs). Node’s keep a pre-defined data structure in their RAM and checks against every transaction when a mined block is added to their main Blockchain.
This can obviously be introduced in Bitcoin without any hassle. It is already present in Ethereum btw.