727 / 736SEEDQR

SeedQR

Формат QR-резервной копии мнемоники BIP39 от проекта SeedSigner

SeedQR преобразует мнемонику BIP39 в статический QR-код для быстрой загрузки в автономное подписывающее устройство; Standard SeedQR хранит четырёхзначные индексы слов, а CompactSeedQR — бинарную энтропию, но оба формата содержат секрет, позволяющий восстановить кошелёк.

SeedQR — открыто описанный формат данных проекта SeedSigner, а не новый вид seed, шифрование или протокол Bitcoin. Standard SeedQR объединяет индексируемые с нуля позиции слов BIP39 в числовой QR; CompactSeedQR записывает исходную энтропию как бинарные данные и позволяет получателю заново вычислить checksum.

Standard SeedQR берёт каждое слово мнемоники, находит его индексируемую с нуля позицию в списке BIP39 и записывает ровно четырьмя цифрами. Поэтому значение 12 записывается как 0012. Результат — не фотография слов и не приватный ключ в текстовой форме, а другое представление того же секрета без потерь. [1]

Список BIP39 содержит 2048 позиций с индексами от 0 до 2047. Стандартная фраза из 12 слов даёт 48 цифр и QR-сетку 25×25; фраза из 24 слов — 96 цифр и сетку 29×29. Порядок четырёхзначных блоков соответствует порядку слов, поэтому перестановка блоков восстановит другую или недействительную фразу. [1]

SeedSigner спроектирован как stateless signer: после выключения загруженные секретные данные исчезают, и в следующий раз seed нужно вводить снова. SeedQR сокращает ввод до одного сканирования или ручного переноса. Его нельзя путать с PSBT, wallet descriptor или QR адреса; они могут содержать публичные или транзакционные данные, тогда как SeedQR несёт секрет восстановления. [7]

Перед переносом интерфейс SeedSigner предупреждает: “SeedQR is your private key”, а также запрещает фотографировать его или сканировать устройством с подключением к интернету. Air gap ограничивает сетевой путь утечки, но не шифрует QR и не мешает камере, копии, физическому вору или скомпрометированному автономному устройству прочитать seed. [5]

Официальная документация заявляет поддержку Standard SeedQR и CompactSeedQR для фраз BIP39 из 12 слов и 24 слов. Публичный запрос на добавление проблемного тестового вектора CompactSeedQR открыли 25 июля 2022 года, а затем закрыли изменением проекта; он документирует публичное тестирование совместимости, а не формальную стандартизацию BIP. [2] [6]

CompactSeedQR объединяет 11-битные индексы слов, при 12 словах удаляет 4 бита checksum и хранит 128 битов, или 16 байтов, в сетке 21×21. При 24 словах он удаляет 8 битов checksum и хранит 256 битов, или 32 байта, в сетке 25×25. Формат меньше, однако обычный сканер может неверно обработать бинарные данные или нулевые байты; это неудобство не является криптографической защитой. [1]

BIP39 создаёт слова, разделяя энтропию и её checksum на 11-битные индексы списка. Поэтому CompactSeedQR может опустить биты checksum и после сканирования заново вычислить их из энтропии. Однако payload не содержит однозначного идентификатора языка списка; восстановление должно использовать тот же список, а основная спецификация рекомендует английский. [4]

Реализацию следует проверять по опубликованным тестовым векторам и фактическому коду encoder, включая нулевой байт в CompactSeedQR. Практическая проверка восстановления проводится на автономном устройстве без ценности: после загрузки сравнивают fingerprint, descriptor или первый адрес получения с ожидаемым кошельком. Настоящий seed никогда не проверяют веб-генератором. [3]

Для полной картины прочитайте эту статью вместе с Seed Phrase, BIP 39, BIP39 checksum, Private Key, Hardware Wallet, Air-gapped Wallet. На эту статью также ссылаются BBQr.

01SeedQR — это то же самое, что обычный QR-код с bitcoin-адресом?

Нет. QR адреса обычно публикует назначение для получения платежа, а SeedQR кодирует данные, необходимые для восстановления кошелька BIP39. Тот, кто правильно прочитает SeedQR и знает возможную BIP39 passphrase, может вывести приватные ключи. Поэтому обращаться с ним нужно как с seed phrase, а не как с публичным адресом.

02Защищает ли CompactSeedQR seed тем, что обычный телефон его не читает?

Нет. CompactSeedQR лишь компактнее хранит тот же секрет в виде бинарной энтропии. Некоторые обычные сканеры показывают её неверно или не показывают вовсе, но специализированное ПО может её декодировать. Это препятствие совместимости, а не шифрование; безопасность должна опираться на физическую защиту, контролируемое офлайн-сканирование и при необходимости отдельно хранимую BIP39 passphrase.

DOC · 001SeedSigner — SeedQR Format SpecificationДокументация DOC · 002SeedSigner — Supported QR FormatsДокументация DOC · 003SeedSigner — SeedQR encoder implementationДокументация DOC · 004Bitcoin BIPs — BIP 39: Mnemonic code for generating deterministic keysДокументация DOC · 005SeedSigner — SeedQR private-key warning in seed viewsДокументация DOC · 006SeedSigner issue 234 — Additional CompactSeedQR test vector, 25 July 2022Документация DOC · 007SeedSigner — Independent Custody GuideДокументация
Обновлено: Сначала источники · Не является инвестиционной рекомендацией