Префикс показывает script, а не получателя

  • 1 обычно обозначает legacy P2PKH; 3 — P2SH и потому не доказывает, что внутри именно nested SegWit.
  • bc1q использует Bech32 для witness version 0, а witness versions 1–16 должны использовать Bech32m; стандартный Taproot P2TR — version 1 и обычно начинается с bc1p.
  • Адрес нельзя безопасно «перевести» в другой формат заменой префикса: кошелёк получателя должен создать подходящий script и подтвердить контроль над ним.
Основные форматы адресов Bitcoin mainnet
Как начинаетсяEncodingОбычно кодируетГлавная оговорка
1…Base58CheckLegacy P2PKHСовместим широко, но не использует SegWit witness format
3…Base58CheckP2SH, включая P2SH-P2WPKHНе каждый адрес 3… является nested SegWit
bc1q…Bech32Native SegWit v0: P2WPKH или P2WSHТип определяется длиной witness program
bc1p…Bech32mWitness v1; стандартный 32-byte program — P2TRПрефикс без полной decoding-проверки недостаточен
Основные форматы адресов Bitcoin mainnet
Как начинается
1…
Encoding
Base58Check
Обычно кодирует
Legacy P2PKH
Главная оговорка
Совместим широко, но не использует SegWit witness format
Как начинается
3…
Encoding
Base58Check
Обычно кодирует
P2SH, включая P2SH-P2WPKH
Главная оговорка
Не каждый адрес 3… является nested SegWit
Как начинается
bc1q…
Encoding
Bech32
Обычно кодирует
Native SegWit v0: P2WPKH или P2WSH
Главная оговорка
Тип определяется длиной witness program
Как начинается
bc1p…
Encoding
Bech32m
Обычно кодирует
Witness v1; стандартный 32-byte program — P2TR
Главная оговорка
Префикс без полной decoding-проверки недостаточен

Адрес кодирует условие создания output

Когда отправитель платит на адрес, wallet декодирует строку и строит scriptPubKey — условие, при котором новый UTXO можно будет потратить. Поэтому адрес ближе к компактной платёжной инструкции, чем к банковскому счёту. Один wallet способен создавать много адресов разных типов, а один человек — контролировать множество UTXO.

Legacy P2PKH начинается с 1 и тратится через public key hash

P2PKH — pay to public key hash — относится к формату до SegWit. Mainnet address кодируется Base58Check и обычно начинается с 1. При трате input раскрывает signature и public key, а script проверяет соответствие hash и подписи. Такой адрес остаётся действительным; слово legacy описывает конструкцию, а не истечение срока.

Что можно заключить по 1…

  • получатель просит создать P2PKH output в Bitcoin mainnet, если вся строка валидна;
  • будущий input будет учитывать legacy serialization, а не witness discount;
  • строка не сообщает, является ли wallet custodial и кто хранит private key;
  • checksum не подтверждает, что адрес получен от нужного человека.

Адрес 3 скрывает script hash, а не обязательно SegWit

BIP-13 назначил mainnet P2SH version byte 5, который после Base58Check даёт начало 3. P2SH фиксирует hash redeemScript. После появления SegWit в такой redeemScript стали помещать witness program — так работает nested SegWit, например P2SH-P2WPKH. Старые отправители видят обычный P2SH output, а обновлённый получатель тратит его с witness.

bc1q — нативный witness version 0 с Bech32 checksum

BIP-173 задаёт human-readable part bc для mainnet, разделитель 1 и data part. Символ q после bc1 кодирует witness version 0. Program длиной 20 bytes означает P2WPKH, а 32 bytes — P2WSH. У нативного witness output scriptSig пуст, поэтому нет P2SH wrapper и связанных с ним дополнительных bytes.

Как читать части bc1q-адреса
ЧастьСмыслПроверка
bcHuman-readable part Bitcoin mainnetНе путать с tb testnet
1Разделитель HRP и данныхБерётся последний допустимый separator
qЗакодированная witness version 0Для v0 нужен Bech32, не Bech32m
DataWitness program в base32После decoding допустимы 20 или 32 bytes
Последние 6 символовChecksumНе несут payload и должны пройти polymod check
Как читать части bc1q-адреса
Часть
bc
Смысл
Human-readable part Bitcoin mainnet
Проверка
Не путать с tb testnet
Часть
1
Смысл
Разделитель HRP и данных
Проверка
Берётся последний допустимый separator
Часть
q
Смысл
Закодированная witness version 0
Проверка
Для v0 нужен Bech32, не Bech32m
Часть
Data
Смысл
Witness program в base32
Проверка
После decoding допустимы 20 или 32 bytes
Часть
Последние 6 символов
Смысл
Checksum
Проверка
Не несут payload и должны пройти polymod check

