Miniscript
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
2024
- BIP379 added with a specification for Miniscript
- Draft BIP proposed for miniscript
- Ledger Bitcoin App 2.2.0 adds miniscript support for taproot
2023
- Field Report: A Miniscript Journey
- Bitcoin Core #27255 ports miniscript to tapscript, providing tapscript descriptors
- Bitcoin Core #26567 computes input weight for fee estimation using miniscript and descriptors
- MyCitadel v1.3.0 adds more advanced support for miniscript
- Bitcoin Core #24149 adds signing support for P2WSH-based miniscript-based output descriptors
2022
- 2022 year-in-review: miniscript descriptors in Bitcoin Core
- Bitcoin Core #24148 adds watch-only support for descriptors containing miniscript
- PR Review Club about miniscript support for descriptors
- Adapting descriptors and miniscript for hardware signing devices
- Bitcoin Core #24147 adds backend support for miniscript
2021
2020
- 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
- 2019 year-in-review: miniscript
- Miniscript request for comments
- Final stack empty, insights from miniscript development
- Miniscript presentation
See also
Previous Topic:
Merkle tree vulnerabilities
Next Topic:
Minisketch