SeedQR je otevřeně popsaný datový formát projektu SeedSigner, nikoli nový druh seedu, šifrování ani Bitcoin protokol. Standard SeedQR spojuje nulově indexované pozice slov BIP39 do číselného QR; CompactSeedQR zapisuje původní entropii jako binární data a kontrolní součet nechává přijímač dopočítat.
Standard SeedQR vezme každé slovo mnemonické fráze, najde jeho nulově indexovanou pozici v seznamu BIP39 a zapíše ji přesně čtyřmi číslicemi. Hodnota 12 se tedy zapisuje jako 0012. Výsledkem není fotografie slov ani privátní klíč v textové podobě, ale jiná bezeztrátová reprezentace stejného tajemství. [1]
Seznam BIP39 má 2048 položek s indexy 0 až 2047. Standardní fráze o 12 slovech vytvoří 48 číslic a QR mřížku 25×25; fráze o 24 slovech vytvoří 96 číslic a mřížku 29×29. Pořadí čtyřmístných bloků je pořadím slov, takže záměna bloků obnoví jinou nebo neplatnou frázi. [1]
SeedSigner je navržen jako stateless signer: po vypnutí nemaže jen obrazovku, ale ztrácí načtená tajná data a seed je potřeba příště zadat znovu. SeedQR zkracuje tento vstup na jedno skenování nebo ruční překreslení. Nesmí se plést s PSBT, wallet descriptor nebo adresovým QR; ty mohou nést veřejná či transakční data, zatímco SeedQR nese obnovovací tajemství. [7]
Rozhraní SeedSigner před přepisem varuje, že „SeedQR is your private key“ a že se nemá fotografovat ani skenovat zařízením připojeným k internetu. Air gap omezuje síťovou cestu úniku, ale nezašifruje QR a nezabrání kameře, kopii, fyzické krádeži nebo kompromitovanému offline zařízení přečíst seed. [5]
Oficiální dokumentace uvádí podporu Standard SeedQR i CompactSeedQR pro 12slovné a 24slovné BIP39 fráze. Veřejný požadavek na doplnění problematického CompactSeedQR testovacího vektoru byl otevřen 25. července 2022 a následně uzavřen změnou projektu; dokládá veřejné testování interoperability, nikoli formální standardizaci BIP. [2] [6]
CompactSeedQR skládá 11bitové indexy slov, u 12 slov odstraní 4 kontrolní bity a uloží 128 bitů neboli 16 bajtů do mřížky 21×21. U 24 slov odstraní 8 kontrolních bitů a uloží 256 bitů neboli 32 bajtů do mřížky 25×25. Je menší, ale běžná čtečka nemusí binární data ani nulové bajty zobrazit správně; tato nepraktičnost není kryptografická ochrana. [1]
BIP39 vytváří slova rozdělením entropie a jejího kontrolního součtu do 11bitových indexů seznamu. Proto může CompactSeedQR kontrolní bity vynechat a po načtení je z entropie znovu spočítat. Payload však neobsahuje jednoznačný identifikátor použitého jazykového seznamu; obnova musí použít stejný seznam a hlavní specifikace doporučuje anglický. [4]
Implementaci je potřeba ověřovat proti publikovaným testovacím vektorům a skutečnému kódu encoderu, včetně nulového bajtu v CompactSeedQR. Praktický test obnovy patří na offline zařízení bez hodnoty: po načtení se porovná fingerprint, descriptor nebo první přijímací adresa s očekávanou peněženkou. Nikdy se k testu nepoužívá webový generátor se skutečným seedem. [3]
Pro nejúplnější obraz čtěte toto heslo společně s Seed Phrase, BIP 39, BIP39 checksum, Private Key, Hardware Wallet, Air-gapped Wallet. Opačným směrem na něj odkazují také BBQr.
01Je SeedQR totéž co běžný QR kód s bitcoinovou adresou?+
Ne. Adresový QR obvykle zveřejňuje cíl pro příjem platby, zatímco SeedQR kóduje data potřebná k obnově BIP39 peněženky. Kdo SeedQR správně přečte a zná případnou BIP39 passphrase, může odvodit privátní klíče. Proto má SeedQR režim zacházení jako seed phrase, nikoli jako veřejná adresa.
02Chrání CompactSeedQR seed tím, že ho běžný telefon nepřečte?+
Ne. CompactSeedQR pouze ukládá stejné tajemství úsporněji jako binární entropii. Některé běžné čtečky ji zobrazí chybně nebo vůbec, ale specializovaný software ji může dekódovat. Jde o kompatibilitní překážku, nikoli šifrování; bezpečnost musí stát na fyzické ochraně, kontrolovaném offline skenování a případně odděleně uložené BIP39 passphrase.