Адрес Bitcoin — зависящее от сети представление стандартного скрипта с checksum. P2PKH/P2SH используют Base58Check, SegWit v0 — Bech32, witness v1–16 — Bech32m. Он не хранит bitcoin и не доказывает личность: UTXO запираются скриптами.
Выход содержит сумму и байты scriptPubKey, но не строку адреса. Кошелёк проверяет сеть/checksum и строит скрипт; explorer обратно показывает адрес только для узнаваемых шаблонов. Ранний P2PK и нестандартный скрипт могут не иметь канонического адреса. [Bitcoin whitepaper — Transactions and Privacy] [Bitcoin Core — destination encoders and decoders]
Base58Check соединяет версию и payload, добавляет четыре байта SHA256(SHA256(data)) и кодирует Base58. В mainnet 0x00=P2PKH и 0x05=P2SH, обычно начало 1 и 3; тестовые сети иные. Исключены 0/O/I/l. 32-битный checksum ловит ошибки, но не подписывает и не аутентифицирует. [Bitcoin Core — Base58Check implementation] [Bitcoin Core — destination encoders and decoders]
Bech32 состоит из HRP bc/tb, разделителя 1, witness-версии, 5-битных данных и шести символов checksum. BIP173 только для v0; после обнаружения слабости вставки BIP350 требует Bech32m для v1–16. Регистр единый, не смешанный; максимум 90 символов. Валидность не означает верную сеть или поддержку версии. [BIP 173 — Base32 address format for native v0 witness outputs] [BIP 350 — Bech32m format for witness v1 and later]
P2PKH/P2WPKH фиксируют HASH160 ключа, P2SH — HASH160 redeemScript, P2WSH — SHA256 witnessScript. BIP141 v0: 20 байт P2WPKH либо 32 P2WSH. P2TR v1 содержит 32-байтный tweaked x-only output key Q и может фиксировать Merkle-корень скриптов. Полная политика не видна. [BIP 141 — Segregated Witness consensus layer] [BIP 341 — Taproot validation and output keys]
P2PK сразу раскрывал ключ, P2PKH отложил это до траты. BIP13/16 создали P2SH, BIP141/173 — witness и Bech32 v0, BIP341/350 — Taproot v1 и Bech32m. Это изменения скрипта/консенсуса, не косметика; ручная конверсия может изменить условие или навсегда запереть средства. [BIP 13 — Address Format for pay-to-script-hash] [BIP 16 — Pay to Script Hash] [BIP 141 — Segregated Witness consensus layer] [BIP 173 — Base32 address format for native v0 witness outputs] [BIP 350 — Bech32m format for witness v1 and later] [BIP 341 — Taproot validation and output keys]
BIP32 выводит много ключей. BIP44 использует purpose 44' для P2PKH, BIP84 84' для P2WPKH, BIP86 86' для P2TR; далее account, external/change и index. Seed может не содержать type/path/accounts/multisig. Output descriptors лучше сохраняют происхождение и скрипт; восстановление надо проверять. [BIP 32 — Hierarchical deterministic wallets] [BIP 44 — Multi-account hierarchy] [BIP 84 — Derivation for native P2WPKH] [BIP 86 — Derivation for single-key P2TR] [Bitcoin Core — Output descriptors]
P2PKH/P2WPKH при трате обычно раскрывают public key; P2SH/P2WSH — redeemScript/witnessScript. P2TR уже содержит tweaked x-only key: key path показывает Schnorr-подпись, script path — leaf, control block и Merkle path, но не неиспользованные leaves. Адрес не всегда скрывает ключ. [BIP 141 — Segregated Witness consensus layer] [BIP 341 — Taproot validation and output keys]
Повтор адреса связывает платежи и усиливает clustering; кошельки создают новый external адрес и internal change. Адрес не равен человеку. Explorer ‘balance’ суммирует UTXO распознанного скрипта, это не поле consensus account; common-input/change — ошибающиеся эвристики. [Bitcoin whitepaper — Transactions and Privacy] [Bitcoin Core — Output descriptors]
Проверяются checksum, сеть, регистр и v0/Bech32 против v1+/Bech32m. Clipboard malware или подменённый QR всё равно дадут другой валидный адрес. Проверяйте всю строку на доверенном hardware display и при необходимости тестируйте; только края уязвимы для look-alike. Подтверждённую ошибку протокол не отменяет. [Bitcoin Core — Base58Check implementation] [BIP 173 — Base32 address format for native v0 witness outputs] [BIP 350 — Bech32m format for witness v1 and later]
Адрес не равен BIP21 URI bitcoin: с amount/label/message, а также Lightning invoice, offer или Lightning Address. BIP322 доказывает контроль скрипта по схеме, не личность и не всю собственность. Для backup политик нужен descriptor или экспорт кошелька. [BIP 21 — URI scheme] [BIP 322 — Generic signed message format] [Bitcoin Core — Output descriptors]
Для полной картины прочитайте эту статью вместе с Приватный ключ, Кошелёк, Выход сдачи, Bitcoin, SegWit, Taproot. На эту статью также ссылаются Криптографический хеш, SHA-256, Cold Storage, Watch-only Wallet.
01Является ли адрес Bitcoin номером счёта?+
Нет. Кошелёк выводит из адреса блокирующий скрипт выхода, например scriptPubKey. Один кошелёк может управлять многими адресами; сам адрес не доказывает ни личность, ни контроль средств.
02Можно ли безопасно использовать адрес Bitcoin повторно?+
Следующий платёж на тот же адрес может быть действительным, но связывает поступления с одним скриптом. Для каждого получения используйте новый адрес, созданный кошельком; даже это не гарантирует анонимности. Новый адрес не отменяет старые, но для расходования их выходов по-прежнему нужны соответствующие ключи и выполнение условий скрипта.