comment ça marche

La recherche

Un wallet peut vérifier si une phrase de récupération correspond à une seed faible connue, sans exposer la phrase ni son entropie.

Les datasets publiés sont volumineux, mais chaque vérification ne nécessite qu'une petite fraction de ces données.

5.86 TB
publiés dans deux datasets
2–4 MB
téléchargés par vérification

le mécanisme

Confidentialité de la recherche

La recherche commence quand le wallet dérive l'entropie de la phrase de récupération, la hache, puis utilise seulement un court préfixe du hash pour récupérer le bucket correspondant. Il compare ensuite le contenu du bucket localement pour déterminer si elle est vulnérable.

WALLET REMOTE UNLUKEY DATASETS Recovery phrase (12 or 24 words) Entropy — 16 or 32 raw bytes key = SHA-256(entropy) 32-byte key prefix only 19–20 bits Fetch static file /{bits}/{prefix} whole bucket ~2–4 MB, thousands of keys Compare the rest of the key locally against every entry in the bucket VULNERABLE NOT FOUND The wallet determines locally whether the recovery phrase is vulnerable.

k-anonymat

Plusieurs clés, un seul bucket

Plusieurs hashes partageant le même préfixe sont regroupés dans un seul bucket. Le wallet télécharge ce bucket et vérifie localement quelle entrée, le cas échéant, correspond.

Contenu du bucket

5280e c4a1f83e… 5280e 7e20b19a… 5280e 53bf2c04… 5280e 91c2d7a5… 5280e 0d3a6e18… 5280e f8619b4d… ~144,000 entries sharing this prefix Bucket /{bits}/5280e
préfixe partagé suffixes de hash partageant ce préfixe

longueur du préfixe

Le compromis

Le nombre de bits du préfixe détermine combien d'entrées sont regroupées dans chaque bucket.

Un préfixe plus long crée plus de buckets avec moins d'entrées chacun, réduisant la taille du téléchargement mais aussi l'ensemble d'anonymat. Un préfixe plus court fait l'inverse.

Le contrôle ci-dessous montre ce compromis à partir des 44 203 122 032 clés uniques du dataset Coldcard (256 bits).

longueur du préfixe 19 bits
141618202224
524,288
buckets
≈84,311
clés par bucket (ensemble d'anonymat)
≈2.53 MB
téléchargement moyen par vérification
19 bits, c'est ce qu'utilise aujourd'hui l'arbre 256 bits

statistiques des datasets

Les deux datasets

Dataset Clés uniques Préfixe Buckets Taille du dataset Par vérification
Ill Bloomentropie 128 bits 151,001,028,608 20 bits 1,048,576 4.53 TB ≈4.32 MB
Coldcardentropie 256 bits 44,203,122,032 19 bits 524,288 1.33 TB ≈2.53 MB
Total publié 195,204,150,640 5.86 TB