Author

Topic: Miniscript Project (Read 524 times)

full member
Activity: 1092
Merit: 227
September 03, 2023, 09:23:16 AM
#16
The interesting thing is, even to this day, there is no wallet that supports miniscript (not even Bitcoin Core) and that is considering Taproot has already been active. Could it just be a lack of developers?

Or lack of usage, there's no reason to support miniscript when software developer isn't their main target. Besides, Minsc (https://min.sc/) also exist which offer easier usage and have more star on GitHub (150 vs 106 stars).

Give this project to a private sector company with salaried developers and then give them limited timeline to make a good use of miniscript. They will end up with hundreds of usage for the same. I think decentralized work mode can take away lot of talent. Idk, but we would have been at higher dimension by now since bitcoin has endless possibilities for sure.
legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
August 24, 2023, 05:20:53 AM
#15

I think miniscript is not really intended for end users, but rather for services that create such miniscripts.


Yes and no.
Miniscript is a building block for having more complex script in a bitcoin transaction.

No end user will ever be required to know how to use Miniscript language to add a script into a transaction (that already has a script, by the way).
Wallet software will do that for the user, enabling more convolute spending or signing conditions via an appropriate UX.

Of course hardware wallet will be required to sign those transaction, so a support for this language is required.
 
This one is only a single building block toward the implementation of this scripting language.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
August 24, 2023, 05:08:49 AM
#14
I am bringing up this thread.
I don't know if there are other more active ones, just to report that Shiftcrypto, the firm behind BitBox, just released a firmware update for BitBox 02 supporting Miniscript.

Quote

Miniscript support
To improve the BitBox02’s compatibility with future self custody solutions, we have added Miniscript support to the BitBox02’s firmware. Miniscript is a Bitcoin scripting language that enables and simplifies more complex spending conditions, such as decaying multi-signature wallets which can be used to create recovery options, among other things.


Source: BitBox 08.2023 Motterascio update

I think miniscript is not really intended for end users, but rather for services that create such miniscripts.

So I don't think it's will be useful for most people to all of a sudden create a transaction with a custom script by miniscript, but rather, when you connect your hardware wallet to sign a transaction that has such a script, to be able to see the miniscript if it is detected inside the tx.

Though then again, it's probably just read-only support inside the bitbox02.
legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
August 23, 2023, 08:46:08 AM
#13
I am bringing up this thread.
I don't know if there are other more active ones, just to report that Shiftcrypto, the firm behind BitBox, just released a firmware update for BitBox 02 supporting Miniscript.

Quote

Miniscript support
To improve the BitBox02’s compatibility with future self custody solutions, we have added Miniscript support to the BitBox02’s firmware. Miniscript is a Bitcoin scripting language that enables and simplifies more complex spending conditions, such as decaying multi-signature wallets which can be used to create recovery options, among other things.


Source: BitBox 08.2023 Motterascio update


Fun and totally irrelevant fact:

Motterascio is a mountain hut on the Italian Swiss Alps. As Apple names it's Os after California Landmarks, so it does Shift Crypto with the swiss landmarks!
legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
November 26, 2022, 06:49:15 AM
#12
I was browsing the Blockstream Website, and I found an article about Simplicity.

Nothing really exciting, just another overview of the Simplicity language by Christian Lewe


From Miniscript to Simplicity
Quote
How can we do more than Miniscript while preserving its useful properties? How can we make the system more powerful while preserving its structure? These thoughts lead us to Simplicity, an entirely new blockchain language designed from the ground up as an alternative to Bitcoin Script.

I had lost a little bit of track of this project.
I will try to catch up!
legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
January 18, 2022, 09:24:02 AM
#11
The interesting thing is, even to this day, there is no wallet that supports miniscript (not even Bitcoin Core) and that is considering Taproot has already been active. Could it just be a lack of developers?

Or lack of usage, there's no reason to support miniscript when software developer isn't their main target. Besides, Minsc (https://min.sc/) also exist which offer easier usage and have more star on GitHub (150 vs 106 stars).

Minaccia isca different project, as you said.
Incidentally, you can discuss it here:

New ""Tier Three"" Programming Language: Minsc

I guess the scope for this tool is to ease the miniscript development.
Can you guess there will be a Minsc Version too?

legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
January 18, 2022, 07:29:16 AM
#10
The interesting thing is, even to this day, there is no wallet that supports miniscript (not even Bitcoin Core) and that is considering Taproot has already been active. Could it just be a lack of developers?

Or lack of usage, there's no reason to support miniscript when software developer isn't their main target. Besides, Minsc (https://min.sc/) also exist which offer easier usage and have more star on GitHub (150 vs 106 stars).
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
January 17, 2022, 08:23:08 PM
#9
Damn it, when I saw this thread I literally thought this was something published today and not in 2019  Sad

The interesting thing is, even to this day, there is no wallet that supports miniscript (not even Bitcoin Core) and that is considering Taproot has already been active. Could it just be a lack of developers?
legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
January 17, 2022, 05:45:43 PM
#8
Today I stumbled on an interesting project, about a long-running bitcoin improvement:



Stepan gives us a wide range of applications, from the Peter Wuille website.

I do share my feeling toward this one:


Project GitHub:
https://github.com/stepansnigirev/miniscript-builder

The project is still in an early phase, but the roadmap is quite ambitious, including Taproot and Tapscript
legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
September 10, 2019, 06:58:03 AM
#7
Miniscript is not taking the place of Bitcoin script, but it's a layer on it, as I understand.
So let's say it is an option to be used to develop more complicated contracts, not the only way.
So you are not obliged to use it, if you don't like it.


legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
September 09, 2019, 01:58:48 PM
#6
By the look of this, I guess it's going to be a hell of a lot of constantly checking what all those abbreviations mean when you are formulating a script. I understand the gain in terms of versatility and decrease of size, but for me Bitcoin Script is way easier to read and see what's going on. I guess I will need to put in effort and practice a lot and maybe it becomes second nature with Miniscript, but for complex stuff I can already tell I will struggle with it for a while, maybe that is how my brain works, I like to see every "extended" on display with no shortcuts.

There are many ways to deals when there are many of abbreviations. Example :
Code:
or_d(c:pk(A),and_v(vc:pk_h(B),older(144)))
Code:
or_d(
    c:pk(A),
    and_v(
        vc:pk_h(B),
        older(144)
    )
)

I haven't tried miniscript, but if there's problem with space and enter usage, you could trim those before convert miniscript to bitcoin script.

Besides, it's far easier rather than familiarize yourself with stack-based programming. AFAIK Stack mostly used to store data these days.
staff
Activity: 3458
Merit: 6793
Just writing some code
September 08, 2019, 07:52:35 PM
#5
By the look of this, I guess it's going to be a hell of a lot of constantly checking what all those abbreviations mean when you are formulating a script. I understand the gain in terms of versatility and decrease of size, but for me Bitcoin Script is way easier to read and see what's going on. I guess I will need to put in effort and practice a lot and maybe it becomes second nature with Miniscript, but for complex stuff I can already tell I will struggle with it for a while, maybe that is how my brain works, I like to see every "extended" on display with no shortcuts.
For the most part, you won't be dealing with those abbreviations. The higher level policy language doesn't have those and the available policies actually have human readable names.

Even so, the actual miniscript language itself is far more readable and understandable than Bitcoin script itself. When you have a complex script, it is going to be very hard to actually reason about what it does. The miniscript representation of it will be far easier to understand as you can actually part it into an AST and break it down into individual parts to read. And even then, those annotations aren't even necessary for understanding what the policy is, that's why there is a policy language that omits them.

Also, there's like 5 or 6 abbreviations and you can quickly memorize them. It really isn't that complicated. If you think that Bitcoin script will be "way easier to read", I don't think you've even tried to use miniscript or have tried to make a complex script.
legendary
Activity: 1610
Merit: 1183
September 08, 2019, 07:20:42 PM
#4
I am not a übertechical user, but it looks interesting to me:
Bitcoin protocol is getting better.
Better bitcoin protocol means bitcoin is more valuable
Better bitcoin protocol means shitcoins (value propositions) are less valauable!

From what i've read and understood, it doesn't change Bitcoin protocol at all, it offers more friendly way to write Bitcoin script.
Regardless, it'll allow more people and developer use Bitcoin script.
Your understanding is correct.
Miniscript is a simpler way to use bitcoin script, that is part of the protocol, leaving it absolutely untouched.
In this sense is making protocol better: if more people and more developer use bitcoin script, it is going to be more widely used, being ultimately more useful, hence better.

Cointelegraph published an article detailing better:
 Segwit creator introduces new language for bitcoin smart contracts

Quote
While Miniscript is basically a reformulation of Bitcoin script and remains the same script language, it allows wallets and other software to construct and analyze scripts more effectively, Wuille explained on Reddit.
In the post, Wuille provided an example of how the same notation would look in basic Bitcoin script in comparison with one in Miniscript.




By the look of this, I guess it's going to be a hell of a lot of constantly checking what all those abbreviations mean when you are formulating a script. I understand the gain in terms of versatility and decrease of size, but for me Bitcoin Script is way easier to read and see what's going on. I guess I will need to put in effort and practice a lot and maybe it becomes second nature with Miniscript, but for complex stuff I can already tell I will struggle with it for a while, maybe that is how my brain works, I like to see every "extended" on display with no shortcuts.
legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
September 07, 2019, 06:07:10 PM
#3
Some new update by Peter Wuille and Andrew Poelstra:

Miniscript: Streamlined Bitcoin Scripting

Quote
We're excited to share our #engineering blog post about #Miniscript - a language for representing #Bitcoin Scripts in a structured way, enabling efficient analysis, composition, generic signing and more. 📜🖊️🔒 medium.com/blockstream/mi…

legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
August 21, 2019, 04:40:44 PM
#2
I am not a übertechical user, but it looks interesting to me:
Bitcoin protocol is getting better.
Better bitcoin protocol means bitcoin is more valuable
Better bitcoin protocol means shitcoins (value propositions) are less valauable!

From what i've read and understood, it doesn't change Bitcoin protocol at all, it offers more friendly way to write Bitcoin script.
Regardless, it'll allow more people and developer use Bitcoin script.
Your understanding is correct.
Miniscript is a simpler way to use bitcoin script, that is part of the protocol, leaving it absolutely untouched.
In this sense is making protocol better: if more people and more developer use bitcoin script, it is going to be more widely used, being ultimately more useful, hence better.

Cointelegraph published an article detailing better:
 Segwit creator introduces new language for bitcoin smart contracts

Quote
While Miniscript is basically a reformulation of Bitcoin script and remains the same script language, it allows wallets and other software to construct and analyze scripts more effectively, Wuille explained on Reddit.
In the post, Wuille provided an example of how the same notation would look in basic Bitcoin script in comparison with one in Miniscript.



legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
August 20, 2019, 01:38:57 AM
#1
Peter Wuille announces miniscript:

Quote
Just announced our Miniscript project website on the bitcoin-dev mailinglist: bitcoin.sipa.be/miniscript/
https://twitter.com/pwuille/status/1163592166062473217

Quote
Miniscript is a language for writing (a subset of) Bitcoin Scripts in a structured way, enabling analysis, composition, generic signing and more.

Bitcoin Script is an unusual stack-based language with many edge cases, designed for implementing spending conditions consisting of various combinations of signatures, hash locks, and time locks. Yet despite being limited in functionality it is still highly nontrivial to:

Given a combination of spending conditions, finding the most economical script to implement it.
Given two scripts, construct a script that implements a composition of their spending conditions (e.g. a multisig where one of the "keys" is another multisig).
Given a script, find out what spending conditions it permits.
Given a script and access to a sufficient set of private keys, construct a general satisfying witness for it.
Given a script, be able to predict the cost of spending an output.
Given a script, know whether particular resource limitations like the ops limit might be hit when spending.
Miniscript functions as a representation for scripts that makes these sort of operations possible. It has a structure that allows composition. It is very easy to statically analyze for various properties (spending conditions, correctness, security properties, malleability, ...). It can be targeted by spending policy compilers (see below). Finally, compatible scripts can easily be converted to Miniscript form - avoiding the need for additional metadata for e.g. signing devices that support it.


In the Twitter thread Peter Wuille details some use of this:

Quote
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.
Quote
Imagine a company wants to protect its cold storage funds using a 2-of-3 multisig policy with 3 executives. One of the executives however has a nice 2FA/multisig/timelock based setup on his own. Why can't that entire setup be one of the multisig "participants"?
Quote
A lot of work is focused on extensions to the functionality of the blockchain itself to support more complex application, but I feel we're forgetting that using these features in an accessible, composable, analyzable way is basically impossible today.

Miniscript Website: http://bitcoin.sipa.be/miniscript/

I am not an übertechical user, but it looks interesting to me:
The bitcoin protocol is getting better.
Better bitcoin protocol means bitcoin is more valuable
Better bitcoin protocol means shitcoins (value propositions) are less valuable!
Jump to: