
xpub (расширенный публичный ключ) — публичный ключ вместе с «цепным кодом» (chain code), который позволяет программе вычислить все публичные ключи и адреса одного счёта кошелька без права тратить. Отдайте xpub кошельку только для наблюдения (watch-only), программе учёта или платёжному серверу — и они покажут баланс и будут создавать новые адреса получения, а приватные ключи останутся на вашем устройстве. Цена — приватность: владелец xpub видит каждый адрес, каждую транзакцию и весь баланс этого счёта.
Откуда берётся xpub
Современные кошельки — иерархические детерминированные (HD), описанные в BIP32. Из сид-фразы они выводят мастер-ключ, а из него — дерево дочерних ключей. Любую ветку можно экспортировать как расширенный ключ: расширенный приватный (xprv) позволяет тратить, расширенный публичный (xpub) — только вычислять публичные ключи и адреса. Обычно кошельки экспортируют xpub уровня счёта, например m/84'/0'/0', — см. что такое путь деривации.
xpub, ypub, zpub: одно и то же, разный тип адресов
Буквы в начале говорят, какие адреса Bitcoin кошелёк должен создавать из ключа. Ключевой материал тот же; префикс — соглашение (SLIP-132), чтобы программа при импорте выбрала правильный тип скрипта.
| Префикс | Тип адреса | Адреса начинаются с | Стандарт |
|---|---|---|---|
| xpub | Legacy P2PKH (или общий) | 1… | BIP44 |
| ypub | Вложенный SegWit P2SH-P2WPKH | 3… | BIP49 |
| zpub | Native SegWit P2WPKH | bc1q… | BIP84 |
| Ypub / Zpub | Варианты для мультиподписи | 3… / bc1q… (длинные) | SLIP-132 |
| дескриптор tr(…) | Taproot | bc1p… | BIP86, BIP380 |
Taproot-кошельки обычно экспортируют не новый префикс, а дескриптор, например tr([fingerprint/86'/0'/0']xpub…/0/*). Дескрипторы становятся стандартным способом описать любой кошелёк, включая мультиподпись.
Для чего используют xpub
- Кошельки только для наблюдения на телефоне или компьютере: показывают баланс и создают адреса получения, пока аппаратный кошелёк лежит в ящике.
- Платёжные серверы вроде BTCPay Server: создают новый адрес для каждого счёта из xpub продавца, не храня приватных ключей.
- Программы учёта и налогов: импортируют полную историю счёта.
- Координация мультиподписи: xpub каждого подписанта — часть описания кошелька, см. мультиподпись.
Приватность: почему не стоит публиковать xpub
Из xpub вычисляется каждый адрес счёта, поэтому его владелец может найти их все в обозревателе: прошлые платежи, текущий баланс и все будущие адреса получения. Поделиться xpub с сервисом — значит поделиться с ним финансовой историей; если сервис взломают или он продаст данные, история утечёт. Давайте xpub только программам, которые запускаете сами, или тем, кому доверяете как своей банковской выписке.
Безопасность: xpub плюс один приватный ключ
Сам по себе xpub тратить не может. Но у BIP32 есть известное свойство: при обычной (не усиленной) деривации xpub вместе с любым одним дочерним приватным ключом ниже него позволяет вычислить родительский расширенный приватный ключ — а значит, все ключи счёта. Кошельки защищаются усиленной (hardened) деривацией — апостроф в 84' — на уровне счёта и выше и не экспортируют отдельные приватные ключи без нужды. Практическое правило: никогда не передавайте никому xpub и приватный ключ одного и того же счёта и не импортируйте экспортированный приватный ключ в сервис, у которого уже есть ваш xpub.
xpub и обмен
Обменнику xpub не нужен. Для выплаты в KOT.CASH вы вставляете один адрес получения; его можно взять из кошелька для наблюдения, построенного по вашему xpub, — удобный способ получить на аппаратный кошелёк, не подключая его. Но перед крупной суммой один раз сверьте адрес на самом устройстве: взломанное приложение для наблюдения может показать неверный адрес.
Частые вопросы
Можно украсть биткоины с помощью моего xpub?
Одним xpub — нет. Он раскрывает адреса и баланс. Вместе с одним дочерним приватным ключом обычной деривации он может раскрыть весь счёт.
Чем xpub отличается от zpub?
Это тот же ключ с другим префиксом, который говорит программе создавать адреса native SegWit (bc1q) вместо legacy.
Где найти свой xpub?
В сведениях о счёте или настройках экспорта кошелька: его показывают Sparrow, Electrum, Ledger Live, Trezor Suite.
Безопасно ли дать xpub бухгалтеру?
Для средств — да, но вы раскрываете всю историю транзакций этого счёта. Давайте только тому, кому доверяете эти сведения.
Есть ли xpub у кошельков Ethereum?
HD-кошельки Ethereum внутри используют BIP32, но пользователи Ethereum обычно работают с отдельными адресами; экспорт xpub — в основном практика мира Bitcoin.