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.

01Чи SeedQR — це те саме, що звичайний 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Документація
Переглянуто: Спочатку джерела · Не інвестиційна порада