Descriptor bukan alamat, seed, atau berkas wallet. Ekspresi seperti wpkh(...) menetapkan tipe scriptPubKey, sumber kunci, derivation, dan range opsional; index terakhir dan scan birthday harus dicadangkan terpisah.
Output Descriptor menjelaskan sekumpulan scriptPubKey dan informasi untuk menurunkan atau membelanjakannya. wpkh(KEY) berarti output SegWit native. Ia bukan alamat Bitcoin, seed, ataupun backup wallet lengkap.
pk(), pkh(), wpkh(), sh(), wsh(), addr(), dan raw() menentukan skrip output secara tepat. Susunan sh(wpkh(KEY)) mengubah scriptPubKey dan alamat; xpub yang sama dalam wrapper berbeda mendefinisikan wallet berbeda.
Kunci dapat memuat origin [fingerprint/path], lalu xpub dan derivation lanjutan. Key origin membantu signer mencocokkan jalur, tetapi fingerprint bukan identitas kriptografis atau autentikasi perangkat; verifikasi export melalui kanal tepercaya.
Wildcard /* membuat ranged descriptor dan memerlukan range saat derivation. Multipath <0;1> dapat menggabungkan cabang receive dan change. Descriptor sendiri tidak menyimpan next index, alamat terpakai, gap limit, atau scan birthday.
Delapan karakter setelah # adalah descriptor checksum BIP 380. Ia mendeteksi banyak salah ketik dan pertukaran, tetapi bukan tanda tangan, enkripsi, atau bukti asal; setelah mengubah ekspresi orang dapat menghitung checksum valid baru.
Descriptor publik dengan xpub memungkinkan pemantauan dan derivation tanpa signing. Jika berisi xprv, WIF, atau materi privat, ia dapat memungkinkan pengeluaran dan harus dilindungi seperti seed. getdescriptorinfo memberi bentuk publik kanonis dan hasprivatekeys.
multi(k,...) mempertahankan urutan kunci; mengubah urutan mengubah skrip dan alamat. sortedmulti(k,...) mengurutkan kunci secara leksikografis pada setiap derivation. Backup harus menyimpan threshold, semua cosigners, key origins, dan wrapper; satu seed tidak cukup.
tr(KEY) menjelaskan Taproot key path; tr(KEY,TREE) menambahkan pohon script path. Bentuk pohon mengubah Merkle root dan alamat, jadi daftar skrip tanpa urutan tidak cukup. Miniscript atau multi_a dapat menyatakan syarat, tetapi bukan pengganti descriptor lengkap.
importdescriptors menerima descriptor ber-checksum beserta metadata timestamp, active, internal, range, dan next_index. timestamp mengatur awal scan; birthday terlambat menyembunyikan riwayat sampai rescan benar. Tidak semua status wallet berada dalam ekspresi.
Sebelum menerima dana, jalankan getdescriptorinfo dan periksa checksum, isrange, issolvable, dan hasprivatekeys. Gunakan deriveaddresses untuk beberapa alamat eksternal dan change, lalu bandingkan dengan wallet sumber atau layar hardware wallet. Uji pemulihan lengkap terlebih dahulu. Sumber: 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.
Untuk gambaran yang lebih utuh, baca entri ini bersama Dompet, Watch-only Wallet, Multisig, PSBT, Miniscript, Bitcoin. Entri ini juga dirujuk dari Watch-only Wallet, Extended Public Key (xpub), PSBT, Miniscript.