728 / 736BBQR

BBQr

Better Bitcoin QR,一种通过连续 QR 码传输较大文件的分帧格式

BBQr 把 PSBT、已签名交易或其他二进制数据拆成带编号的 QR 帧序列,用于跨越 air gap;它降低额外开销并允许乱序扫描,但不会加密数据、不会验证数据含义,而且必须取得全部分片。

BBQr 是 Coinkite 公开描述的传输格式。每个 QR 以 B$ 和一个短标头开头,标头写明编码、文件类型、总片数与索引;其后是以 HEX、Base32 或固定 Zlib 再加 Base32 表示的数据段。

当 PSBT、已签名交易或其他文件无法装进一个足够易读的 QR 时,BBQr 会把数据拆成多帧,由接收端重新组装,使文件无需线缆、存储卡或网络连接即可跨越 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 和高熵数据帮助有限;此时编码器应选择更小的未压缩形式。 [1]

由于标头含有索引,帧可以按任意顺序读取。但它不是 fountain code:接收端必须拿到全部 N 个分片,无法由其余帧推算缺失帧。QR 本身已有错误检测与纠正,因此规范没有再加入整组 checksum;设计讨论权衡了简单性、开销与恢复漏扫帧的能力。 [4]

项目文档称 BBQr 已被广泛部署,并确认截至 2026 年七月 27 日,多种 signer、移动钱包和协调器已有公开发布的代码,包括 COLDCARD Q、Sparrow Wallet、Nunchuk Desktop、BTCPay Server、Krux 与 BlueWallet。支持不一定是双向的:SeedSigner 版本 0.8.7 当时仅列为 decoder。 [2]

两位 base36 最多表示 1295 个分片,也就是 ZZ。对于 QR 版本 40,规范给出 4296 个字母数字字符,理论未压缩上限是 HEX 的 2 776 480 字节或 Base32 的 3 470 600 字节。设备可以设置更低限制: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文档
修订日期: 来源优先 · 非投资建议