cómo funciona

La consulta

Una wallet puede verificar si una frase de recuperación coincide con una seed débil conocida, sin exponer la frase ni su entropía.

Los datasets publicados son grandes, pero cada verificación solo necesita una pequeña fracción de esos datos.

5.86 TB
publicados en dos datasets
2–4 MB
descargados por verificación

el mecanismo

Privacidad de la consulta

La consulta empieza cuando la wallet deriva la entropía de la frase de recuperación, la hashea, y usa solo un prefijo corto del hash para descargar el bucket correspondiente. Después compara el contenido del bucket localmente para determinar si es vulnerable.

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-anonimato

Muchas claves, un bucket

Varios hashes que comparten el mismo prefijo se agrupan en un único bucket. La wallet descarga ese bucket y verifica localmente qué entrada, si alguna, coincide.

Contenido del bucket

5280e c4a1f83e… 5280e 7e20b19a… 5280e 53bf2c04… 5280e 91c2d7a5… 5280e 0d3a6e18… 5280e f8619b4d… ~144,000 entries sharing this prefix Bucket /{bits}/5280e
prefijo compartido sufijos de hash que comparten ese prefijo

largo del prefijo

El trade-off

La cantidad de bits del prefijo determina cuántas entradas se agrupan en cada bucket.

Un prefijo más largo crea más buckets con menos entradas cada uno, reduciendo el tamaño de descarga pero también el conjunto de anonimato. Un prefijo más corto hace lo opuesto.

El control de abajo muestra este trade-off usando las 44.203.122.032 claves únicas del dataset de Coldcard (256 bits).

largo del prefijo 19 bits
141618202224
524,288
buckets
≈84,311
claves por bucket (conjunto de anonimato)
≈2.53 MB
descarga promedio por verificación
19 bits es lo que usa hoy el árbol de 256 bits

estadísticas de los datasets

Los dos datasets

Dataset Claves únicas Prefijo Buckets Tamaño del dataset Por verificación
Ill Bloomentropía de 128 bits 151,001,028,608 20 bits 1,048,576 4.53 TB ≈4.32 MB
Coldcardentropía de 256 bits 44,203,122,032 19 bits 524,288 1.33 TB ≈2.53 MB
Total publicado 195,204,150,640 5.86 TB