Smart contracts allow users (among other things) to create and set rules, these rules should be met before the funds are unlocked.
Bitcoin smart contracts are complex, but a new language is making them easier to write. Minsc, created by Bitcoin developer Nadav Ivgi, is a new programming language that makes it easier for developers to create this kind of contracts so they can build them into bitcoin wallets and other apps more smoothly.
# Bitcoin - Script
The current Bitcoin smart contract language is Script, it isn't comparable to more popular coding languages and therefore harder to use by developers. Due to the fact it is hard to practice, the possibility of mistakes is high; which eventually puts your Bitcoin at risk.
Current examples of Bitcoin smart contracts are; requiring more than one person to sign off on a transaction and not allowing 0,1 Bitcoin to be spent until 2022.
# Ethereum - Solidity
Due to the difficult Bitcoin Script Vitalik Buterin designed the
Ethereum platform. The Ethereum smart contract coding language, Solidity, was built in a user-friendly way. Which definitely paid off, the Ethereum platform has grown into the platform for smart contract developers.
# Bitcoin - Miniscript
In 2019 Pieter Wuille, Andrew Poelstra and Sanket Kanjalkar released ''Miniscript''. Miniscript offers a language which is easier to understand than Script with pre-built security guarantees. Miniscript will be automatically converted in Script, which is what the code should be written in to successfully implement these additional rules.
# Bitcoin - Minsc
Minsc is the last layer, it's built on top of Miniscript benefiting of its security properties. But designed to be even easier for developers to understand compared to Miniscript. Minsc doesn't add anything new to Script, it just makes it easier to use.
When more developers support these Bitcoin smart contracts, more users will be able to use them.