Miniscript allows software to automatically analyze a script, including determining what witness data must be generated in order to spend bitcoins protected by that script. With miniscript telling the wallet what it needs to do, wallet developers don’t need to write new code when they switch from one script template to another.
The structured representation of Bitcoin scripts provided by miniscript allows wallets to be much more dynamic about the scripts they use. In support of that dynamism, miniscripts can be created using an easily-written policy language. Policies are composable, allowing any valid sub-expression to be replaced by another valid sub-expression (within certain limits imposed by the Bitcoin system).
Primary code and documentation
Optech newsletter and website mentions
- Formal specification of miniscript
- Miniscript to warn or fail for safety when mixed time/height locks used
- PSBT specification updated to improve miniscript compatibility
- Minsc: a new spending policy language based on miniscript
- Question about a specification for miniscript
- 2019 year-in-review: miniscript
- Miniscript request for comments
- Final stack empty, insights from miniscript development
- Miniscript presentation