bc1p использует новую checksum-константу для witness version 1

BIP-350 сохранил структуру Bech32, но ввёл Bech32m checksum: version 0 продолжает использовать Bech32, versions 1–16 — Bech32m. Для version 1 первый data character после separator отображается как p. Стандартный P2TR output содержит 32-byte output key, поэтому Taproot-адрес mainnet обычно выглядит как bc1p… . Корректный decoder сверяет и version, и encoding, и длину program.

Комиссия не назначается префиксом получателя. Она зависит от weight всей transaction: типов и количества inputs, outputs и witness data. Нативные SegWit-конструкции часто экономнее legacy при сопоставимом платеже, но точное значение считают по собранной transaction и текущей fee rate. Отдельно полезно понимать мемпул, RBF и CPFP, если перевод задержался.

Совместимость проверяют на стороне отправителя и получателя

Решение зависит от двух кошельков, а не от рейтинга форматов
СитуацияБезопасное действиеОпасное действие
Сервис не принимает bc1pЗапросить у своего wallet другой поддерживаемый receiving addressСамостоятельно заменить bc1p на bc1q или 3
Получен адрес 3…Проверить всю строку и поддержку P2SH у отправителяСчитать его nested SegWit только по префиксу
Wallet предлагает несколько account typesПроверить backup и recovery support каждого accountПредполагать, что один derivation path найдёт все UTXO
Строка не проходит checksumОстановиться и запросить адрес повторноИсправлять символы догадкой
Решение зависит от двух кошельков, а не от рейтинга форматов
Ситуация
Сервис не принимает bc1p
Безопасное действие
Запросить у своего wallet другой поддерживаемый receiving address
Опасное действие
Самостоятельно заменить bc1p на bc1q или 3
Ситуация
Получен адрес 3…
Безопасное действие
Проверить всю строку и поддержку P2SH у отправителя
Опасное действие
Считать его nested SegWit только по префиксу
Ситуация
Wallet предлагает несколько account types
Безопасное действие
Проверить backup и recovery support каждого account
Опасное действие
Предполагать, что один derivation path найдёт все UTXO
Ситуация
Строка не проходит checksum
Безопасное действие
Остановиться и запросить адрес повторно
Опасное действие
Исправлять символы догадкой

Выбор криптокошелька включает поддержку нужных script types при создании, подписи и восстановлении. То, что приложение умеет отправлять на bc1p, ещё не означает, что оно создаёт собственный Taproot account. Перед крупным получением сверяйте официальную recovery-документацию wallet. Практическую репетицию восстановления проводите только на чистом отдельном или сброшенном vendor-supported hardware wallet, офлайн и без ввода seed на сайте, телефоне, рабочем либо общем компьютере.

Checksum ловит ошибки строки, но не подмену получателя

  • Получить адрес из доверенного канала или показать receiving screen на устройстве получателя.
  • Проверить, что выбрана Bitcoin mainnet, а не testnet и не другой актив с похожим названием.
  • Декодировать всю строку: encoding, checksum, witness version и program length.
  • Сверить адрес целиком на независимом экране; первые и последние символы дают лишь сокращённую проверку.
  • Не менять регистр или префикс вручную и не вставлять адрес из истории без повторного подтверждения.

Публичный адрес не содержит имени владельца. Синтаксический валидатор может распознать сеть и encoding, но не доказывает связь строки с человеком и не проверяет его право на средства. Успешный результат означает только, что правила выбранного формата выполнены; destination всё равно подтверждают отдельно.

Источники

Мы используем прямые ссылки и фиксируем дату проверки. Полный текст чужих материалов не перепечатывается.

  1. BIP-13 — Address Format for pay-to-script-hash Bitcoin BIPs · Проверено 18 августа 2026 г. в 22:31 GMT+5
  2. BIP-141 — Segregated Witness Bitcoin BIPs · Проверено 18 августа 2026 г. в 22:31 GMT+5
  3. BIP-173 — Base32 address format for native witness outputs Bitcoin BIPs · Проверено 18 августа 2026 г. в 22:31 GMT+5
  4. BIP-350 — Bech32m format for v1+ witness addresses Bitcoin BIPs · Проверено 18 августа 2026 г. в 22:31 GMT+5
  5. Bitcoin Developer Guide — Transactions Bitcoin Project · Проверено 18 августа 2026 г. в 22:31 GMT+5
Материал носит информационный характер и не является индивидуальной рекомендацией. Криптоактивы связаны с риском волатильности, технических сбоев, хищения и полной потери средств.