Bitcoin has had, from its inception a smart contract language called Script. It’s an extensive non-Turing-complete language similar to Forth. While the language has a lot of capabilities, what we’ve found over the past 11 years is that the vast, vast majority of transactions on the Bitcoin network use only a small set of well-defined smart contracts. These are all very useful smart contracts, like single-key locked (p2pkh, p2wpkh), multisig (often done using p2sh or p2wsh) and some HTLC for lightning. This is a bit of a strange situation as most of the capabilities of Script aren’t being used at all.