This guide explains BIP 389 multipath descriptors 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 389 is a Draft Informational extension to BIP 380 descriptor key expressions. It permits one derivation path step to contain a tuple such as /, allowing a single descriptor to represent parallel receiving and change descriptors.
- Why it matters: BIP 389 can compact receive and change policy into one descriptor without losing deterministic expansion. Safe adoption requires strict tuple validation, explicit branch meaning and ordinary-descriptor exports for older wallets.
- Current position: BIP 389 is a Draft Informational extension to BIP 380 descriptor key expressions.
BIP 389 multipath descriptors in simple English
BIP 389 multipath descriptors: If several key expressions contain tuples, all tuples must have the same length. Position one from every tuple forms one descriptor, position two forms the next and so on.
Simple example
A node operator is checking BIP 389 multipath descriptors. Export expanded ordinary descriptors for software without multipath support, then compare derived scripts and addresses for each branch and several indexes before moving funds.
Key terms in plain English
- BIP:
- Bitcoin Improvement Proposal: a document describing a proposed rule, standard or process. Its status must be checked separately.
- Bitcoin Core:
- Widely used software that validates Bitcoin and can provide wallet, network and operator tools.
- Node:
- A computer running Bitcoin software that checks data and communicates with other peers.
Status and dependency
BIP 389 remains Draft and requires BIP 380. Parser support must be checked explicitly; older software may reject the tuple syntax even when it understands the expanded descriptors.
Tuple syntax
An extended-key path may contain zero or one angle-bracket tuple with two or more semicolon-separated derivation values. Values may use supported hardened suffix forms.
Expansion
/<0;1> produces two descriptors: the first uses branch zero and the second branch one. Wallets commonly interpret these as receive and change, but the syntax itself represents ordered alternatives.
Lockstep rule
If several key expressions contain tuples, all tuples must have the same length. Position one from every tuple forms one descriptor, position two forms the next and so on.
Validation
Reject duplicate values within a tuple, more than one tuple per key expression, mismatched tuple lengths, malformed brackets, overflow indexes and a wildcard outside its permitted final position.
Recovery
Back up the canonical checksummed multipath descriptor, key origins, range and next indexes, and document ordered branch meaning. Public xpub material remains privacy-sensitive.
Compatibility
Export expanded ordinary descriptors for software without multipath support, then compare derived scripts and addresses for each branch and several indexes before moving funds. Build a revision-pinned evidence pack on an isolated node, wallet or protocol harness. Record source commit, binary hash, network, chain identity, configuration and dependencies.
Frequently asked questions
What is the main point of BIP 389 multipath descriptors?
BIP 389 multipath descriptors: If several key expressions contain tuples, all tuples must have the same length.
For BIP 389 multipath descriptors, what should a beginner know about status and dependency?
BIP 389 remains Draft and requires BIP 380. Parser support must be checked explicitly.
For BIP 389 multipath descriptors, what should a beginner know about tuple syntax?
An extended-key path may contain zero or one angle-bracket tuple with two or more semicolon-separated derivation values.
For BIP 389 multipath descriptors, what should a beginner know about expansion?
/ produces two descriptors: the first uses branch zero and the second branch one.
Conclusion
BIP 389 can compact receive and change policy into one descriptor without losing deterministic expansion. Safe adoption requires strict tuple validation, explicit branch meaning and ordinary-descriptor exports for older wallets.
Primary sources
- BIP 389 Multipath Descriptor Key Expressions
- BIP 380 Output Script Descriptors General Operation
- Bitcoin Core descriptor documentation
Check the current specification status and the documentation for the exact implementation you operate before moving production funds or changing a mining node.
Join the ASIC Mining Discussion
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.
Membership helps us protect the discussion from spam and keep answers useful.