728 / 736BBQR

BBQr

Better Bitcoin QR, формат кадров для передачи крупных файлов последовательностью QR-кодов

BBQr делит PSBT, подписанную транзакцию или другие двоичные данные на нумерованную серию QR-кадров для переноса через air gap; он снижает накладные расходы и допускает сканирование в любом порядке, но не шифрует данные, не проверяет их смысл и требует все части.

BBQr — публично описанный транспортный формат Coinkite. Каждый QR начинается с B$ и короткого заголовка с кодированием, типом файла, общим количеством и индексом; далее идёт фрагмент в HEX, Base32 либо фиксированный Zlib с последующим Base32.

BBQr решает случаи, когда PSBT, подписанная транзакция или другой файл не помещается в один достаточно читаемый QR. Отправитель делит данные на кадры, а получатель собирает их обратно, поэтому файл пересекает air gap без кабеля, карты или сети. Формат ничего не подписывает, не транслирует и не относится к консенсусу Bitcoin. [1]

Каждый кадр начинается с заголовка из восьми символов. B$ обозначает BBQr, затем один символ выбирает кодирование, другой — тип содержимого, две позиции base36 задают общее число кадров, а последние две — индекс. B$HP0301 означает HEX, PSBT, всего 3 кадра и часть с индексом 1. Кодирование, тип и количество должны совпадать во всей серии. [1]

QR использует буквенно-цифровой режим с ограниченным набором заглавных символов. H записывает HEX, 2 использует Base32 без =, а Z сначала сжимает весь файл через Zlib с wbits=10 и без файлового заголовка, затем применяет Base32. Сжатие может уменьшить PSBT, но мало помогает для хешей, UTXO и данных с высокой энтропией; тогда encoder должен выбрать меньший несжатый вариант. [1]

Благодаря индексу кадры можно читать в любом порядке. Но это не fountain code: получатель должен получить все N частей и не может вычислить отсутствующий кадр из остальных. QR уже имеет обнаружение и исправление ошибок, поэтому спецификация не добавляет checksum всей серии; обсуждение проекта сравнивает простоту, накладные данные и восстановление пропущенных кадров. [4]

Документация проекта называет BBQr широко внедрённым и по состоянию на 27 июля 2026 года подтверждала выпущенный публичный код в нескольких signer-устройствах, мобильных кошельках и координаторах, включая COLDCARD Q, Sparrow Wallet, Nunchuk Desktop, BTCPay Server, Krux и BlueWallet. Поддержка не обязательно двусторонняя: SeedSigner версии 0.8.7 был указан только как decoder. [2]

Две позиции base36 позволяют не более 1295 частей, то есть ZZ. Для версии QR 40 спецификация указывает 4296 буквенно-цифровых символов и теоретический несжатый предел 2 776 480 байт для HEX либо 3 470 600 байт для Base32. Устройство может ограничивать сильнее: COLDCARD Q принимает до 2 MiB, а затем показывает прогресс по числу частей. [6]

Тип P означает PSBT, а T — завершённую транзакцию Bitcoin; J, C, U, B и X охватывают JSON, CBOR, текст UTF-8, общие двоичные и исполняемые данные. Тип помогает выбрать parser, но не доказывает правильность или безопасность. Кошелёк должен отклонить неожиданный тип, а signer — отдельно показать выходы, суммы и комиссию до подписания. [5]

Реализацию следует проверить round-trip тестом по опубликованному репозиторию и тестовым данным: закодировать тот же файл, перемешать кадры, прочитать их снова и сравнить побайтно. Отдельно проверяют отсутствующий и повреждённый кадр, H, 2 и Z, один кадр и пределы памяти. Настоящую PSBT или другие чувствительные данные нельзя вводить в публичный веб-генератор. [3]

Для полной картины прочитайте эту статью вместе с PSBT, Транзакция, Hardware Wallet, Air-gapped Wallet, Multisig, Output Descriptor.

01BBQr — то же самое, что SeedQR?

Нет. SeedQR представляет секрет восстановления BIP39 и требует защиты как приватный ключ. BBQr — общая транспортная оболочка для разделённых данных, часто PSBT или подписанной транзакции. Она может нести чувствительное содержимое, но название не означает seed, и формат не шифрует данные.

02Делает ли передача BBQr через air gap транзакцию безопасной?

Нет. Оптический канал убирает сетевой или кабельный путь, но вредоносный координатор всё ещё может подготовить PSBT с чужим выходом, неверной комиссией или неожиданными входами. Адреса, суммы, комиссию и правила кошелька нужно проверить на доверенном signer, а затем транслировать именно проверенную транзакцию.

DOC · 001BBQr — Better Bitcoin QR SpecificationДокументация DOC · 002BBQr — Project status and supporting implementationsДокументация DOC · 003Coinkite — BBQr reference repository and test dataДокументация DOC · 004Coinkite BBQr issue 2 — Feedback on sequence recoveryДокументация DOC · 005COLDCARD Q Quickstart Guide — BBQr transaction flowДокументация DOC · 006COLDCARD QR Scanner — BBQr limits and accepted dataДокументация
Обновлено: Сначала источники · Не является инвестиционной рекомендацией