Open NicolasDorier opened 3 years ago
Yes, eventually.
But really this work should get integrated into Bitcoin Core first, things are blocked on that to make more progress.
Note that there already is tr() descriptor support independent of miniscript - it'll eventually be able to plug in there.
This work
, you mean miniscript integrated to bitcoin core?
I think it's quite unrelated.
Now that taproot is locked in, protocols built on top of bitcoin will evolve, and if those protocol could express their scripts as a miniscript rather than several handcrafted tap scripts, I think it would make it harder to shoot themselves in the foot, easier to review.
If you wait miniscript to be integrated to bitcoin core first before starting taproot integration in this repo, I fear those protocols will fallback to hand crafted scripts when being rewritten.
This repository (and Miniscript as a research project in general) is different things, so it depends what you're talking about:
tr()
descriptors (already done, and unrelated to Miniscript; see https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md), though some aspects are missing (in particular, easy construction of descriptors without intended key path spend).So while I don't think it's much work per se to extend the Miniscript "specification" to support Taproot & BIP342 scripts, it's unclear to me how useful that is without implementations that can deal with it and target it. And at least as far as the C++ implementation here is concerned, I'd very much want to see it further along in integrating into Bitcoin Core before adding even more here. Rust-miniscript may be in a better position to start adding support for that.
Will miniscript be adapted for taproot? I guess a few things should change for taproot, as now we need the tap scripts, and not using OP_CHECKMULTISIG.