Sincronizar README con la boveda: seccion 3.4 son cinco metodos de dados

La boveda actualizo el 9-sep la seccion 3.4 con el hallazgo de que los
metodos de dados son al menos CINCO y no son intercambiables, y ese
cambio nunca se propago al repo: los lectores de Gitea llevaban dos dias
con "los dos metodos".

Entra la tabla de los cinco metodos con quien usa cada uno, y las tres
trampas: el modo de AirGap etiquetado "Coldcard" no hace lo que hace
Coldcard, coincidir en el numero de tiradas no prueba nada, y SeedSigner
cambio de metodo en febrero de 2022.

Verificado antes de commitear: 23 enlaces externos antes y despues, cero
perdidos; sobrevive lo que solo estaba en el README publicado.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YQKDri1hnrGZcBXdveLReW
This commit is contained in:
2026-09-11 06:59:14 +00:00
co-authored by Claude Opus 5
parent 1882fbec6c
commit 3bc7a0ff82
+38 -5
View File
@@ -267,13 +267,34 @@ zpub6qf9ziL759pzyhKMWaPfNSiCETkoA6oq3fbCDvXqcURiMtPnkEg3nH93W5mrSkvGPoJC9xTYZheY
Puedes además cargar el vector de 12 palabras en Sparrow y comprobar que el fingerprint coincide con `8d9cced8`, verificando de paso toda la cadena de derivación. Puedes además cargar el vector de 12 palabras en Sparrow y comprobar que el fingerprint coincide con `8d9cced8`, verificando de paso toda la cadena de derivación.
### 3.4 Los dos métodos: dados→bits y dados→palabras ### 3.4 Los métodos de dados: son cinco, y no son intercambiables
Existen dos enfoques válidos, y ninguno es superior en seguridad: ambos producen 256 bits generados por ti. Aquí hay algo que casi nadie cuenta y que puede costarte la seed, así que va antes que el procedimiento.
**No existe un estándar único para convertir tiradas de dado en palabras.** Hay al menos cinco construcciones en uso, cada una con su aritmética, y **dos programas solo dan el mismo resultado si usan la misma**. Correr las mismas 99 tiradas por dos métodos distintos produce dos frases de 24 palabras **sin una sola palabra en común**.
| | Qué hace | Quién lo usa |
|---|---|---|
| **A. Hashear las tiradas tal cual** | SHA-256 sobre los dígitos como texto | SeedSigner, Coldcard, Krux, Gordian, iancoleman en modo *Hex* |
| **B. Tabla de consulta en papel** | Buscas cada palabra en una tabla impresa | BitBox02, Jade, Sparrow, Passport, Specter DIY |
| **C. Reescribir cada 6 como 0, luego hashear** | Igual que A pero sobre alfabeto 0-5 | Keystone (exige **100** tiradas), iancoleman en modo *Dice* |
| **D. Empaquetar en bits, sin hash** | Cada cara aporta bits directamente | BlueWallet, Seed Tool en modo *raw* |
| **E. Leer como número en base 6** | Los dígitos son un entero en base 6 | RooSoft/bitcoinlib. **SeedSigner lo usó hasta febrero de 2022** |
**Las trampas concretas, que son peores que el problema general:**
- **El modo de AirGap Vault etiquetado «Coldcard» no hace lo que hace Coldcard.** Aplica la reescritura 6→0; Coldcard no. Elegirlo *porque* tienes una Coldcard te da una seed que tu Coldcard no reproducirá jamás.
- **El método D no se puede verificar de forma cruzada en absoluto:** cada implementación mapea las caras a bits distintos. No hay una respuesta compartida contra la que comparar.
- **Coincidir en el número de tiradas no prueba nada.** Hay implementaciones que exigen exactamente 50 o 99 tiradas —las cifras que en todas partes señalan el método hasheado— y luego leen los dígitos en base 6 sin hashear nunca. Todo lo que ves desde fuera coincide. La seed no.
- **Y si tu aparato es viejo, ojo con su propio pasado:** SeedSigner cambió de método en 2022. Reproducir hoy una seed generada antes de ese cambio exige usar el método de entonces, no el de ahora.
> **Qué hacer con esto, en una línea:** antes de verificar tu seed en una segunda herramienta, **comprueba que usa el mismo método que tu aparato** — no que acepte el mismo número de tiradas. Si no coinciden las palabras, lo primero que hay que sospechar no es un error tuyo: es que estás comparando dos aritméticas distintas.
De los cinco, en la práctica vas a usar uno de estos dos. Ninguno es superior en seguridad: ambos producen 256 bits generados por ti.
**Método A — dados a bits** (el que usa SeedSigner, entre otros). Tiras 99 veces, introduces la secuencia, y el dispositivo la convierte en las 24 palabras. **Método A — dados a bits** (el que usa SeedSigner, entre otros). Tiras 99 veces, introduces la secuencia, y el dispositivo la convierte en las 24 palabras.
**Método B — dados a palabras** (documentado por BitBox). Los dados eligen **las palabras directamente** de una tabla de las 2048 palabras BIP39: **Método B — dados a palabras** (documentado por BitBox, y el que usan también Jade y Sparrow). Los dados eligen **las palabras directamente** de una tabla de las 2048 palabras BIP39:
- Lanzas 5 dados y una moneda. Los dados que salgan 5 o 6 se relanzan hasta dar un número del 1 al 4. - Lanzas 5 dados y una moneda. Los dados que salgan 5 o 6 se relanzan hasta dar un número del 1 al 4.
- La combinación da 4⁵ × 2 = **exactamente 2048** posibilidades, justo el tamaño de la lista BIP39. Cada palabra sale con la misma probabilidad, sin sesgo y sin desperdiciar entropía. - La combinación da 4⁵ × 2 = **exactamente 2048** posibilidades, justo el tamaño de la lista BIP39. Cada palabra sale con la misma probabilidad, sin sesgo y sin desperdiciar entropía.
@@ -285,14 +306,26 @@ Existen dos enfoques válidos, y ninguno es superior en seguridad: ambos produce
| Material extra | Ninguno | Tabla impresa | | Material extra | Ninguno | Tabla impresa |
| Tiradas | 99 | ~115-140 (por los relanzamientos) | | Tiradas | 99 | ~115-140 (por los relanzamientos) |
| Papel del software | Convierte bits en palabras | Solo calcula la palabra 24 | | Papel del software | Convierte bits en palabras | Solo calcula la palabra 24 |
| ¿Verificable en otra herramienta? | Sí, si usa el mismo método | No hace falta: la tabla es la especificación |
El método B reduce un poco más la superficie de software, a cambio de necesitar la tabla impresa. El método B reduce un poco más la superficie de software, a cambio de necesitar la tabla impresa.
Necesitas la tabla de las 2048 palabras impresa. BitBox publica una en [su documentación](https://bitbox.swiss/bitbox02/BitBox_Diceware_HowTo.pdf), con tarjeta de backup incluida; sirve con cualquier wallet que permita teclear las palabras a mano, no solo con la suya. #### Si usas el método B: verifica la tabla antes de fiarte de ella
Aquí no hay aritmética que revisar, lo que deja **la tabla como lo único que puede estar mal**. Y una tabla mala no da un error: da una palabra distinta, perfectamente válida, que nada aguas abajo va a cuestionar.
1. **Comprueba el número:** 2048 entradas exactas.
2. **Busca el off-by-one.** Algunas tablas numeran desde 1 y la especificación desde 0. Es el fallo más común.
3. **Busca `TRUE`, `FALSE` y meses capitalizados.** Son inofensivos en sí, pero son exactamente lo que una hoja de cálculo le hace a `true`, `false`, `march` y `october`. Si aparecen, esa tabla nunca se comparó con la lista original — y si no se comparó, no sabes qué más cambió.
4. **Confirma que el esquema direcciona las 2048 por igual:** los resultados posibles tienen que ser múltiplo de 2048, con el excedente mandado a relanzar y no doblado dentro de una palabra.
Si quieres contrastar la lista entera, el sha256 de la lista canónica en inglés (terminada en salto de línea) es `2f5eed53a4727b4bf8880d8f3f199efc90e58503646d9ff8eff3a2ed3b24dbda`.
**Un detalle del método B:** aquí **no hace falta anotar las tiradas**. En el método A la secuencia es lo que te permite reproducir la seed en herramientas independientes; aquí el dado es solo un índice, y en cuanto tienes la palabra ya no sirve para nada. Anotarlas deja tu seed escrita dos veces en el mismo papel a cambio de nada. Úsalas como nota de trabajo y destruye esa hoja. **Un detalle del método B:** aquí **no hace falta anotar las tiradas**. En el método A la secuencia es lo que te permite reproducir la seed en herramientas independientes; aquí el dado es solo un índice, y en cuanto tienes la palabra ya no sirve para nada. Anotarlas deja tu seed escrita dos veces en el mismo papel a cambio de nada. Úsalas como nota de trabajo y destruye esa hoja.
> Vale la pena señalar la honestidad del propio fabricante en ese documento: abre diciendo que no necesitas hacerlo, y explica que la BitBox02 combina cinco fuentes de entropía. Y aun así ofrece el método, porque una hardware wallet debería ser una herramienta de soberanía personal. Es exactamente el planteamiento de esta guía: no se trata de asumir mala fe del fabricante, sino de no depender de que acierte. > ⚠️ **Y un aviso sobre la función «calcular palabra final»** que ofrecen Jade, BitBox y otros. **No genera entropía: solo resuelve el checksum.** Toda la seguridad viene de que las 23 palabras anteriores sean genuinamente aleatorias. Si alguien las elige de su cabeza —palabras que le gustan, con significado, en orden memorable— la frase resultante es válida, la wallet la acepta sin protestar, y la entropía real se desploma. El nombre del menú describe *qué hace* la función, no *cuándo es seguro usarla*, y esas dos cosas divergen justo para quien tiene menos contexto.
> Vale la pena señalar la honestidad del propio fabricante en el documento de BitBox: abre diciendo que no necesitas hacerlo, y explica que la BitBox02 combina cinco fuentes de entropía. Y aun así ofrece el método, porque una hardware wallet debería ser una herramienta de soberanía personal. Es exactamente el planteamiento de esta guía: no se trata de asumir mala fe del fabricante, sino de no depender de que acierte.
### 3.5 Otros métodos, y por qué esta guía elige los dados ### 3.5 Otros métodos, y por qué esta guía elige los dados