Bitcoin est une monnaie programmable et la dépense de fonds peut-être soumise à une combinaison de conditions. Avec Bitcoin Script *, il existe de nombreuses manières d’implémenter un ensemble de conditions de dépense mais même pour un développeur expérimenté il n’est pas toujours facile de trouver la solution optimale.
Conçu par Andrew Poelstra, Pieter Wuille et Sanket Kanjalkar, Miniscript est un langage permettant de représenter les scripts Bitcoin de façon structurée afin de faciliter leur analyse et leur composition. Il permet de construire de façon simple, rapide et fiable des conditions de dépenses sophistiquées qui seront reconnues par n’importe quel wallet.
En savoir plus : Miniscript : Streamlined Bitcoin Scripting par Pieter Wuille et Andrew Poelstra – Compilateur et analyseur
* Exemple de script Bitcoin pour une adresse multisignature (multisig) permettant à une personne (adresse A) de dépenser les fonds quand elle le veut et à une autre personne (adresse B) de dépenser ces fonds au-delà d’un certain délai, ici 144 blocs :
<A> OP_CHECKSIG OP_IFDUP OP_NOTIF OP_DUP OP_HASH160 <hash160 (B)> OP_EQUALVERIFY OP_CHECKSIGVERIFY <144> OP_CSV OP_ENDIF
Notation Miniscript :
or_d(c:pk(A),and_v(vc:pk_h(B),older(144)))