The world of Bitcoin is about to see some significant changes thanks to a new programming language.
Miniscript, a simplified contract language, has been in the making for more than a year – and now it’s finally been made public. Developed by prominent programmers Pieter Wuille, Andrew Poelstra, and Sanket Kanjalkar at Blockstream, the adapted Script language is specifically designed for Bitcoin use.
“In short, it’s a way to write (some) Bitcoin scripts in a structured, composable way that allows various kinds of static analysis, generic signing, and compilation of policies,” Wuille explained.
“My hope is that Miniscript, together with things like PSBT can reduce some of the barriers between pieces of software. Ideally, the executive’s 2FA setup could interact flawlessly with the cold storage setup, computing the necessary composed script, and still be able to sign … This has been a long time coming, and I’ve been talking about this for a while (including at SBC’19 earlier this year). I wasn’t comfortable with publishing things until we had done significant testing against the actual Bitcoin consensus and standardness rules. We’re there now.”
“Through large scale randomized tests we have confidence that the language design and associated witnesses are compatible with the existing consensus and standardness rules,” Wuille assured people.
How will Bitcoin coding change?
As it stands, the Bitcoin spending process is written manually. This, unfortunately, means that errors can creep in – and has led to catastrophic problems in the past. With Miniscript, though, developers can avoid potential slip-ups by writing a policy that places restrictions on how Bitcoin can be spent. Then, rather than having to re-write the policy for each new transaction, the code can be copied – thus making it much easier to deal with complex transactions.
Essentially, the language will enable developers to specify the criteria for Bitcoin spending more easily.
It’s true that there are already a number of languages out there that have the same function, but Miniscript has trumps them easily in terms of simplicity of use. And it’s already getting rave reviews.
Rusty Russell, a Blockstream lightning engineer, tweeted: “This will be one of those, ‘How the hell did we do it before this?!’ technologies. Unsexy and vital.”
With comments like that, people are obviously wondering how soon they’ll be able to access Miniscript. Well, there’s good news! The language is still a work in progress, according to developers, but is already available for Rust and C++ users to download.
Bitcoin coding is evolving, and it all starts here.