61 / 691DESC

Output Descriptor

Výstupní descriptor

Output Descriptor je strojově čitelný popis množiny bitcoinových výstupních skriptů a klíčů potřebných k jejich odvozování. Umožňuje peněžence přesně obnovit adresní politiku, ne pouze jeden klíč nebo jednu adresu.

Descriptor není adresa, seed ani soubor peněženky. Výraz jako wpkh(...) určuje typ scriptPubKey, zdroj klíčů, derivaci a případně rozsah; další stav peněženky, například poslední použitý index a datum začátku skenu, se musí zálohovat zvlášť.

Output Descriptor popisuje množinu scriptPubKey a informace potřebné k jejich odvození či utracení. wpkh(KEY) znamená nativní SegWit výstupy z daného klíče. Samotný descriptor není bitcoinová adresa, seed ani kompletní záloha peněženky.

Funkce pk(), pkh(), wpkh(), sh(), wsh(), addr() a raw() určují přesný výstupní skript. Vnoření, například sh(wpkh(KEY)), mění scriptPubKey i adresu; stejný xpub v jiné obálce proto vytváří jinou peněženku.

Klíč může nést původ [fingerprint/path] následovaný xpub a další derivací. Key origin pomáhá signeru poznat správnou cestu, ale fingerprint není kryptografická identita ani autentizace zařízení; export je nutné ověřit důvěryhodným kanálem.

Wildcard /* vytváří ranged descriptor a při odvozování vyžaduje range. Multipath zápis jako <0;1> může spojit přijímací a change větev. Descriptor však sám neuchovává next index, použité adresy, gap limit ani birthday skenu.

Osm znaků za # je descriptor checksum podle BIP 380. Zachytí mnoho překlepů, záměn a přesunů znaků, ale není podpis, šifrování ani důkaz původu; po úmyslné změně lze vypočítat nový správný checksum.

Public descriptor s xpub umožní sledování a odvozování bez podpisu. Descriptor obsahující xprv, WIF nebo jiný privátní materiál umožňuje utrácení a musí být chráněn jako seed. getdescriptorinfo vrací kanonickou veřejnou podobu a příznak hasprivatekeys.

multi(k,...) zachovává uvedené pořadí klíčů, takže jeho změna mění skript i adresy. sortedmulti(k,...) klíče v každém odvození lexikograficky seřadí. Záloha musí zachovat threshold, všechny cosignery, key origins i obálku; jeden seed nestačí.

tr(KEY) popisuje Taproot key path; tr(KEY,TREE) přidává strom script path. Tvar stromu ovlivňuje Merkle root i adresu, proto nestačí seznam skriptů bez struktury. Miniscript nebo multi_a mohou vyjádřit podmínky, ale nenahrazují úplný descriptor.

importdescriptors přijímá descriptor s checksumem a metadata timestamp, active, internal, range a next_index. Timestamp řídí začátek skenu; příliš pozdní birthday může skrýt starší historii, dokud neproběhne správný rescan. Tato metadata nejsou všechna součástí výrazu.

Před přijetím prostředků spusťte getdescriptorinfo a zkontrolujte checksum, isrange, issolvable a hasprivatekeys. Pomocí deriveaddresses odvoďte několik externích i change adres a porovnejte je se zdrojovou peněženkou nebo displejem hardware wallet. Otestujte obnovu celé zálohy. Prameny: BIP 380 — Generic Output Script Descriptors; BIP 383 — multi() and sortedmulti() Descriptors; BIP 386 — tr() Output Script Descriptors; Bitcoin Core — Output Descriptors; Bitcoin Core RPC — importdescriptors.

Pro nejúplnější obraz čtěte toto heslo společně s Bitcoinová peněženka, Watch-only Wallet, Multisig, PSBT, Miniscript, Bitcoin. Opačným směrem na něj odkazují také Watch-only Wallet, Extended Public Key (xpub), PSBT, Miniscript.

DOC · 001BIP 380 — Generic Output Script DescriptorsSpecifikaceDOC · 002BIP 383 — multi() and sortedmulti() DescriptorsSpecifikaceDOC · 003BIP 386 — tr() Output Script DescriptorsSpecifikaceDOC · 004Bitcoin Core — Output DescriptorsDokumentaceDOC · 005Bitcoin Core RPC — importdescriptorsDokumentace
Ověřeno 1. srpna 2026Primární zdroje · Nejde o investiční doporučení