Skip to main content
£0.00 0

Basket

No products in the basket.

ASIC mining articles and advice

BIP 390 musig() Descriptor Key Expression: Draft Guide

BIP 390 guide to the Draft musig() descriptor key expression, allowed Taproot contexts, derivation, KeySort, aggregate child keys and compatibility.

BIP 390 musig() Descriptor Key Expression guide cover

This guide explains BIP 390 musig() Descriptor Key Expression in plain English. It covers the problem behind the BIP, why it matters and whether the proposal is part of Bitcoin today.

TL;DR

  • What it is: BIP 390 is a Draft informational specification for expressing a MuSig2 aggregate public key inside output script descriptors. The musig() expression accepts several descriptor keys, applies their child derivation, sorts the resulting public keys with KeySort and aggregates them using BIP 327.
  • Why it matters: BIP 390 can give MuSig2 wallets a concise, reproducible policy description. Until the Draft stabilises, deployments should pin the grammar, preserve complete descriptors and verify derived Taproot outputs across independent implementations.
  • Current position: BIP 390 is a Draft informational specification for expressing a MuSig2 aggregate public key inside output script descriptors.

BIP 390 musig() Descriptor Key Expression in simple English

BIP 390 musig() Descriptor Key Expression: BIP 390 is Draft, Informational, version 0.2.0. Wallet exports must retain a version and should not imply that every descriptor implementation accepts the expression.

Simple example

A node operator is checking BIP 390 musig() Descriptor Key Expression. The derived keys are then ordered with KeySort before aggregation, so sorting original xpub strings is incorrect.

Key terms in plain English

BIP:
Bitcoin Improvement Proposal: a document describing a proposed rule, standard or process. Its status must be checked separately.
Taproot:
A Bitcoin upgrade that added new signature and script options for spending outputs.
Node:
A computer running Bitcoin software that checks data and communicates with other peers.

Status

BIP 390 is Draft, Informational, version 0.2.0. Wallet exports must retain a version and should not imply that every descriptor implementation accepts the expression.

Allowed contexts

musig() can be used as a key expression inside tr(), rawtr() or sp(). It cannot be nested inside another musig() expression.

Derive then sort

Each participant key performs its specified derivation first. The derived keys are then ordered with KeySort before aggregation, so sorting original xpub strings is incorrect.

BIP 390 musig() Descriptor Key Expression technical diagram
Derive then sort: the fields, validation boundary and operational evidence that implementations need to agree.

Per-index aggregation

When participant expressions contain a wildcard, a new aggregate key is computed for every child index. All devices must derive the same branch and index.

Aggregate derivation form

A path following musig() derives from the synthetic aggregate xpub described by BIP 328. Participant keys must be xpub-based and cannot also contain wildcard or multipath derivation.

No hardened aggregate path

Because no aggregate private key exists, derivation after musig() is unhardened only. Reject hardened markers anywhere in that aggregate path.

How specialists test it

Developers test the proposal with made-up data on an isolated test network. They check normal cases and deliberately invalid cases. Different implementations should reach the same result before anyone relies on the proposal.

Frequently asked questions

What is the main point of BIP 390 musig() Descriptor Key Expression?

BIP 390 musig() Descriptor Key Expression: BIP 390 is Draft, Informational, version 0.2.0.

For BIP 390 musig() Descriptor Key Expression, what should a beginner know about status?

BIP 390 is Draft, Informational, version 0.2.0. Wallet exports must retain a version and should not imply that every descriptor implementation accepts the expression.

For BIP 390 musig() Descriptor Key Expression, what should a beginner know about allowed contexts?

musig() can be used as a key expression inside tr(), rawtr() or sp().

For BIP 390 musig() Descriptor Key Expression, what should a beginner know about derive then sort?

Each participant key performs its specified derivation first. The derived keys are then ordered with KeySort before aggregation, so sorting original xpub strings is incorrect.

Conclusion

BIP 390 can give MuSig2 wallets a concise, reproducible policy description. Until the Draft stabilises, deployments should pin the grammar, preserve complete descriptors and verify derived Taproot outputs across independent implementations.

Primary sources

Check the current specification status and the documentation for the exact implementation you operate before moving production funds or changing a mining node.

ASIC MINER PICKS

Recommended ASIC Mining Hardware

Compare three of our highest ranked ASIC miners currently available, with live product details and pricing.
Overall ranking
Equihash
·
ZEC
Overall rank#1of 100AvailableAll: #3 / 831
Bitmain Antminer Z15K 525KSol Equihash Zcash Miner
Bitmain
Pre-Order
Hashrate
525KSOL
Efficiency
4.73W/KSOL
Power
2483W
Earns/kWh
41.7p
Free Shipping
Price · delivered
£6,050.00
ex VAT
Est. per month
£755.32
Payback 8 Months
Overall ranking
Equihash
·
ZEC
Overall rank#2of 100AvailableAll: #5 / 831
Bitmain Antminer Z15 Pro 840KSol Equihash Zcash Miner
Bitmain
In stock
Hashrate
840KSOL
Efficiency
3.3W/KSOL
Power
2772W
Earns/kWh
59.8p
Price · delivered
£12,505.00
ex VAT
Est. per month
£1208.50
Payback 10.3 Months
Overall ranking
SHA-256
·
BTC
Overall rank#6of 100AvailableAll: #11 / 831
Bitmain Antminer S23e Hydro 2U 865Th SHA-256 Bitcoin Miner
Bitmain
Pre-Order
Hashrate
865TH
Efficiency
10W/TH
Power
8650W
Earns/kWh
13.2p
Free Shipping
Price · delivered
£9,382.50
ex VAT
Est. per month
£834.31
Payback 11.2 Months
Browse all ASIC miners
MORE MINING ADVICE

More ASIC Mining Articles

Read practical advice about choosing hardware, calculating electricity costs, setting up miners, hosting and maintenance.
MINER COMMUNITY

Join the ASIC Mining Discussion

Ask a question or share what has worked for you. Your experience may help another miner make a better decision.

Members can read and join the discussion

Log in to read comments from other miners. Create a free account if you would like to ask a question or share your experience.

Log in to read comments Register to join the discussion

Membership helps us protect the discussion from spam and keep answers useful.

ASIC MINING SUPPORT

Need Help Choosing an ASIC Miner?

Tell us what you want to mine, your electricity cost and where the machine will run. We can help you compare hardware, power requirements, hosting and repairs.
Contact our mining team
Browse ASIC miners