Watch-only — граница возможностей: известны public keys, scripts или descriptors, но нет signing secret. Wallet считает balance и создаёт PSBT, расход разрешает отдельный signer. Удаление keys с online coordinator снижает удалённую кражу, но не гарантирует правдивость его данных.
Wallet распознаёт outputs известных scripts, следит за confirmations и суммирует UTXO. Она не доказывает владение keys, не подписывает и сама не подтверждает лучший chain. Balance относится лишь к найденному watch set; одна address и descriptor wallet имеют разное покрытие. [Bitcoin Core RPC — createwallet] [Bitcoin Core RPC — importdescriptors]
Импорт address следит за одним script без будущих receive/change. Account xpub выводит non-hardened children, но не задаёт P2PKH, SegWit, Taproot, internal branch или threshold. Это делает descriptor. Экспортируйте верный account/network/script type, не угадывайте path. [BIP 32 — Hierarchical Deterministic Wallets] [BIP 380 — Output Script Descriptors] [Bitcoin Core — Output Descriptors]
BIP380 описывает множества output scripts. wpkh([fingerprint/path]xpub…/0/*)#checksum содержит template, origin, branch, wildcard и checksum; tr() — BIP386, multipath — BIP389. Checksum ловит ошибку, не удостоверяет источник. xprv отменяет watch-only. [BIP 380 — Output Script Descriptors] [BIP 386 — tr() Output Script Descriptors] [BIP 389 — Multipath Descriptor Key Expressions] [Bitcoin Core — Output Descriptors]
HD wallets обычно имеют /0/* receive и /1/* change. Без internal пропадает change; малый range или отставший next_index скрывает deposits. Несинхронные coordinators повторяют адреса. Синхронизируйте состояние и проверяйте address на display signer. [BIP 389 — Multipath Descriptor Key Expressions] [Bitcoin Core RPC — importdescriptors]
importdescriptors использует timestamp: now пропускает историю, 0 сканирует от genesis. Range, active/internal, доступность blocks и pruning влияют на вид. Пустой balance не означает потерю keys. Сохраните birthday/height и сравните recovery с известными transactions. [Bitcoin Core RPC — importdescriptors] [Bitcoin Core — Offline Signing Tutorial]
Coordinator выбирает UTXO, destination, fee и change и создаёт PSBT. BIP174 передаёт offline signer outputs, scripts и paths. На trusted display проверьте destinations, amounts, fee, sighash, change; до broadcast сверьте final transaction. [BIP 174 — Partially Signed Bitcoin Transaction Format] [Bitcoin Core — Offline Signing Tutorial]
xpub не расходует, но раскрывает non-hardened descendants и позволяет связать прошлые/будущие addresses, balances, timing и change. Запросы чужому server тоже раскрывают watch set. Собственный full node, разделение accounts, минимум копий и защита descriptors/labels снижают утечку. [BIP 32 — Hierarchical Deterministic Wallets] [Bitcoin Optech — Output Script Descriptors] [Sparrow Wallet — Quick Start Guide]
BIP32: parent xpub плюс non-hardened child private key позволяет восстановить parent private key. xpub один недостаточен; сочетание компрометирует branch. Hardened граница над account ограничивает ущерб. Не импортируйте xprv или seed. [BIP 32 — Hierarchical Deterministic Wallets]
Multisig требует threshold, script type, все cosigner xpubs, origins, order и обе branches. Seeds без descriptor могут дать другие addresses. Проверьте policy/address на каждом signer, сохраните checksummed configuration и защищайте общий graph. [BIP 380 — Output Script Descriptors] [Bitcoin Core — Multisig Tutorial]
Отдельно сохраните receive/change descriptors, origins, network, birthday, range, labels и policy. BIP329 переносит labels, не policy. Проверьте import, rescan, addresses, UTXO, PSBT, signature и final transaction. Watch-only наблюдает, но не разрешает расход. [BIP 329 — Wallet Labels Export Format] [Bitcoin Core RPC — importdescriptors] [Electrum — Cold Storage]
Для полной картины прочитайте эту статью вместе с Extended Public Key (xpub), Кошелёк, Cold Storage, Output Descriptor, PSBT, Bitcoin. На эту статью также ссылаются HD Wallet, Cold Storage, Extended Public Key (xpub), Output Descriptor.