Pieter Wuille and Andrew Poelstra are two of the most recognized Bitcoin developers in the community. As reported earlier, Wuille, a developer at Blockstream, announced the Miniscript project a few weeks back, and recently an article on medium was released which listed out the ambition and objective of the current blockchain programming language.
According to the developers, the idea of using Miniscript first surfaced back in 2018 when Wuille, along with other developers were brainstorming on several ideas for developing the Bitcoin network.
Miniscript language has been introduced into the network in order to re-write Bitcoin script in a more structured way. The potential of Bitcoin script was massive but constructing it for minor operations was very complicated. The script required verification on their accuracy and security, and writing it from an economic standpoint was difficult.
The miniscript language solved these issues to an extent as it represented Bitcoin script in a structured manner, enabling optimized composition, generic signing, and efficient analysis.
The main issue with Bitcoin Script was its difficulty to build advanced spending conditions in the network, as it also required a special-purpose software in order to function. Miniscript addresses these concerns and generalized a set of spending conditions which was simplified in nature and more reliable. The functionality of miniscript representing spending conditions on the blockchain allowed users to:
1. quantify the associated addresses to the script
2. determine which signers are significant or important during a given period
3. facilitate valid transactions backed with a sufficient set of signatures
There was no such requirement for all participants in a transaction to have compatible software, and the continued usage of Bitcoin script would also not constrain the network either.
The article stated,
“Without Miniscript, producing a script that encompassed all signers’ requirements, while assuring all signers that the complete script was sound and complete, and that their wallet software was compatible with the result, would present an insurmountable problem.”
The developers concluded that they designed Miniscript in order to make Bitcoin Script more accessible as they realized that due to the absence of an optimized solution like Miniscript, the network was unable to use features that were already available in a safe and interoperable way.