Compare commits
6
Commits
main
..
5d862a022f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d862a022f | ||
|
|
7d334a8f95 | ||
|
|
e2f7e8e80f | ||
|
|
ea47285bfa | ||
|
|
1829e1b273 | ||
|
|
77393eef7a |
@@ -1,24 +1,30 @@
|
|||||||
# SeedSigner — guía completa
|
# SeedSigner — guía completa
|
||||||
|
|
||||||
*Montar, verificar y usar un firmante de Bitcoin **air-gapped** —sin cable, WiFi ni Bluetooth— con componentes genéricos y sin comprar nada relacionado con Bitcoin.*
|
*Montar, verificar y usar un firmante de Bitcoin **air-gapped** —sin cable, WiFi ni Bluetooth— con componentes económicos y sin comprar nada relacionado con Bitcoin.*
|
||||||
|
|
||||||
> Guía en castellano, libre y verificable. **[CC BY-SA 4.0](LICENSE)** — cópiala, tradúcela y adáptala.
|
|
||||||
> ¿Un error, un dato desactualizado, un paso que no funciona en tu aparato? [Corrígelo](CONTRIBUTING.md), no hace falta pedir permiso.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Cómo usar esta guía
|
## Qué es esto y qué no
|
||||||
|
|
||||||
No está pensada para leerse de una sentada, sino para volver a ella. Tiene tres puertas de entrada según dónde estés:
|
SeedSigner es un **firmante** (*signing device*), no una wallet. No guarda tu seed: la mantiene en memoria mientras está enchufado y **la olvida por completo al desconectarlo**. Esa propiedad —ser *stateless*— es su rasgo definitorio y la razón de casi todo lo que hace raro.
|
||||||
|
|
||||||
| Si estás… | Empieza en |
|
Tres cosas que conviene tener claras antes de montar una:
|
||||||
|---|---|
|
|
||||||
| **Decidiendo si te metes** | «Qué es esto y qué no» y luego la Parte V (limitaciones). Y prueba el [simulador](#26-el-simulador-probarlo-sin-comprar-nada) antes de gastar nada |
|
|
||||||
| **Con las piezas encima de la mesa** | Parte I completa, en orden, sin saltarte el test de I/O |
|
|
||||||
| **Con el aparato ya montado, generando la seed** | Parte II |
|
|
||||||
| **Usándolo desde hace tiempo y vienes a consultar algo** | Parte III, o directamente la **chuleta** del final |
|
|
||||||
|
|
||||||
**Las partes I y II se hacen una vez. La parte III es la que vas a releer durante años.** Está escrita para eso: entradas cortas, cada una respondiendo a una pregunta que te vas a hacer con el aparato en la mano.
|
1. **Tu backup en papel o metal ES el dispositivo.** No hay copia en el aparato. Si pierdes el papel, no hay nada que recuperar de la SeedSigner. Esto asusta al principio y luego resulta liberador: el hardware es desechable y se reemplaza por poco dinero.
|
||||||
|
2. **No tiene WiFi ni Bluetooth** (en la Pi Zero 1.3, que es la recomendada). Es lo que se llama **air-gapped**: sin ninguna conexión posible con otro ordenador. Solo puede *recibir* datos leyendo códigos QR con la cámara, y solo *enviar* mostrando QR en su pantalla. Aunque el software quisiera filtrar tu seed, no tendría por dónde.
|
||||||
|
3. **La montas tú.** Eso es una ventaja de seguridad (no hay cadena de suministro que comprometer, no hay paquete que interceptar) y un coste de tiempo real.
|
||||||
|
|
||||||
|
> **Esta guía cubre el aparato, no el método.** El **porqué** —por qué generar tu propia entropía, cómo verificarla, cómo diseñar una passphrase, cómo comprobar el backup— está en la [guía de autocustodia verificable](https://git.bitcointxoko.org/pikaro/autocustodia-verificable), es libre igual que esta, y aquí no se repite. Los pasos de este documento dan por supuesto ese porqué: si no lo tienes, empieza por ahí.
|
||||||
|
|
||||||
|
> **Cuatro palabras que van a salir mucho.** El **firmware** es el programa que corre dentro del aparato: no es una app que instalas encima, es su software propio y se actualiza aparte. **Air-gapped** significa sin ninguna conexión posible con otro ordenador — ni cable, ni WiFi, ni Bluetooth. El **xpub** (o **zpub**, el mismo dato escrito de otra forma) es tu clave pública extendida: sirve para generar tus direcciones y ver tu saldo, pero **no para gastar**. Y **GPG** es la herramienta con la que compruebas que un fichero descargado lo firmó quien dice y nadie lo ha manipulado por el camino.
|
||||||
|
>
|
||||||
|
> El **fingerprint** (o **XFP**) aparece a partir de la sección 10: son ocho caracteres que identifican tu wallet sin revelar nada de ella, y con los que compruebas que estás donde crees que estás.
|
||||||
|
|
||||||
|
**Estado de la información:** agosto de 2026, versión **0.8.7** ("The Summer of SeedSigner", 8 de julio de 2026). Contrasta siempre con el [repositorio oficial](https://github.com/SeedSigner/seedsigner) antes de seguir cualquier paso técnico. Si algo aquí lo contradice, gana el repositorio.
|
||||||
|
|
||||||
|
> ⚠️ **El README del repositorio va por detrás de las releases, y más de lo que parece.** El README que acompaña **al propio tag `0.8.7`** sigue diciendo "descarga la versión actual (0.8.6)" y lista ficheros `0.8.6` en toda su tabla. Los ficheros reales de esa release sí se llaman `0.8.7`.
|
||||||
|
>
|
||||||
|
> **Fíate de la lista de ficheros de la [página de releases](https://github.com/SeedSigner/seedsigner/releases), no del texto del README.** Es un caso pequeño del principio de toda esta guía: la documentación envejece, y lo que manda es el artefacto, no lo que se dice sobre él.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -28,10 +34,10 @@ Esto no se hace en una tarde: hay que pedir piezas y esperar a que lleguen. Sabe
|
|||||||
|
|
||||||
| Cuándo | Qué haces |
|
| Cuándo | Qué haces |
|
||||||
|---|---|
|
|---|---|
|
||||||
| **Al empezar** | Decidir el modelo y pedir las piezas (§1). Si tu placa lleva radio, planificar lo de §3 |
|
| **Al empezar** | Decidir el modelo y pedir las piezas (Sección 1) |
|
||||||
| **Mientras esperas** | Descargar y **verificar** el software (§5), grabar la MicroSD (§6), y trastear el [simulador](#26-el-simulador-probarlo-sin-comprar-nada) para llegar con el menú aprendido |
|
| **Mientras esperas** | Descargar y **verificar** el software (Sección 5), grabar la MicroSD (6), y trastear el [simulador](#13-pruébalo-antes-de-comprar-el-simulador) para llegar con el menú aprendido |
|
||||||
| **El día que llega el paquete** | Montar (§4), arrancar y hacer el test de I/O (§7), pasar el vector de prueba (§10) |
|
| **El día que llega el paquete** | Montar (4), arrancar y hacer el test de I/O (7), pasar el vector de prueba (10.1) |
|
||||||
| **Un día que empieces tranquilo** | Generar la seed real (§11), verificación cruzada (§12), passphrase (§19), wallet en Sparrow (§16), backup y su verificación (§14) |
|
| **Un día que empieces tranquilo** | Generar la seed real (10.2), passphrase (Sección 5 de la guía del método), wallet en Sparrow (12), backup y su verificación |
|
||||||
| **Unos días después** | Volver a verificar el backup en frío, y ensayar el ciclo de firma en red de pruebas |
|
| **Unos días después** | Volver a verificar el backup en frío, y ensayar el ciclo de firma en red de pruebas |
|
||||||
|
|
||||||
Dos cosas de ese reparto no son negociables:
|
Dos cosas de ese reparto no son negociables:
|
||||||
@@ -42,32 +48,12 @@ Dos cosas de ese reparto no son negociables:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Qué es esto y qué no
|
|
||||||
|
|
||||||
SeedSigner es un **firmante** (*signing device*), no una wallet. No guarda tu seed: la mantiene en memoria mientras está enchufado y **la olvida por completo al desconectarlo**. Esa propiedad —ser *stateless*— es su rasgo definitorio y la razón de casi todo lo que hace raro.
|
|
||||||
|
|
||||||
Tres cosas que conviene tener claras antes de montar una:
|
|
||||||
|
|
||||||
1. **Tu backup en papel o metal ES el dispositivo.** No hay copia en el aparato. Si pierdes el papel, no hay nada que recuperar de la SeedSigner. Esto asusta al principio y luego resulta liberador: el hardware es desechable y reemplazable.
|
|
||||||
2. **No tiene WiFi ni Bluetooth** (en la Pi Zero 1.3, que es la recomendada). Solo puede *recibir* datos leyendo códigos QR con la cámara, y solo puede *enviar* datos mostrando QR en su pantalla. Aunque el software quisiera filtrar tu seed, no tiene por dónde.
|
|
||||||
3. **La montas tú.** Eso es una ventaja de seguridad real —no hay pedido a tu nombre, ni lista de clientes, ni paquete que interceptar— y un coste de tiempo real.
|
|
||||||
|
|
||||||
> **Esta guía cubre el aparato, no el método.** El **porqué** —por qué generar tu propia entropía, cómo verificarla, cómo diseñar una passphrase— está en la [guía de autocustodia verificable](https://git.bitcointxoko.org/pikaro/autocustodia-verificable), libre igual que esta. Aquí no se repite, pero lo esencial va resumido donde hace falta, para que este documento se lea solo.
|
|
||||||
|
|
||||||
**Las palabras que más van a salir.** Tu **seed** (o *semilla*) son las 12 o 24 palabras en inglés de las que se derivan matemáticamente todas tus claves y todas tus direcciones; no están «dentro» del aparato. El **fingerprint** son ocho caracteres que identifican una wallet sin revelar nada de ella: es como vas a saber que estás en la correcta. Y **PSBT** es una transacción a medio hacer, sin firmar, que viaja del ordenador al firmante y vuelve firmada.
|
|
||||||
|
|
||||||
**Estado de la información:** septiembre de 2026, software **v0.8.7** («The Summer of SeedSigner», 8 de julio de 2026). Datos verificados contra el código fuente del proyecto, no contra su documentación. Contrasta siempre con el [repositorio oficial](https://github.com/SeedSigner/seedsigner) antes de seguir cualquier paso técnico: si algo aquí lo contradice, gana el repositorio.
|
|
||||||
|
|
||||||
> ⚠️ **El README del repositorio va por detrás de las releases.** Cuando escribimos esto, el texto del README seguía documentando la 0.8.6 mientras la 0.8.7 llevaba semanas publicada. **Mira siempre la [página de releases](https://github.com/SeedSigner/seedsigner/releases), no el README.** Es un caso pequeño del principio de toda la guía: la documentación envejece, la fuente primaria manda.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Índice
|
## Índice
|
||||||
|
|
||||||
**Parte I — Montar** *(se hace una vez)*
|
- [**Cómo se reparte esto en el tiempo**](#cómo-se-reparte-esto-en-el-tiempo) ← *léelo antes de pedir nada*
|
||||||
|
|
||||||
1. [Materiales](#1-materiales)
|
1. [Materiales](#1-materiales)
|
||||||
2. [Soldar o no: la decisión previa a comprar](#2-soldar-o-no-la-decisión-previa-a-comprar)
|
2. [La decisión que hay que tomar antes de comprar: soldar o no](#2-la-decisión-que-hay-que-tomar-antes-de-comprar-soldar-o-no)
|
||||||
3. [Si tu placa lleva radio: desactivarla](#3-si-tu-placa-lleva-radio-desactivarla)
|
3. [Si tu placa lleva radio: desactivarla](#3-si-tu-placa-lleva-radio-desactivarla)
|
||||||
4. [Montaje](#4-montaje)
|
4. [Montaje](#4-montaje)
|
||||||
5. [Descargar y verificar el software](#5-descargar-y-verificar-el-software)
|
5. [Descargar y verificar el software](#5-descargar-y-verificar-el-software)
|
||||||
@@ -75,94 +61,79 @@ Tres cosas que conviene tener claras antes de montar una:
|
|||||||
7. [Primer arranque y test de entrada/salida](#7-primer-arranque-y-test-de-entradasalida)
|
7. [Primer arranque y test de entrada/salida](#7-primer-arranque-y-test-de-entradasalida)
|
||||||
8. [Recorrido por la interfaz](#8-recorrido-por-la-interfaz)
|
8. [Recorrido por la interfaz](#8-recorrido-por-la-interfaz)
|
||||||
9. [Configuración recomendada](#9-configuración-recomendada)
|
9. [Configuración recomendada](#9-configuración-recomendada)
|
||||||
|
10. [Generar tu seed con dados](#10-generar-tu-seed-con-dados)
|
||||||
**Parte II — Generar la seed** *(se hace una vez, otro día)*
|
11. [SeedQR: cargar la seed en segundos](#11-seedqr-cargar-la-seed-en-segundos)
|
||||||
|
12. [Crear la wallet en Sparrow y firmar una transacción](#12-crear-la-wallet-en-sparrow-y-firmar-una-transacción)
|
||||||
10. [El vector de prueba](#10-el-vector-de-prueba)
|
13. [Pruébalo antes de comprar: el simulador](#13-pruébalo-antes-de-comprar-el-simulador)
|
||||||
11. [Las 99 tiradas](#11-las-99-tiradas)
|
14. [Resolución de problemas](#14-resolución-de-problemas)
|
||||||
12. [Verificación cruzada](#12-verificación-cruzada)
|
15. [Limitaciones y qué NO hace](#15-limitaciones-y-qué-no-hace)
|
||||||
13. [Los otros dos métodos: cámara y elegir palabras](#13-los-otros-dos-métodos-cámara-y-elegir-palabras)
|
16. [Fuentes](#16-fuentes)
|
||||||
14. [El backup, y cómo se comprueba](#14-el-backup-y-cómo-se-comprueba)
|
|
||||||
15. [SeedQR: cargar la seed en segundos](#15-seedqr-cargar-la-seed-en-segundos)
|
|
||||||
|
|
||||||
**Parte III — Usar** *(esto es lo que vas a releer)*
|
|
||||||
|
|
||||||
16. [La wallet en Sparrow](#16-la-wallet-en-sparrow)
|
|
||||||
17. [La rutina de firmar](#17-la-rutina-de-firmar)
|
|
||||||
18. [Recibir: verificar la dirección](#18-recibir-verificar-la-dirección)
|
|
||||||
19. [Convivir con la passphrase](#19-convivir-con-la-passphrase)
|
|
||||||
20. [Multisig, que es su razón de existir](#20-multisig-que-es-su-razón-de-existir)
|
|
||||||
|
|
||||||
**Parte IV — Mantener**
|
|
||||||
|
|
||||||
21. [Actualizar el firmware](#21-actualizar-el-firmware)
|
|
||||||
22. [Si se rompe, se pierde o te lo quitan](#22-si-se-rompe-se-pierde-o-te-lo-quitan)
|
|
||||||
23. [Revisión periódica](#23-revisión-periódica)
|
|
||||||
|
|
||||||
**Parte V — Referencia**
|
|
||||||
|
|
||||||
24. [Resolución de problemas](#24-resolución-de-problemas)
|
|
||||||
25. [Limitaciones y qué NO hace](#25-limitaciones-y-qué-no-hace)
|
|
||||||
26. [El simulador: probarlo sin comprar nada](#26-el-simulador-probarlo-sin-comprar-nada)
|
|
||||||
27. [Chuleta de consulta rápida](#27-chuleta-de-consulta-rápida)
|
|
||||||
28. [Fuentes](#28-fuentes)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
---
|
|
||||||
|
|
||||||
# PARTE I — MONTAR
|
|
||||||
|
|
||||||
## 1. Materiales
|
## 1. Materiales
|
||||||
|
|
||||||
| Pieza | Especificación exacta | Trampa |
|
| Pieza | Especificación exacta | Trampa |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **Raspberry Pi Zero** | **v1.3**, sin WiFi/Bluetooth | Ver trampa 2 ⚠️ |
|
| **Raspberry Pi Zero** | **v1.3**, sin WiFi/Bluetooth | Ver abajo ⚠️ |
|
||||||
| **Pantalla** | Waveshare **1.3" LCD HAT, 240×240 px** | ⚠️ La trampa principal |
|
| **Pantalla** | Waveshare **1.3" LCD HAT, 240×240 px** | ⚠️ La trampa principal |
|
||||||
| **Cámara** | Compatible Pi Zero, sensor **OV5647** (Aokin / AuviPal 5MP 1080p) | El cable es específico del Zero |
|
| **Cámara** | Compatible Pi Zero, sensor **OV5647** (Aokin / AuviPal 5MP 1080p) | El cable es específico del Zero |
|
||||||
| **MicroSD** | Cualquiera, ≥ 4 GB | La imagen ocupa < 42 MB |
|
| **MicroSD** | Cualquiera, ≥ 4 GB | La imagen ocupa unos 50 MB |
|
||||||
| **Alimentación** | Cargador USB de red o batería externa | ⚠️ Ver trampa 3 |
|
| **Alimentación** | Cargador USB de red o batería externa | ⚠️ Ver abajo |
|
||||||
| **Carcasa** | Open Pill u Orange Pill (impresión 3D) | Opcional para empezar |
|
| **Carcasa** | Open Pill o Orange Pill (impresión 3D) | Opcional para empezar |
|
||||||
|
|
||||||
**Lo que de verdad importa de esta lista, y no es el precio:** son componentes genéricos de electrónica, fáciles de encontrar, y **no hay un solo componente de Bitcoin en ella**. Nadie sabe qué estás montando. No hay pedido a tu nombre en la lista de clientes de un fabricante de hardware wallets, ni paquete identificable que interceptar entre el almacén y tu casa. Esa es la ventaja estructural del aparato, y a diferencia de un precio, no envejece.
|
**Son componentes económicos, fáciles de encontrar y fáciles de ensamblar.** No hay ninguna pieza rara, ninguna requiere herramienta especial, y todas se compran en cualquier tienda de electrónica.
|
||||||
|
|
||||||
|
> **Y esto es lo importante de esa lista: no hay ni un solo componente de Bitcoin.** Una placa de aficionado, una pantalla, una cámara, una tarjeta de memoria. **No estás asociando tu nombre a la compra de una hardware wallet en ningún registro, de ninguna tienda, en ningún país.**
|
||||||
|
>
|
||||||
|
> Compara con comprar un aparato hecho: hay un pedido a tu nombre, una dirección de envío, y una lista de clientes en manos de un fabricante — una relación de personas que probablemente tienen bitcoin. Aquí eso no existe. **No hay paquete con tu nombre que interceptar, ni lista en la que aparecer.**
|
||||||
|
>
|
||||||
|
> Es una ventaja que no se puede añadir después a un dispositivo comprado. O la tienes desde el principio, o no la tienes.
|
||||||
|
|
||||||
### ⚠️ Las tres trampas de la compra
|
### ⚠️ Las tres trampas de la compra
|
||||||
|
|
||||||
|
<!-- FOTO: dos pantallas Waveshare de 1,3" juntas, la 240x240 y otra de distinta resolución, para que se vea lo parecidas que son. -->
|
||||||
|
|
||||||
**1. La pantalla.** Waveshare fabrica varias placas de 1,3 pulgadas que **se parecen muchísimo y no son compatibles**. La que necesitas es la de **240×240 píxeles**. Si compras la de otra resolución, no funciona y no hay forma de arreglarlo por software. Comprueba la resolución en la descripción antes de pagar, no el aspecto de la foto.
|
**1. La pantalla.** Waveshare fabrica varias placas de 1,3 pulgadas que **se parecen muchísimo y no son compatibles**. La que necesitas es la de **240×240 píxeles**. Si compras la de otra resolución, no funciona y no hay forma de arreglarlo por software. Comprueba la resolución en la descripción antes de pagar, no el aspecto de la foto.
|
||||||
|
|
||||||
**2. El modelo de Pi.** La recomendada es la **Pi Zero 1.3**, precisamente porque **no lleva WiFi ni Bluetooth**: la propiedad air-gapped es física, no una opción que puedas desactivar por descuido.
|
**2. El modelo de Pi.** La recomendada es la **Pi Zero 1.3**, precisamente porque **no lleva WiFi ni Bluetooth**: la propiedad air-gapped es física, no una opción que puedas desactivar por descuido.
|
||||||
|
|
||||||
Las «W» y «2W» son más fáciles de encontrar y funcionan, pero llevan radio. Si acabas con una:
|
Las "W" y "2W" son más fáciles de encontrar y funcionan, pero llevan radio. Si acabas con una:
|
||||||
|
|
||||||
- Sigue siendo utilizable — el software de SeedSigner no usa la radio.
|
- Sigue siendo utilizable — el software de SeedSigner no usa la radio.
|
||||||
- Puedes **desactivar el WiFi/BT por hardware**. Hay un procedimiento documentado por [DesobedienteTecnologico](https://github.com/DesobedienteTecnologico/rpi_disable_wifi_and_bt_by_hardware) (proyecto en español, por cierto).
|
- Puedes **desactivar la radio por hardware**, quitando físicamente un componente. Cómo, con qué riesgo y cómo comprobar que funcionó: **Sección 3**.
|
||||||
- **Importante:** cada modelo usa una imagen distinta y **no son intercambiables**. Ver la tabla de §5.1.
|
- **Importante:** cada modelo usa una imagen distinta y **no son intercambiables**. Ver la tabla del punto 4.
|
||||||
|
|
||||||
**3. La alimentación.** Es la causa nº 1 de «no me funciona la cámara» y «se reinicia solo». **Una pila de 9 V no da suficiente corriente.** Usa un cargador de red decente o una batería externa (*power bank*) de las normales. Y usa un cable USB de datos-y-carga en buen estado: los cables de carga baratos tienen conductores finos y provocan caídas de tensión que se manifiestan como fallos aleatorios.
|
**3. La alimentación.** Es la causa nº 1 de "no me funciona la cámara" y "se reinicia solo". **Una pila de 9V no da suficiente corriente.** Usa un cargador de red decente o una batería externa (power bank) de las normales. Y usa un cable USB de datos-y-carga en buen estado: los cables de carga baratos tienen conductores finos y provocan caídas de tensión que se manifiestan como fallos aleatorios.
|
||||||
|
|
||||||
### Dónde comprar
|
### Dónde comprar
|
||||||
|
|
||||||
Cualquier distribuidor de electrónica sirve. Comprar en tres sitios distintos es incluso mejor: refuerza justo la ventaja del párrafo de arriba.
|
Cualquier distribuidor de electrónica sirve; no hay una cadena de suministro que proteger porque las piezas son genéricas y el software lo verificas tú. Comprar en tres sitios distintos es incluso mejor: nadie sabe que estás montando un firmante de Bitcoin.
|
||||||
|
|
||||||
Las carcasas impresas se pueden comprar hechas en [BTC Hardware Solutions](https://btc-hardware-solutions.square.site), o imprimirlas: los ficheros están en el [repositorio](https://github.com/SeedSigner/seedsigner/tree/main/enclosures). La **Open Pill** se imprime sin soportes y no necesita tornillería. La **Orange Pill** queda más acabada pero pide 4 separadores M2,5 de 10 mm y tornillos M2,5 de 6 y 12 mm.
|
Las carcasas impresas se pueden comprar hechas en [BTC Hardware Solutions](https://btc-hardware-solutions.square.site), o imprimirlas: los ficheros están en el [repositorio](https://github.com/SeedSigner/seedsigner/tree/main/enclosures). La **Open Pill** se imprime en ~2 h sin soportes y no necesita tornillería. La **Orange Pill** queda más acabada pero pide 4 separadores M2,5 de 10 mm y tornillos M2,5 de 6 y 12 mm.
|
||||||
|
|
||||||
**Y si no tienes impresora 3D ni ganas:** el aparato funciona perfectamente sin carcasa, con el cable de la cámara recogido bajo la pantalla y una goma elástica sujetándolo todo. No es elegante y da igual.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 2. Soldar o no: la decisión previa a comprar
|
## 2. La decisión que hay que tomar antes de comprar: soldar o no
|
||||||
|
|
||||||
La Pi Zero viene, por defecto, **sin los pines GPIO soldados**. La pantalla se conecta a esos 40 pines (2 filas de 20). Tienes tres caminos:
|
La Pi Zero viene, por defecto, **sin los pines GPIO soldados**. La pantalla se conecta a esos 40 pines (2 filas de 20). Tienes tres caminos:
|
||||||
|
|
||||||
| Opción | Qué implica | Para quién |
|
| Opción | Qué implica | Para quién |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **Comprar «Pi Zero WH»** | Viene con los pines ya soldados de fábrica | ⭐ **Si dudas, esta.** Te ahorra el único paso que puede arruinar la placa. Ojo: la WH lleva radio (trampa 2) |
|
| **Comprar "Pi Zero WH"** | Viene con los pines ya soldados de fábrica | ⭐ **Si dudas, esta.** Cuesta un poco más y te ahorra el único paso que puede arruinar la placa. Ojo: la WH lleva radio (ver trampa 2) |
|
||||||
|
| **Pines a martillo** (*hammer header*) | Pines con terminación de ojal que se colocan a golpes con una herramienta guía. Sin soldador, sin humo, sin práctica previa | Si quieres montarlo tú entero pero no soldar. Necesitas los pines, la herramienta guía y un **martillo, no un mazo** |
|
||||||
| **Soldar tú** | 40 puntos de soldadura. No es difícil, pero es la primera vez de mucha gente | Si quieres aprender, o ya tienes soldador |
|
| **Soldar tú** | 40 puntos de soldadura. No es difícil, pero es la primera vez de mucha gente | Si quieres aprender, o ya tienes soldador |
|
||||||
| **Cabezal a presión** (*hammer header*) | Se clava a martillo, sin estaño. Funciona, menos fiable a largo plazo | Solución de compromiso, y mucha gente no sabe que existe |
|
|
||||||
|
|
||||||
**Si sueldas, dos consejos que evitan la mayoría de los problemas:**
|
**Sobre los pines a martillo**, que es la opción que menos gente conoce: la parte del ojal entra en el agujero de la placa y al martillear se abre, haciendo contacto con el borde metálico. Lo único delicado es **que quede nivelado a lo largo de toda la fila**: martillea de forma pareja, sin ensañarte con un extremo. Es la vía que Lunaticoin recomienda en su guía y funciona bien.
|
||||||
|
|
||||||
|
> 🎥 **Si vas a soldar y nunca lo has hecho**, el proyecto tiene una [demostración de la técnica en una Pi Zero](https://www.youtube.com/watch?v=9cS17JiohjY). Cinco minutos de vídeo valen más que cinco párrafos aquí.
|
||||||
|
|
||||||
|
**Si sueldas, dos consejos que evitan el 90% de los problemas:**
|
||||||
|
|
||||||
- **Suelda antes de montar nada más.** Placa desnuda, buena luz, sin prisa.
|
- **Suelda antes de montar nada más.** Placa desnuda, buena luz, sin prisa.
|
||||||
- **Una soldadura fría no se ve, se nota.** Si la pantalla no enciende, los botones no responden o el aparato se reinicia, revisa las soldaduras antes que ninguna otra cosa. Una soldadura correcta es brillante y con forma de volcán; una fría es mate y abultada.
|
- **Una soldadura fría no se ve, se nota.** Si la pantalla no enciende, los botones no responden o el aparato se reinicia, revisa las soldaduras antes que ninguna otra cosa. Es la causa más frecuente. Una soldadura correcta es brillante y con forma de volcán; una fría es mate y abultada.
|
||||||
|
|
||||||
|
> **Si nunca has soldado, no empieces aquí.** Son 40 puntos y hay que hacerlos bien: un puente entre dos pines contiguos puede arruinar la placa. Comprar la versión con los pines ya puestos cuesta poco más y te quita de encima el único paso irreversible de todo el montaje. Aprende a soldar con otra cosa, no con el aparato que va a custodiar tu dinero.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -172,8 +143,6 @@ La Pi Zero viene, por defecto, **sin los pines GPIO soldados**. La pantalla se c
|
|||||||
|
|
||||||
Si acabaste con una **Zero W** o una **Zero 2 W** —son más fáciles de encontrar, y la WH con los pines puestos también lleva radio—, tienes un chip inalámbrico en la placa. Conviene entender qué significa antes de decidir si tocarlo.
|
Si acabaste con una **Zero W** o una **Zero 2 W** —son más fáciles de encontrar, y la WH con los pines puestos también lleva radio—, tienes un chip inalámbrico en la placa. Conviene entender qué significa antes de decidir si tocarlo.
|
||||||
|
|
||||||
**Y hazlo antes de montar**, por el motivo del punto 3.3: la comprobación necesita un sistema con terminal, y SeedSigner OS no lo tiene.
|
|
||||||
|
|
||||||
### 3.1 Las tres capas, y cuál puedes comprobar
|
### 3.1 Las tres capas, y cuál puedes comprobar
|
||||||
|
|
||||||
| | Qué es | ¿Puedes verificarlo tú? |
|
| | Qué es | ¿Puedes verificarlo tú? |
|
||||||
@@ -219,25 +188,40 @@ Ese orden importa: si lo dejas para después, te quedas sin forma de saber si sa
|
|||||||
|
|
||||||
### 4.1 La cámara
|
### 4.1 La cámara
|
||||||
|
|
||||||
Es la pieza más delicada y donde más gente se equivoca.
|
Es la pieza más delicada del montaje y donde más gente se equivoca.
|
||||||
|
|
||||||
1. En la Pi Zero, localiza el conector de cámara (el conector plano estrecho, en el borde).
|
1. En la Pi Zero, localiza el conector de cámara (el conector plano estrecho, en el borde).
|
||||||
2. **Tira suavemente de las pestañas hacia fuera.** Cuando están hundidas, sujetan el cable; hay que levantarlas para poder insertarlo. Si empujas con las pestañas hundidas, doblas el cable.
|
2. **Tira suavemente de las pestañas hacia fuera.** Cuando están hundidas, sujetan el cable; hay que levantarlas para poder insertarlo.
|
||||||
3. Inserta el cable plano **con los contactos dorados mirando hacia la cara inferior de la placa** (la cara sin componentes). **Esto es lo que más gente pone al revés.**
|
3. Inserta el cable plano **con los contactos dorados mirando hacia la cara inferior de la placa** (la cara sin componentes). Esto es lo que más gente pone al revés.
|
||||||
|
|
||||||
|
<!-- FOTO: cable de cámara insertado correctamente, primer plano, con los contactos dorados visibles y su orientación clara. Es LA foto de esta guía. -->
|
||||||
|
*[Falta foto: el cable bien puesto, contactos dorados a la vista. Si has montado uno, [mándanosla](CONTRIBUTING.md).]*
|
||||||
4. Vuelve a presionar las pestañas para fijar el cable.
|
4. Vuelve a presionar las pestañas para fijar el cable.
|
||||||
5. Comprueba que el cable entra recto y hasta el fondo, sin quedar torcido.
|
5. Comprueba que el cable entra recto y hasta el fondo, sin quedar torcido.
|
||||||
|
|
||||||
> El proyecto tiene [vídeos oficiales de montaje](https://www.youtube.com/@SeedSigner). Si solo vas a ver un minuto de vídeo en toda tu vida, que sea el del cable de la cámara: es un gesto que se entiende viéndolo y se explica fatal por escrito.
|
> 🎥 **Este es el paso que más gente hace mal, y verlo en movimiento ayuda más que leerlo.** El proyecto lo hace en el [minuto 3:43 de su vídeo de montaje](https://youtu.be/aIIc2DiZYcI?t=223). Si solo vas a ver un trozo de vídeo de toda la guía, que sea ese.
|
||||||
|
|
||||||
> El cable de la Pi Zero es **más estrecho** que el de las Raspberry Pi grandes. Si compraste una cámara «para Raspberry Pi» genérica, puede venir con el cable ancho y necesitarás el adaptador correcto. Comprueba esto al desembalar.
|
> El cable de la Pi Zero es **más estrecho** que el de las Raspberry Pi grandes. Si compraste una cámara "para Raspberry Pi" genérica, puede venir con el cable ancho y necesitarás un adaptador. **Compruébalo el día que llegue el paquete**, no cuando te sientes a montarlo: si falta el adaptador, es otra semana de espera.
|
||||||
|
|
||||||
### 4.2 La pantalla
|
### 4.2 La pantalla
|
||||||
|
|
||||||
|
<!-- FOTO: la pantalla encajada sobre los 40 pines, de perfil, para que se vea que no queda ningún pin al aire. -->
|
||||||
|
|
||||||
Encaja el HAT de Waveshare sobre los 40 pines GPIO. Va en una única orientación posible: la pantalla queda sobre la Pi, y los pines entran todos a la vez. **No fuerces.** Si no entra, algo está desalineado — retíralo y mira los pines.
|
Encaja el HAT de Waveshare sobre los 40 pines GPIO. Va en una única orientación posible: la pantalla queda sobre la Pi, y los pines entran todos a la vez. **No fuerces.** Si no entra, algo está desalineado — retíralo y mira los pines.
|
||||||
|
|
||||||
|
> ### ✅ Punto de control 1 — montado
|
||||||
|
>
|
||||||
|
> Antes de seguir, mira: el cable de la cámara entra recto y hasta el fondo, con los **contactos dorados hacia la cara de abajo** de la placa; la pantalla está encajada sobre los 40 pines sin ninguno doblado ni al aire; y **no has metido nada en la carcasa todavía**.
|
||||||
|
>
|
||||||
|
> Si algo de eso no cuadra, arréglalo ahora. Después de este punto, cada problema cuesta el triple de encontrar.
|
||||||
|
|
||||||
### 4.3 La carcasa (después de probar)
|
### 4.3 La carcasa (después de probar)
|
||||||
|
|
||||||
Una vez confirmado que arranca, la pantalla pinta, los botones responden y la cámara ve, ya puedes encajarlo.
|
Una vez que hayas confirmado que arranca, la pantalla pinta, los botones responden y la cámara ve, ya puedes encajarlo en la Open Pill o atornillar la Orange Pill.
|
||||||
|
|
||||||
|
> 🎥 El proyecto tiene el proceso completo en vídeo para las dos: [Open Pill](https://www.youtube.com/watch?v=gXPFJygZobE) (la simple, sin tornillería) y [Orange Pill](https://www.youtube.com/watch?v=aIIc2DiZYcI) (la de acabado, con separadores y tornillos).
|
||||||
|
|
||||||
|
**¿Y si no tienes impresora 3D ni acceso a una?** No es un bloqueo: el aparato funciona perfectamente sin carcasa. Queda una Raspberry con la pantalla encima y la cámara colgando de un cable plano, que es aparatoso pero no frágil. El apaño que funciona: **deja la cámara por detrás, recoge el cable sobrante sobre la placa y encaja la pantalla encima atrapándolo**, y sujeta el conjunto con una goma elástica. Feo y sólido. Ya imprimirás una cuando puedas.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -245,8 +229,6 @@ Una vez confirmado que arranca, la pantalla pinta, los botones responden y la c
|
|||||||
|
|
||||||
⚠️ **Ejecuta la verificación antes de abrir o montar el archivo `.img`.** Algunos sistemas operativos modifican el archivo al montarlo y la verificación fallaría.
|
⚠️ **Ejecuta la verificación antes de abrir o montar el archivo `.img`.** Algunos sistemas operativos modifican el archivo al montarlo y la verificación fallaría.
|
||||||
|
|
||||||
**Este es el paso que más gente se salta y el que más importa.** Cuando alguien te pase un enlace por Telegram diciendo «la última versión de X», esto es lo que hay que hacer. Cuesta cinco minutos.
|
|
||||||
|
|
||||||
### 5.1 Descarga la imagen de TU modelo
|
### 5.1 Descarga la imagen de TU modelo
|
||||||
|
|
||||||
Desde las [releases oficiales](https://github.com/SeedSigner/seedsigner/releases). Versión actual: **0.8.7**. Comprueba en esa página que no ha salido una más nueva.
|
Desde las [releases oficiales](https://github.com/SeedSigner/seedsigner/releases). Versión actual: **0.8.7**. Comprueba en esa página que no ha salido una más nueva.
|
||||||
@@ -261,7 +243,7 @@ Desde las [releases oficiales](https://github.com/SeedSigner/seedsigner/releases
|
|||||||
| Raspberry Pi 3 B | `seedsigner_os.0.8.7.pi02w.img` |
|
| Raspberry Pi 3 B | `seedsigner_os.0.8.7.pi02w.img` |
|
||||||
| Raspberry Pi 4 B / 400 | `seedsigner_os.0.8.7.pi4.img` |
|
| Raspberry Pi 4 B / 400 | `seedsigner_os.0.8.7.pi4.img` |
|
||||||
|
|
||||||
La imagen ocupa **menos de 42 MB** desde la v0.6.0. Si te parece que ha descargado demasiado rápido, es normal.
|
Cada imagen pesa unos **50 MB**, así que la descarga es rápida. Si te parece que ha ido demasiado deprisa, es normal: no es un sistema operativo de escritorio.
|
||||||
|
|
||||||
> Elegir mal no rompe nada: es software, no firmware. Simplemente no arrancará y volverás a grabar la SD. Si no sabes qué placa tienes, prueba `pi0`.
|
> Elegir mal no rompe nada: es software, no firmware. Simplemente no arrancará y volverás a grabar la SD. Si no sabes qué placa tienes, prueba `pi0`.
|
||||||
>
|
>
|
||||||
@@ -276,6 +258,8 @@ Los tres archivos, en la misma carpeta.
|
|||||||
|
|
||||||
### 5.2 Verificar la firma
|
### 5.2 Verificar la firma
|
||||||
|
|
||||||
|
*(El porqué de cada paso está en la Sección 4 / Paso 0b de la guía de autocustodia. Aquí van los comandos concretos.)*
|
||||||
|
|
||||||
**1. Importar la clave pública del proyecto:**
|
**1. Importar la clave pública del proyecto:**
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -290,9 +274,9 @@ Debe confirmar que se importó o actualizó 1 clave. **Ignora el ID y el correo
|
|||||||
gpg --verify seedsigner.0.8.7.sha256.txt.sig
|
gpg --verify seedsigner.0.8.7.sha256.txt.sig
|
||||||
```
|
```
|
||||||
|
|
||||||
Debe decir **«Good signature»**. Si dice «Bad signature», **para aquí**.
|
Debe decir **"Good signature"**. Si dice "Bad signature", **para aquí**.
|
||||||
|
|
||||||
El aviso `WARNING: This key is not certified with a trusted signature` es **normal** y se resuelve en el paso siguiente. Va a salir en rojo y va a asustar. No es un error.
|
El aviso `WARNING: This key is not certified with a trusted signature` es **normal** y se resuelve en el paso siguiente. No es un error.
|
||||||
|
|
||||||
**3. El paso crítico — ¿de quién es esa clave?**
|
**3. El paso crítico — ¿de quién es esa clave?**
|
||||||
|
|
||||||
@@ -306,7 +290,7 @@ Para no depender de una sola fuente, el proyecto publica la misma huella en tres
|
|||||||
- [Gist de GitHub](https://gist.github.com/SeedSigner/5936fa1219b07e28a3672385b605b5d2)
|
- [Gist de GitHub](https://gist.github.com/SeedSigner/5936fa1219b07e28a3672385b605b5d2)
|
||||||
- [seedsigner.com/keybase.txt](https://seedsigner.com/keybase.txt)
|
- [seedsigner.com/keybase.txt](https://seedsigner.com/keybase.txt)
|
||||||
|
|
||||||
¿Por qué varias? Porque si solo miras una, basta con que comprometan esa una. Si las cuatro coinciden, un atacante tendría que haberlas comprometido todas a la vez. **Si no coinciden, para aquí.**
|
Si las cuatro coinciden (Keybase + esas tres), un atacante tendría que haber comprometido todas a la vez. **Si no coinciden, para aquí.**
|
||||||
|
|
||||||
**4. Verificar la imagen:**
|
**4. Verificar la imagen:**
|
||||||
|
|
||||||
@@ -314,7 +298,7 @@ Linux o macOS:
|
|||||||
```
|
```
|
||||||
shasum -a 256 --ignore-missing --check seedsigner.0.8.7.sha256.txt
|
shasum -a 256 --ignore-missing --check seedsigner.0.8.7.sha256.txt
|
||||||
```
|
```
|
||||||
*(macOS anterior a Big Sur no soporta `--ignore-missing`; omítelo e ignora los avisos de archivos ausentes.)*
|
*(macOS anterior a v11 Big Sur no soporta `--ignore-missing`; omítelo e ignora los avisos de archivos ausentes.)*
|
||||||
|
|
||||||
Windows (PowerShell):
|
Windows (PowerShell):
|
||||||
```
|
```
|
||||||
@@ -332,9 +316,17 @@ Sparrow Wallet incluye `Tools` → `Verify Download`, con interfaz gráfica. Le
|
|||||||
|
|
||||||
### 5.4 Si quieres eliminar incluso esa confianza
|
### 5.4 Si quieres eliminar incluso esa confianza
|
||||||
|
|
||||||
Desde la v0.7.0 las imágenes son **reproducibles**: puedes compilarlas desde el código fuente y comprobar que el resultado es byte a byte idéntico al publicado. Eso elimina la confianza en quien firma las releases. Instrucciones en el [repo de seedsigner-os](https://github.com/SeedSigner/seedsigner-os/blob/main/docs/building.md).
|
Desde la v0.7.0, las imágenes son **reproducibles**: puedes compilarlas desde el código fuente y comprobar que el resultado es byte a byte idéntico al publicado. Eso elimina la confianza en quien firma las releases. Instrucciones en el [repo de seedsigner-os](https://github.com/SeedSigner/seedsigner-os/blob/main/docs/building.md).
|
||||||
|
|
||||||
Es también una forma útil de contribuir: compilar y publicar el hash que te sale.
|
Es también una forma útil de contribuir al proyecto: compilar y publicar el hash que te sale.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> ### ✅ Punto de control 2 — software verificado
|
||||||
|
>
|
||||||
|
> Tienes tres archivos de la **misma release**, `gpg --verify` dijo **"Good signature"**, la huella de la clave coincide con la publicada **en más de una fuente**, y `shasum` te devolvió **OK**.
|
||||||
|
>
|
||||||
|
> Si cualquiera de esos cuatro falla, **para aquí**. No es un paso opcional que puedas dejar para luego: es la diferencia entre instalar el software del proyecto e instalar el de quien te haya interceptado la descarga. Y no hay ningún mensaje de error más adelante que te avise de haberlo saltado.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -346,9 +338,9 @@ Tres opciones: **Raspberry Pi Imager**, **balenaEtcher** o `dd`. Las dos primera
|
|||||||
- Comprueba que el adaptador de MicroSD **no tiene el interruptor de bloqueo activado**.
|
- Comprueba que el adaptador de MicroSD **no tiene el interruptor de bloqueo activado**.
|
||||||
- Borra todo lo que hubiera en la tarjeta.
|
- Borra todo lo que hubiera en la tarjeta.
|
||||||
|
|
||||||
**En macOS:** al terminar, el sistema dirá que el disco es ilegible y ofrecerá inicializarlo. **Pulsa «Expulsar», nunca «Inicializar».** Es normal: macOS no sabe leer el sistema de archivos de Linux.
|
**En macOS:** al terminar, el sistema dirá que el disco es ilegible y ofrecerá inicializarlo. **Pulsa "Expulsar", nunca "Inicializar".** Es normal: macOS no sabe leer el sistema de archivos de Linux.
|
||||||
|
|
||||||
**En Windows:** usa Pi Imager como primera opción. Si la escritura falla, se cuelga o no empieza, prueba a ejecutar la aplicación **como administrador**. Si tienes activado *Acceso controlado a carpetas*, desactívalo temporalmente.
|
**En Windows:** usa Pi Imager como primera opción. Si la escritura falla, se cuelga o no empieza, prueba a ejecutar la aplicación **como administrador** (clic derecho). Si tienes activado *Acceso controlado a carpetas* (no viene activo por defecto), desactívalo temporalmente.
|
||||||
|
|
||||||
Si una de las dos aplicaciones te falla, prueba la otra: hay máquinas donde una funciona mejor que la otra.
|
Si una de las dos aplicaciones te falla, prueba la otra: hay máquinas donde una funciona mejor que la otra.
|
||||||
|
|
||||||
@@ -357,8 +349,8 @@ Si una de las dos aplicaciones te falla, prueba la otra: hay máquinas donde una
|
|||||||
## 7. Primer arranque y test de entrada/salida
|
## 7. Primer arranque y test de entrada/salida
|
||||||
|
|
||||||
1. Inserta la MicroSD.
|
1. Inserta la MicroSD.
|
||||||
2. Conecta la alimentación **por el puerto USB correcto** — la Pi Zero tiene dos micro-USB y solo uno es de alimentación (viene marcado `PWR`). La mitad de la gente se equivoca aquí.
|
2. Conecta la alimentación **por el puerto USB correcto** — la Pi Zero tiene dos micro-USB y solo uno es de alimentación (viene marcado `PWR`).
|
||||||
3. **Espera unos 45 segundos** a que aparezca el logo. La primera vez parece que no pasa nada. Ten paciencia antes de concluir que algo falla, y sobre todo **no empieces a desenchufar y reenchufar**.
|
3. **Espera unos 45 segundos** a que aparezca el logo. La primera vez parece que no pasa nada. Ten paciencia antes de concluir que algo falla.
|
||||||
|
|
||||||
### El test de I/O: hazlo siempre
|
### El test de I/O: hazlo siempre
|
||||||
|
|
||||||
@@ -373,9 +365,13 @@ Este test tarda dos minutos y es el que decide si puedes montar la carcasa o tie
|
|||||||
|
|
||||||
> **La SD se puede quitar después de arrancar.** Es una propiedad de seguridad deliberada: una vez cargado el sistema en memoria, puedes extraer la tarjeta y así garantizar que ningún dato secreto pueda escribirse en ella. Para uso normal no hace falta, pero es una opción disponible.
|
> **La SD se puede quitar después de arrancar.** Es una propiedad de seguridad deliberada: una vez cargado el sistema en memoria, puedes extraer la tarjeta y así garantizar que ningún dato secreto pueda escribirse en ella. Para uso normal no hace falta, pero es una opción disponible.
|
||||||
|
|
||||||
### Punto de control 1
|
---
|
||||||
|
|
||||||
Antes de seguir, deberías tener: **arranca · la pantalla pinta · todos los botones responden · la cámara ve.** Si algo de esto falla, no sigas: los pasos siguientes dan todo esto por supuesto y vas a perseguir el fallo equivocado.
|
> ### ✅ Punto de control 3 — el aparato funciona
|
||||||
|
>
|
||||||
|
> Arrancó y salió el logo. Cada botón y cada dirección del joystick responden en el test de I/O. La cámara muestra imagen en vivo.
|
||||||
|
>
|
||||||
|
> **Este es el momento de meterlo en la carcasa**, y no antes. Si has llegado aquí, el hardware está bien y todo lo que venga después es software y procedimiento — lo cual, dicho de otra forma, significa que **ya no vas a tener que volver a desmontar nada**.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -400,41 +396,34 @@ Antes de seguir, deberías tener: **arranca · la pantalla pinta · todos los bo
|
|||||||
|
|
||||||
`Settings`:
|
`Settings`:
|
||||||
|
|
||||||
- **Idioma:** desde la 0.8.7, el **español es idioma totalmente soportado** (y el catalán también). *Verificado en el código fuente del proyecto: ambos figuran en la lista de idiomas completos, no en beta.* Cámbialo nada más arrancar: quita la barrera del inglés de golpe.
|
- **Idioma:** desde la 0.8.7, el **español es idioma totalmente soportado** (y el catalán también). Cámbialo nada más arrancar: los menús de esta guía los verás igual, y te quita la barrera del inglés de golpe.
|
||||||
- **Red:** Mainnet para uso real; Testnet o Regtest para practicar (ver abajo).
|
- **Red:** Mainnet para uso real; Testnet o Regtest para practicar (ver la nota de abajo).
|
||||||
- **Densidad de QR:** si tu ordenador no lee bien los QR animados que muestra la SeedSigner, baja la densidad aquí.
|
- **Densidad de QR:** si tu ordenador no lee bien los QR animados que muestra la SeedSigner, baja la densidad aquí.
|
||||||
- **Tipos de script:** por defecto Native Segwit. También soporta Taproot, Nested Segwit y Legacy.
|
- **Tipos de script:** por defecto Native Segwit. También soporta Taproot, Nested Segwit y Legacy.
|
||||||
- **Modo persistente de ajustes:** los ajustes sí se pueden guardar en la SD (las seeds no).
|
- **Modo persistente de ajustes:** los ajustes sí se pueden guardar en la SD (no las seeds).
|
||||||
|
|
||||||
### SettingsQR: configurar en segundos
|
### SettingsQR: configurar varios aparatos en segundos
|
||||||
|
|
||||||
El proyecto mantiene un [generador de ajustes](https://github.com/SeedSigner/seedsigner-settings-generator) que produce un **código QR con toda una configuración**. Escaneas el QR con la SeedSigner y queda configurada de golpe: idioma, red, tipos de script, nivel de usuario.
|
El proyecto mantiene un [generador de ajustes](https://github.com/SeedSigner/seedsigner-settings-generator) que produce un **código QR con toda una configuración**. Escaneas el QR con la SeedSigner y queda configurada de golpe: idioma, red, tipos de script, nivel de usuario.
|
||||||
|
|
||||||
Útil si montas más de un aparato, o si vas a reconfigurar el tuyo a menudo — y no es raro, porque los ajustes se pierden si no activas el modo persistente.
|
Con un solo aparato no te ahorra apenas tiempo, pero sí te ahorra errores: dejas la configuración decidida con calma delante del ordenador en vez de a ciegas con un joystick, y si algún día tienes que reinstalar, la recuperas escaneando el mismo QR.
|
||||||
|
|
||||||
### Qué red usar para practicar
|
### ⚠️ Nota sobre la red de pruebas
|
||||||
|
|
||||||
**SeedSigner 0.8.7 no soporta signet.** Verificado contra el código fuente: las únicas redes declaradas son **Mainnet, Testnet y Regtest**. Si has leído en otro sitio que uses signet para practicar custodia —es buen consejo en general, porque testnet3 lleva años deteriorada— aquí no se te aplica.
|
La guía de autocustodia recomienda **signet** para practicar, porque testnet3 lleva años deteriorada. Pero el README de SeedSigner 0.8.7 lista **mainnet, testnet y regtest** — no menciona signet.
|
||||||
|
|
||||||
Tus opciones reales:
|
`[VERIFICAR]` antes de ponerte: mira en los ajustes de tu aparato qué redes ofrece tu versión concreta. Si no hay signet, te quedan dos:
|
||||||
|
|
||||||
- **Testnet**, con sus problemas conocidos (bloques irregulares, faucets que van y vienen). Sirve, con paciencia.
|
- **Testnet** — la práctica para casi todo el mundo. Arrastra problemas conocidos (faucets que van y vienen), pero para ensayar el ciclo de firma sirve.
|
||||||
- **Regtest** contra un nodo propio. Es la opción limpia: controlas la red entera, generas bloques a voluntad y no dependes de ningún faucet. Requiere tener un nodo.
|
- **Regtest** — tu propia red privada. Es la opción limpia, sin depender de faucets ni de la salud de una red pública, pero **necesitas un nodo Bitcoin corriendo**. Si ya lo tienes, ve por aquí.
|
||||||
|
|
||||||
---
|
|
||||||
---
|
|
||||||
|
|
||||||
# PARTE II — GENERAR LA SEED
|
|
||||||
|
|
||||||
> **Otro día que el montaje.** Ya está dicho arriba, pero es el consejo que más dinero ahorra de toda la guía.
|
|
||||||
|
|
||||||
**El porqué de todo esto**, resumido —y desarrollado entero en la [guía del método](https://git.bitcointxoko.org/pikaro/autocustodia-verificable), que se lee aparte y no hace falta para seguir esta—. Si los bits de tu clave los produces tú con un dado, el generador de aleatoriedad del aparato deja de importar: no tienes que confiar en que funcione bien, lo has hecho irrelevante. Esa es toda la tesis. Un dado corriente vale — el sesgo físico de un dado normal cuesta una fracción de bit sobre 256, y es el riesgo más pequeño de la lista con diferencia.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 10. El vector de prueba
|
## 10. Generar tu seed con dados
|
||||||
|
|
||||||
**Hazlo primero, siempre.** Vas a comprobar algo que casi nadie que tiene una hardware wallet ha comprobado nunca: que la suya calcula bien.
|
> **Lee antes las secciones 2, 3 y 5 de la [guía de autocustodia](https://git.bitcointxoko.org/pikaro/autocustodia-verificable)**: por qué la entropía propia importa, por qué 99 tiradas, cómo diseñar la passphrase y por qué no debes inventártela. Aquí solo va el manejo del aparato.
|
||||||
|
|
||||||
|
### 10.1 El vector de prueba (hazlo primero, siempre)
|
||||||
|
|
||||||
`Tools` → `New Seed` → dados → 24 palabras. Introduce:
|
`Tools` → `New Seed` → dados → 24 palabras. Introduce:
|
||||||
|
|
||||||
@@ -461,61 +450,29 @@ hole luggage safe present express tragic orbit shed switch metal identify path
|
|||||||
|
|
||||||
Fingerprint `8d9cced8`, zpub `zpub6qf9ziL759pzyhKMWaPfNSiCETkoA6oq3fbCDvXqcURiMtPnkEg3nH93W5mrSkvGPoJC9xTYZheYDsYoiYc5AkSk9iY3DkCJHkFgHMdijW6`.
|
Fingerprint `8d9cced8`, zpub `zpub6qf9ziL759pzyhKMWaPfNSiCETkoA6oq3fbCDvXqcURiMtPnkEg3nH93W5mrSkvGPoJC9xTYZheYDsYoiYc5AkSk9iY3DkCJHkFgHMdijW6`.
|
||||||
|
|
||||||
*Los cuatro valores verificados carácter a carácter contra `docs/dice_verification.md` del repositorio oficial.*
|
Son seeds públicas, publicadas en la documentación del proyecto. **Riesgo cero, diez minutos, y verifica tu unidad concreta con tu firmware concreto** antes de que custodie nada.
|
||||||
|
|
||||||
Son seeds públicas, publicadas por el proyecto. **Riesgo cero, diez minutos, y verifica tu unidad concreta con tu firmware concreto** antes de que custodie nada.
|
|
||||||
|
|
||||||
Si coincide: tu aparato convierte la entropía correctamente. Si no coincide: para y revisa qué versión tienes instalada.
|
Si coincide: tu aparato convierte la entropía correctamente. Si no coincide: para y revisa qué versión tienes instalada.
|
||||||
|
|
||||||
> **Por qué esto importa más de lo que parece.** El fallo del generador de aleatoriedad de Coldcard de julio de 2026 estuvo cinco años a la vista, en un firmware público que cualquiera podía leer. Si hubiera habido un vector de prueba que la gente pasara de rutina, se habría visto en 2021. Leer el código no bastó; comprobar el comportamiento sí habría bastado.
|
> ### ✅ Punto de control 4 — el aparato calcula bien
|
||||||
>
|
>
|
||||||
> Es también el argumento contra «es código abierto, es seguro»: **auditable no es lo mismo que auditado, y auditado no es lo mismo que saber qué código se está ejecutando de verdad en tu aparato.**
|
> El vector de prueba te devolvió **exactamente** las palabras esperadas.
|
||||||
|
>
|
||||||
|
> Eso te dice algo concreto y valioso: el código que va a convertir tus tiradas en tu seed funciona correctamente **en tu unidad y con tu versión de firmware**. No es una promesa del fabricante, es una comprobación tuya. Muy poca gente que tiene una hardware wallet ha hecho esto nunca.
|
||||||
|
>
|
||||||
|
> Si las palabras **no** coinciden: no sigas. Revisa que la imagen que grabaste corresponde a tu modelo de Pi, y que el vector que estás usando es el de tu versión.
|
||||||
|
|
||||||
### Punto de control 2
|
### 10.2 Generar la tuya
|
||||||
|
|
||||||
Tu aparato produce los vectores oficiales exactos. Ahora sabes que la máquina calcula bien. Todavía no sabes si tú vas a hacer bien tu parte — eso es lo siguiente.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 11. Las 99 tiradas
|
|
||||||
|
|
||||||
Cinco minutos de contexto antes de tirar el dado, porque explican las reglas:
|
|
||||||
|
|
||||||
- Un bit es una moneda al aire. Cada bit dobla las posibilidades. 24 palabras son **256 bits**.
|
|
||||||
- Cada tirada de un dado de seis caras aporta unos **2,585 bits**. 99 tiradas × 2,585 ≈ 256.
|
|
||||||
- Por eso son 99 y no 100: 99 es lo que pide la interfaz y la diferencia con 100 es de una décima de bit.
|
|
||||||
|
|
||||||
**El procedimiento:**
|
|
||||||
|
|
||||||
1. `Tools` → `New Seed` → dados → **24 palabras (99 tiradas)**.
|
1. `Tools` → `New Seed` → dados → **24 palabras (99 tiradas)**.
|
||||||
2. Tira el dado 99 veces, introduciendo cada resultado.
|
2. Tira el dado 99 veces, introduciendo cada resultado.
|
||||||
3. **Anota cada tirada en papel según la introduces.** Sin la secuencia no podrás hacer la verificación cruzada, y no hay forma de recuperarla.
|
3. **Anota cada tirada en papel según la introduces.** Sin la secuencia no podrás hacer la verificación cruzada, y no hay forma de recuperarla.
|
||||||
4. Al terminar, la SeedSigner calcula el checksum y muestra las 24 palabras en 6 pantallas de 4.
|
4. Al terminar, la SeedSigner calcula el checksum y muestra las 24 palabras en 6 pantallas de 4.
|
||||||
5. Si dudas de una tirada a mitad: **reinicia el proceso entero.** No «arregles» una tirada suelta.
|
5. Si dudas de una tirada a mitad: **reinicia el proceso entero**. No "arregles" una tirada suelta.
|
||||||
|
|
||||||
**Las tres reglas que evitan que te saboteen tus propias manos:**
|
⚠️ La secuencia de tiradas **es material de clave**. Nunca la fotografíes ni la guardes en digital.
|
||||||
|
|
||||||
1. **Decide el método antes de empezar y no improvises.** Nada de «esta tirada no la cuento» o «mejor rebarajo ahora». Ahí es donde se cuela el sesgo sin que te des cuenta, y es lo más contraintuitivo de todo esto: **tu criterio humano es el enemigo aquí**, no el dado.
|
### 10.3 Verificación cruzada [avanzado]
|
||||||
2. **Tira sobre una superficie dura y con espacio.** Un dado que apenas rueda sobre una toalla no es un dado aleatorio.
|
|
||||||
3. **Sin cámaras, sin testigos, sin móvil en la habitación.** La secuencia de tiradas **es material de clave**: quien la tenga tiene tu wallet. Nunca la fotografíes ni la guardes en digital.
|
|
||||||
|
|
||||||
> **Un detalle que casi ninguna guía cuenta: el problema del mapeo.** Seis caras no caben en un número entero de bits (2,585 no es entero). Una implementación ingenua que mapee directamente dado→3 bits pierde 0,415 bits por tirada, que en 99 tiradas son **41 bits perdidos**. Se resuelve con *rejection sampling* o trabajando en base 6, que es lo que hacen las implementaciones correctas.
|
|
||||||
>
|
|
||||||
> Esto le da un sentido concreto a la verificación cruzada del paso siguiente: no estás buscando un error visible, estás buscando palabras de aspecto perfectamente normal con menos entropía detrás de la que crees.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 12. Verificación cruzada
|
|
||||||
|
|
||||||
> ### 🔴 Con una seed de ENSAYO, nunca con la tuya
|
|
||||||
>
|
|
||||||
> Haz esta verificación **antes** de generar la seed que vas a usar: tira 99 veces, genera una seed desechable con el mismo dado y el mismo método, verifica **esa** contra las tres herramientas, descártala, y solo entonces genera la real.
|
|
||||||
>
|
|
||||||
> La seed de ensayo no va a tener fondos jamás, así que puedes teclearla en tu ordenador de siempre sin ningún riesgo. Y cubre un ataque que el vector público **no** cubre: un aparato manipulado podría reconocer el vector conocido y portarse bien solo con él, pero **no puede distinguir tus tiradas de ensayo de las de verdad**.
|
|
||||||
>
|
|
||||||
> **La seed que vayas a usar no se teclea en un ordenador nunca.** Ni air-gapped, ni en una sesión efímera que destruyas después.
|
|
||||||
>
|
|
||||||
> La documentación oficial de SeedSigner sugiere esa vía —verificar tu seed real en un Tails-OS que destruyes— y aquí somos más estrictos a propósito. El problema no es la idea, es que **tú no puedes comprobar que se cumplió**: no puedes verificar que no hubo memoria de intercambio en disco, que el firmware de un USB no persistió nada, que la radio estaba realmente desactivada, ni qué hace el procesador por debajo del sistema operativo. Es un consejo que suena riguroso y traslada el riesgo a un paso que el lector no puede auditar — justo el patrón que esta guía critica en todo lo demás. Y con el ensayo no pierdes verificación: ganas.
|
|
||||||
|
|
||||||
El repositorio incluye `tools/mnemonic.py`, que ejecuta exactamente el mismo código de conversión que corre en el dispositivo:
|
El repositorio incluye `tools/mnemonic.py`, que ejecuta exactamente el mismo código de conversión que corre en el dispositivo:
|
||||||
|
|
||||||
@@ -526,27 +483,29 @@ pip install embit && pip install -e . && cd tools
|
|||||||
python3 mnemonic.py dice <tus_99_tiradas>
|
python3 mnemonic.py dice <tus_99_tiradas>
|
||||||
```
|
```
|
||||||
|
|
||||||
También acepta `coins` para secuencias binarias (128 lanzamientos de moneda → 12 palabras) y `--zero-indexed-dice` si anotaste los dados como 0-5.
|
También acepta `coins` para secuencias binarias y `--zero-indexed-dice` si anotaste los dados como 0-5.
|
||||||
|
|
||||||
Contrasta el resultado con [iancoleman.io/bip39](https://iancoleman.io/bip39) y [bitcoiner.guide/seed](https://bitcoiner.guide/seed/).
|
Contrasta el resultado con [iancoleman.io/bip39](https://iancoleman.io/bip39) y [bitcoiner.guide/seed](https://bitcoiner.guide/seed/).
|
||||||
|
|
||||||
⚠️ **La trampa de iancoleman:** marca «Show entropy details», selecciona **«Base 10»** o **«Hex»** — **nunca la opción «Dice [1-6]»**, porque ahí el 6 se convierte en 0 y obtendrás un resultado distinto — y fija «Mnemonic Length» a 24 palabras.
|
⚠️ En iancoleman: marca "Show entropy details", selecciona **"Base 10"** o **"Hex"** — **nunca la opción "Dice [1-6]"**, porque ahí el 6 se convierte en 0 y obtendrás un resultado distinto — y fija "Mnemonic Length" a 24 palabras.
|
||||||
|
|
||||||
**Qué demuestra esto.** Tres programas escritos por gente distinta, en lenguajes distintos, con librerías distintas, dando el mismo resultado. Para que hubiera una puerta trasera tendría que estar en los tres a la vez. Eso es lo que significa determinista, y es la razón de que puedas fiarte del cálculo sin fiarte de nadie.
|
> ### 🔴 Con una seed de ENSAYO, nunca con la tuya
|
||||||
|
>
|
||||||
|
> Haz esta verificación **antes** de generar la seed que vas a usar: tira 99 veces, genera una seed desechable con el mismo dado y el mismo método, verifica **esa** contra las tres herramientas, descártala, y solo entonces genera la real.
|
||||||
|
>
|
||||||
|
> La seed de ensayo no va a tener fondos jamás, así que puedes teclearla en tu ordenador de siempre sin ningún riesgo. Y cubre el ataque que el vector público no cubre: un aparato manipulado podría reconocer el vector conocido y portarse bien solo con él, pero no puede distinguir tus tiradas de ensayo de las de verdad.
|
||||||
|
>
|
||||||
|
> **La seed que vayas a usar no se teclea en un ordenador nunca.** Ni air-gapped, ni en una sesión efímera que destruyas después. La documentación de SeedSigner sugiere esa vía para verificar seeds reales; aquí somos más estrictos a propósito, y la Sección 3.2 de la [guía de autocustodia](https://git.bitcointxoko.org/pikaro/autocustodia-verificable) explica por qué.
|
||||||
|
|
||||||
---
|
### 10.4 La opción de la cámara: qué es y cuándo vale
|
||||||
|
|
||||||
## 13. Los otros dos métodos: cámara y elegir palabras
|
En `Tools` vas a ver, junto a los dados, la opción de generar la seed **con una foto**. La vas a ver, alguien va a preguntar, y merece una respuesta mejor que "no la uses".
|
||||||
|
|
||||||
### La cámara: qué es y cuándo vale
|
|
||||||
|
|
||||||
En `Tools` vas a ver, junto a los dados, la opción de generar la seed **con una foto**. Merece una respuesta mejor que «no la uses».
|
|
||||||
|
|
||||||
**Cómo funciona.** SeedSigner encadena cuatro entradas en un SHA-256: el número de serie del Pi, el tiempo desde el arranque, hasta 50 fotogramas de la previsualización en vivo y la foto final. Las dos primeras aportan casi nada —el aparato no tiene reloj y el número de serie no es secreto—, así que **todo descansa en la cámara**.
|
**Cómo funciona.** SeedSigner encadena cuatro entradas en un SHA-256: el número de serie del Pi, el tiempo desde el arranque, hasta 50 fotogramas de la previsualización en vivo y la foto final. Las dos primeras aportan casi nada —el aparato no tiene reloj y el número de serie no es secreto—, así que **todo descansa en la cámara**.
|
||||||
|
|
||||||
**Y la cámara aporta de sobra.** Una escena iluminada mide del orden de **millones de bits** frente a los 256 que hacen falta. El dato que más sorprende: **una pared blanca vale prácticamente igual que una estantería llena de libros** —menos del 10% de diferencia—. La entropía no está en lo que fotografías, está en el **ruido del sensor**, que cambia en cada lectura. Dos fotos seguidas del mismo sitio, con el aparato quieto en la mesa, difieren en el 80% de sus valores de color.
|
**Y la cámara aporta de sobra.** Una escena iluminada mide del orden de **millones de bits** frente a los 256 que hacen falta. El dato que más sorprende: **una pared blanca vale prácticamente igual que una estantería llena de libros** —menos del 10% de diferencia—. La entropía no está en lo que fotografías, está en el **ruido del sensor**, que cambia en cada lectura. Dos fotos seguidas del mismo sitio, con el aparato quieto en la mesa, difieren en el 80% de sus valores de color. Y en 320 capturas medidas no se repitió ninguna.
|
||||||
|
|
||||||
O sea: **el método no es débil.** Si lo usas con luz, tienes una seed sólida.
|
O sea: **el método no es débil.** Con luz, produce una seed sólida.
|
||||||
|
|
||||||
#### Por qué esta guía usa dados igualmente
|
#### Por qué esta guía usa dados igualmente
|
||||||
|
|
||||||
@@ -556,10 +515,12 @@ Por una sola razón, y no es la cantidad de entropía. Lo dice el desarrollador
|
|||||||
|
|
||||||
Son unos 12 MB de fotogramas. No caben en un QR, y escribirlos a la tarjeta sería guardar tu seed en disco —justo lo que un aparato *stateless* no hace nunca—. Con tus 99 tiradas puedes ir a tres herramientas distintas y comprobar que dan lo mismo. Con una foto, **nadie podrá comprobar nunca nada sobre esa seed concreta**, ni tú.
|
Son unos 12 MB de fotogramas. No caben en un QR, y escribirlos a la tarjeta sería guardar tu seed en disco —justo lo que un aparato *stateless* no hace nunca—. Con tus 99 tiradas puedes ir a tres herramientas distintas y comprobar que dan lo mismo. Con una foto, **nadie podrá comprobar nunca nada sobre esa seed concreta**, ni tú.
|
||||||
|
|
||||||
Que un tercero independiente llegue por su cuenta y midiendo a la misma conclusión vale más que cualquier argumento propio.
|
Y eso pesa doble en una guía sobre verificar: los dados son el único método donde puedes comprobar tu resultado con tus propias manos, hoy y dentro de diez años.
|
||||||
|
|
||||||
#### Si la usas, cuatro reglas que nadie te va a decir
|
#### Si la usas, cuatro reglas que nadie te va a decir
|
||||||
|
|
||||||
|
Salen de mediciones sobre cuatro aparatos físicos, y ninguna es evidente:
|
||||||
|
|
||||||
| | |
|
| | |
|
||||||
|---|---|
|
|---|---|
|
||||||
| **1. Con luz** | Es lo único que importa de verdad. Cualquier escena vale |
|
| **1. Con luz** | Es lo único que importa de verdad. Cualquier escena vale |
|
||||||
@@ -569,72 +530,35 @@ Que un tercero independiente llegue por su cuenta y midiendo a la misma conclusi
|
|||||||
|
|
||||||
La regla 2 no es exageración: con el sensor sin luz se midieron fotos finales de **113, 177, 190 y 221 bits**, por debajo de los 256 que necesita una seed de 24 palabras. Y la capa de previsualización, que debería cubrir eso, **se cae al mismo tiempo**: a oscuras casi todos sus fotogramas son un negro constante que un atacante puede calcular sin haber visto nada. Los dos fallos tienen la misma causa —falta de luz— así que no son dos capas, es una.
|
La regla 2 no es exageración: con el sensor sin luz se midieron fotos finales de **113, 177, 190 y 221 bits**, por debajo de los 256 que necesita una seed de 24 palabras. Y la capa de previsualización, que debería cubrir eso, **se cae al mismo tiempo**: a oscuras casi todos sus fotogramas son un negro constante que un atacante puede calcular sin haber visto nada. Los dos fallos tienen la misma causa —falta de luz— así que no son dos capas, es una.
|
||||||
|
|
||||||
La regla 3 viene de un cambio introducido en la v0.7.0: si mantienes el botón pulsado atraviesas previsualización, captura y aceptación de un gesto, y no se encadena ni un fotograma.
|
La regla 3 viene de un tic introducido en la v0.7.0: si mantienes el botón pulsado atraviesas previsualización, captura y aceptación de un gesto, y no se encadena ni un fotograma.
|
||||||
|
|
||||||
La regla 4 es la que más incomoda: una pantalla de revisión **completamente negra** vino de capturas con cien veces lo necesario, y una **con ruido bien visible** de capturas muy por debajo del mínimo. Mirar la pantalla para quedarte tranquilo es mirar algo que no correlaciona.
|
La regla 4 es la que más incomoda: una pantalla de revisión **completamente negra** vino de capturas con cien veces lo necesario, y una **con ruido bien visible** de capturas muy por debajo del mínimo. Mirar la pantalla para quedarte tranquilo es mirar algo que no correlaciona.
|
||||||
|
|
||||||
> **De dónde salen estas cifras.** Del [análisis de entropía por imagen](https://kdmukai-bot.github.io/seedsigner-ai-analysis/image-entropy/) del propio proyecto, con los 340 MB de capturas en bruto publicados para que cualquiera lo contradiga. Ellos mismos avisan de que es un análisis asistido por IA de su desarrollador principal, **no una auditoría independiente**, y de que nadie ha reproducido las cifras todavía. Lo damos por bueno diciendo lo que ellos dicen.
|
> **De dónde salen estas cifras.** Del [análisis de entropía por imagen](https://kdmukai-bot.github.io/seedsigner-ai-analysis/image-entropy/) del propio proyecto, con los 340 MB de capturas en bruto publicados para que cualquiera lo contradiga. Ellos mismos avisan de que es un análisis asistido por IA de su desarrollador principal, **no una auditoría independiente**, y de que nadie ha reproducido las cifras todavía.
|
||||||
|
|
||||||
### Elegir las palabras a mano
|
#### El tercer método: elegir las palabras a mano
|
||||||
|
|
||||||
SeedSigner también deja **elegir tú las palabras** de la lista BIP-39 y calcula la última. Es válido si eliges esas palabras con una fuente aleatoria de verdad —dados y una tabla impresa— y **es un desastre si las eliges «al azar» de tu cabeza**, que es lo que hace casi todo el mundo.
|
SeedSigner también deja **elegir tú las palabras** de la lista BIP-39 y calcula la última. Es válido si eliges esas palabras con una fuente aleatoria de verdad —dados y una tabla— y **es un desastre si las eliges "al azar" de tu cabeza**, que es lo que hace casi todo el mundo. Si vas por ahí, usa una tabla y un dado, no tu intuición.
|
||||||
|
|
||||||
Un detalle que sorprende y explica por qué el aparato no te deja elegir la última: **la última palabra no la eliges tú del todo.** En una seed de 24, las 23 primeras son entropía pura y la 24 está en parte determinada por las anteriores (lleva el checksum). Con 23 palabras puestas, solo hay **8 palabras finales válidas** de las 2048.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 14. El backup, y cómo se comprueba
|
## 11. SeedQR: cargar la seed en segundos
|
||||||
|
|
||||||
**Se pierde más bitcoin por backups mal copiados que por hackeos.** Este es el paso que no se recorta nunca.
|
Escribir 24 palabras a mano en un joystick cada vez que quieras firmar es tedioso, y el tedio hace que la gente deje de verificar cosas. La respuesta del proyecto es la **SeedQR**: transcribes tu seed a un código QR **a mano**, en papel, y luego la SeedSigner la lee en un segundo con su cámara.
|
||||||
|
|
||||||
### Escribirlo
|
|
||||||
|
|
||||||
1. Transcribe las 24 palabras en papel (o en metal, si el patrimonio lo justifica). **Numeradas.**
|
|
||||||
2. Letra clara. **Ojo con `1`/`l`, `0`/`O`, `u`/`v`.**
|
|
||||||
3. Las primeras 4 letras de cada palabra BIP-39 la identifican de forma única — si dudas de una letra final, las cuatro primeras te salvan.
|
|
||||||
|
|
||||||
### Y ahora lo que casi nadie hace: comprobarlo
|
|
||||||
|
|
||||||
Un backup que nunca has probado no es un backup, es una esperanza.
|
|
||||||
|
|
||||||
1. **Apaga el aparato del todo.** Se olvida de tu seed, porque es *stateless*.
|
|
||||||
2. Vuelve a cargarla **leyendo tu papel**. No de memoria, no mirando la pantalla de antes. Del papel, tal y como lo escribiste.
|
|
||||||
3. Aplica la passphrase si la tienes.
|
|
||||||
4. **¿Coincide el fingerprint?**
|
|
||||||
|
|
||||||
Si no coincide, acabas de descubrir —sin dinero de por medio— un error que te habría costado todo el día que necesitaras recuperar. Ese es exactamente el propósito del paso.
|
|
||||||
|
|
||||||
### Dónde guardarlo
|
|
||||||
|
|
||||||
- **Nunca en digital.** Ni foto, ni gestor de contraseñas, ni nota cifrada, ni la nube.
|
|
||||||
- **Separado de la passphrase.** Si tienes passphrase, guardarla en el mismo papel que las palabras anula la capa entera: quien encuentre el papel tiene la wallet completa.
|
|
||||||
- **Las tiradas de dado, destrúyelas** una vez hecha la verificación cruzada. Ya no sirven para nada y son tu seed escrita dos veces.
|
|
||||||
- Piensa en fuego y agua, no solo en ladrones.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 15. SeedQR: cargar la seed en segundos
|
|
||||||
|
|
||||||
Escribir 24 palabras a mano con un joystick cada vez que quieras firmar es tedioso, y **el tedio hace que la gente deje de verificar cosas**. La respuesta del proyecto es la **SeedQR**: transcribes tu seed a un código QR **a mano**, en papel, y luego la SeedSigner la lee en un segundo con su cámara.
|
|
||||||
|
|
||||||
- La SeedSigner tiene un **modo guiado** para transcribirla, casilla a casilla.
|
- La SeedSigner tiene un **modo guiado** para transcribirla, casilla a casilla.
|
||||||
- El proyecto publica [plantillas imprimibles](https://github.com/SeedSigner/seedsigner/tree/main/docs/seed_qr/printable_templates) en varios formatos: rejilla, puntos, y formato «cromo» de tamaño tarjeta.
|
- El proyecto publica [plantillas imprimibles](https://github.com/SeedSigner/seedsigner/tree/main/docs/seed_qr/printable_templates) en varios formatos: rejilla, puntos, y formato "cromo" de tamaño tarjeta.
|
||||||
- **Estándar** (25×25 para 12 palabras, 29×29 para 24) o **Compact** (21×21 y 25×25), que ocupa menos casillas.
|
- **Estándar** (25×25 para 12 palabras, 29×29 para 24) o **Compact** (21×21 y 25×25), que ocupa menos casillas.
|
||||||
|
|
||||||
⚠️ **Una SeedQR es tu seed en texto plano.** No es cifrado ni ofuscación: cualquiera con un móvil la lee. Guárdala con exactamente el mismo cuidado que las palabras escritas, y nunca la fotografíes.
|
⚠️ **Una SeedQR es tu seed en texto plano.** No es cifrado ni ofuscación: cualquiera con un móvil la lee. Guárdala con exactamente el mismo cuidado que las palabras escritas, y nunca la fotografíes.
|
||||||
|
|
||||||
Es donde más gente confunde «difícil de leer para un humano» con «seguro».
|
Muy práctica. Y es donde más gente confunde "difícil de leer para un humano" con "seguro".
|
||||||
|
|
||||||
---
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# PARTE III — USAR
|
## 12. Crear la wallet en Sparrow y firmar una transacción
|
||||||
|
|
||||||
> A partir de aquí, la guía deja de ser un manual de construcción y pasa a ser lo que consultas con el aparato en la mano. Las entradas son cortas a propósito.
|
### 12.1 Crear la wallet
|
||||||
|
|
||||||
## 16. La wallet en Sparrow
|
|
||||||
|
|
||||||
Se hace **una vez**, y a partir de ahí Sparrow tiene tu xpub y puede ver saldos y componer transacciones sin la SeedSigner delante.
|
|
||||||
|
|
||||||
1. Sparrow → `File` → `New Wallet`. Ponle nombre.
|
1. Sparrow → `File` → `New Wallet`. Ponle nombre.
|
||||||
2. `Airgapped Hardware Wallet` → en la fila de SeedSigner, pulsa **`Scan`**. Se abre la cámara del ordenador.
|
2. `Airgapped Hardware Wallet` → en la fila de SeedSigner, pulsa **`Scan`**. Se abre la cámara del ordenador.
|
||||||
@@ -645,192 +569,47 @@ Se hace **una vez**, y a partir de ahí Sparrow tiene tu xpub y puede ver saldos
|
|||||||
|
|
||||||
Si el QR animado no se lee: baja la densidad de QR en los ajustes de la SeedSigner, o ajusta el brillo con el joystick (arriba/abajo).
|
Si el QR animado no se lee: baja la densidad de QR en los ajustes de la SeedSigner, o ajusta el brillo con el joystick (arriba/abajo).
|
||||||
|
|
||||||
> **El xpub es privado, aunque no sea secreto.** Con él cualquiera puede ver todo tu historial y tu saldo, aunque no pueda mover un satoshi. Trátalo como el extracto del banco: no lo publiques, y piensa a qué servidor está consultando tu Sparrow. Lo ideal es que consulte a tu propio nodo.
|
### 12.2 Firmar una transacción (PSBT)
|
||||||
|
|
||||||
---
|
Este es el ciclo de trabajo normal, y la parte que la guía de autocustodia no cubre porque es específica del modelo air-gapped:
|
||||||
|
|
||||||
## 17. La rutina de firmar
|
|
||||||
|
|
||||||
Este es el ciclo que vas a repetir siempre:
|
|
||||||
|
|
||||||
1. **En Sparrow**, compón la transacción normalmente y pulsa firmar. Sparrow muestra un **QR animado** con la PSBT (la transacción sin firmar).
|
1. **En Sparrow**, compón la transacción normalmente y pulsa firmar. Sparrow muestra un **QR animado** con la PSBT (la transacción sin firmar).
|
||||||
2. **En la SeedSigner**: carga tu seed (tecleando las palabras, o escaneando tu SeedQR) → `Scan` → apunta a la pantalla del ordenador.
|
2. **En la SeedSigner**: carga tu seed (tecleando las palabras, o escaneando tu SeedQR) → `Scan` → apunta a la pantalla del ordenador.
|
||||||
3. La SeedSigner muestra un **repaso detallado de la transacción**. **Léelo.**
|
3. La SeedSigner muestra un **repaso detallado de la transacción**: a dónde va, cuánto, la comisión, y —esto es lo importante— **verifica las salidas de cambio**. Léelo. Es tu única defensa contra un ordenador comprometido que te enseñe una cosa y firme otra.
|
||||||
4. Confirma. La SeedSigner muestra la PSBT **firmada** como QR animado.
|
4. Confirma. La SeedSigner muestra la PSBT **firmada** como QR animado.
|
||||||
5. **En Sparrow**: escanea ese QR. Sparrow reconstruye la transacción firmada y ya puedes difundirla.
|
5. **En Sparrow**: escanea ese QR. Sparrow reconstruye la transacción firmada y ya puedes difundirla.
|
||||||
|
|
||||||
**En ningún momento se conectan.** Todo pasa por códigos QR y tus ojos.
|
**En ningún momento se conectan.** Todo pasa por códigos QR y tus ojos.
|
||||||
|
|
||||||
### El paso 3 es el que justifica todo el aparato
|
### 12.3 Verificar direcciones de recepción
|
||||||
|
|
||||||
Esa pantalla pequeña y fea es tu única defensa contra un ordenador comprometido. Si tu Sparrow estuviera infectado y te enseñara una dirección mientras firma otra, **aquí es donde lo verías y en ningún otro sitio**.
|
`Scan` sobre la dirección que te muestra tu wallet de software: la SeedSigner confirma si esa dirección pertenece de verdad a tu wallet. Es la defensa contra malware que sustituye direcciones al copiar y pegar. **Hazlo siempre antes de recibir una cantidad significativa.**
|
||||||
|
|
||||||
Lo que tienes que mirar, en este orden:
|
|
||||||
|
|
||||||
| Qué | Por qué |
|
|
||||||
|---|---|
|
|
||||||
| **La dirección de destino** | Contrástala con la que te dio quien cobra, por un canal distinto. Los primeros y últimos caracteres no bastan si el malware genera direcciones parecidas: mira el medio también |
|
|
||||||
| **El importe** | Obvio, y aun así |
|
|
||||||
| **La comisión** | Una comisión absurda es señal de que algo va mal, y además es un error caro por sí solo |
|
|
||||||
| **Las salidas de cambio** | La SeedSigner marca cuál es el cambio y que vuelve a ti. Si dice que no reconoce el cambio, **para**: puede significar que el cambio va a una dirección que no controlas |
|
|
||||||
|
|
||||||
**Si algo no cuadra, no firmes.** Cancelar no cuesta nada; una firma no se deshace.
|
|
||||||
|
|
||||||
### Cuando la seed no está cargada
|
|
||||||
|
|
||||||
Es lo normal: el aparato la olvidó al desenchufarlo. Cárgala con la SeedQR (un segundo) o tecleando las palabras. **Que la seed no persista no es una molestia que se tolera, es la propiedad que hace que puedas dejar el aparato en un cajón sin preocuparte.**
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 18. Recibir: verificar la dirección
|
## 13. Pruébalo antes de comprar: el simulador
|
||||||
|
|
||||||
El malware que sustituye direcciones al copiar y pegar es de los ataques más rentables y más comunes que hay. La defensa cuesta veinte segundos:
|
Existe un **simulador que corre el firmware real de SeedSigner en una pestaña del navegador**: [bitsaga.be/seedsigner-simulator](https://bitsaga.be/seedsigner-simulator/) ([código](https://github.com/bitsagarob/seedsigner-simulator), MIT).
|
||||||
|
|
||||||
`Scan` sobre la dirección que te muestra tu wallet de software → la SeedSigner confirma si esa dirección pertenece de verdad a tu wallet.
|
No es un vídeo ni una imitación rehecha para parecerse: es el mismo Python que corre en el aparato, con la pantalla dibujada en un canvas, los botones en tu teclado y la cámara en tu webcam. Puedes recorrer el menú entero, cargar una seed, meter tiradas de dado, poner passphrase, exportar el xpub y firmar una PSBT.
|
||||||
|
|
||||||
**Hazlo siempre antes de recibir una cantidad significativa**, y siempre la primera vez que uses una wallet nueva.
|
**Para qué sirve, y aquí está lo bueno:** puedes recorrer el menú entero, meter tiradas de dado y poner una passphrase **mientras esperas a que lleguen las piezas**. Cuando montes el aparato ya no será la primera vez que ves esas pantallas. También sirve para decidir si el flujo te convence antes de gastar nada, y para enseñárselo a alguien: una pantalla de 1,3 pulgadas no se comparte, una pestaña del navegador sí.
|
||||||
|
|
||||||
También puedes recorrer tus direcciones desde `Tools` → explorador de direcciones, útil si quieres comprobar una concreta sin tener Sparrow delante.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 19. Convivir con la passphrase
|
|
||||||
|
|
||||||
La passphrase es una capa **independiente** de la seed: suma su propia entropía y no comparte el fallo de la que ya tienes. Es la mejor defensa si algún día se descubre que tu seed se generó mal.
|
|
||||||
|
|
||||||
**Cómo se hace bien.** *(La [guía del método](https://git.bitcointxoko.org/pikaro/autocustodia-verificable) lo trata a fondo, con la tabla de bits por palabra según el sistema que uses.)* Una frase pensada por una persona aporta del orden de 1 a 3 bits por carácter. Cinco o seis palabras sacadas con dados de una lista aportan **11 a 13 bits por palabra**. No es parecido: es otro orden de magnitud. Genera la passphrase con dados y una tabla, igual que la seed.
|
|
||||||
|
|
||||||
**Y ahora el aviso que salva fondos:**
|
|
||||||
|
|
||||||
> ⚠️ **La passphrase no tiene checksum ni corrección de errores.** Una letra distinta, una mayúscula distinta, un espacio de más, y obtienes **otra wallet completamente distinta y vacía, sin ningún mensaje de error**. No te avisa. Nunca. Es matemáticamente indistinguible de haberla escrito bien.
|
|
||||||
|
|
||||||
Consecuencias prácticas para el uso diario:
|
|
||||||
|
|
||||||
- **Verifica el fingerprint cada vez que cargues la seed con passphrase.** Es la única confirmación de que la escribiste bien. Apúntate el fingerprint correcto en un sitio que no sea el papel de la seed.
|
|
||||||
- **Guárdala separada de las palabras**, y con la misma exactitud: mayúsculas, espacios, acentos, todo.
|
|
||||||
- **Alguien más tiene que poder encontrarla** si te pasa algo, o el plan de herencia se rompe justo aquí. Es el fallo más común de las passphrases: protegen tan bien que también te protegen de tus herederos.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 20. Multisig, que es su razón de existir
|
|
||||||
|
|
||||||
Bajar el coste de cada firmante de varios cientos de euros a poco más que un puñado de componentes genéricos es, literalmente, la razón por la que existe SeedSigner. Un multisig 2-de-3 con tres aparatos que montas tú es algo que antes no estaba al alcance de casi nadie.
|
|
||||||
|
|
||||||
**Lo esencial:**
|
|
||||||
|
|
||||||
- **M-de-N**: 2-de-3 significa tres llaves de las que cualquiera dos bastan. Para perderlo todo tendrían que fallar varias a la vez.
|
|
||||||
- **Mezcla fabricantes.** Si tus tres firmantes son idénticos, el fallo de uno os tumba los tres — que es exactamente lo que pasó con el fallo del generador de aleatoriedad de Coldcard. Una SeedSigner + un aparato comercial + otro distinto es mucho más robusto que tres iguales.
|
|
||||||
- **Guarda el descriptor.** En multisig, las seeds **no bastan** para recuperar: hace falta también el descriptor de la wallet (qué llaves, qué quorum, qué derivación). Guárdalo con los backups, en varios sitios. Es la causa nº 1 de multisigs irrecuperables.
|
|
||||||
- **Ensáyalo entero en testnet o regtest** antes de meter nada. Y ensaya la recuperación, no solo la firma.
|
|
||||||
|
|
||||||
> **Un multisig mal montado es más peligroso que un singlesig bien hecho.** Más llaves son más formas de equivocarse, más complejidad y un plan de herencia más difícil. Móntalo cuando el patrimonio lo justifique y cuando entiendas bien el singlesig, no antes.
|
|
||||||
|
|
||||||
---
|
|
||||||
---
|
|
||||||
|
|
||||||
# PARTE IV — MANTENER
|
|
||||||
|
|
||||||
## 21. Actualizar el firmware
|
|
||||||
|
|
||||||
Actualizar es grabar una SD nueva. **No hay proceso de actualización que pueda romper tu aparato ni tocar tu seed**, porque el aparato no guarda nada: es la ventaja escondida de ser *stateless*.
|
|
||||||
|
|
||||||
El procedimiento es el mismo de §5 y §6: descargar, **verificar la firma y el hash otra vez** (no te saltes esto porque ya lo hiciste una vez), grabar.
|
|
||||||
|
|
||||||
**Después de actualizar, vuelve a pasar el vector de prueba de §10.** Son diez minutos y comprueban que la versión nueva calcula igual que la vieja. Si alguna vez no coincidiera, querrías enterarte antes de firmar nada.
|
|
||||||
|
|
||||||
Conviene mirar las [releases](https://github.com/SeedSigner/seedsigner/releases) de vez en cuando, sin obsesión: no es un aparato conectado, no hay urgencia de parchear.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 22. Si se rompe, se pierde o te lo quitan
|
|
||||||
|
|
||||||
**Aquí es donde el diseño paga.** Ninguno de los tres casos es una emergencia:
|
|
||||||
|
|
||||||
| Situación | Qué pasa | Qué haces |
|
|
||||||
|---|---|---|
|
|
||||||
| **Se rompe** | Nada. No había nada dentro | Montas otra, o cargas tu seed en cualquier wallet compatible con BIP-39 |
|
|
||||||
| **Lo pierdes** | Nada, si estaba desconectado. La memoria se borró al desenchufarlo | Igual que arriba |
|
|
||||||
| **Te lo roban** | Nada, si estaba desconectado | Igual que arriba |
|
|
||||||
| **Te lo quitan encendido y con la seed cargada** | **Problema serio.** No tiene elemento seguro ni PIN que resista | Mueve los fondos desde otra copia de la seed, cuanto antes |
|
|
||||||
| **Pierdes el papel** | **Es lo único irrecuperable.** El papel era el dispositivo | Si aún controlas los fondos, genera una wallet nueva y muévelos ahí ya |
|
|
||||||
|
|
||||||
**El caso que sí tienes que tener planificado es el último.** Todo lo demás se resuelve comprando piezas otra vez. Por eso el esfuerzo va al backup y no al aparato.
|
|
||||||
|
|
||||||
**Recuperar sin una SeedSigner a mano:** tus 24 palabras son un estándar (BIP-39). Puedes cargarlas en Sparrow, en otro firmante, o en cualquier wallet compatible. No estás atado a este aparato ni a este proyecto — que es justo lo que se buscaba.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 23. Revisión periódica
|
|
||||||
|
|
||||||
Una vez al año, o cuando cambies algo importante:
|
|
||||||
|
|
||||||
- [ ] **Prueba el backup en frío.** Carga la seed desde el papel, sin mirar nada más, y comprueba el fingerprint. Es la única forma de saber que sigue siendo válido.
|
|
||||||
- [ ] **Comprueba que el papel sigue legible** y donde debe estar.
|
|
||||||
- [ ] **Comprueba que alguien más podría encontrarlo** si tú no estás — incluida la passphrase.
|
|
||||||
- [ ] **Pasa el vector de prueba** si actualizaste el firmware desde la última revisión.
|
|
||||||
- [ ] **Haz una transacción pequeña** de ida y vuelta. Un procedimiento que no practicas se olvida, y el día que lo necesites será con prisa.
|
|
||||||
|
|
||||||
---
|
|
||||||
---
|
|
||||||
|
|
||||||
# PARTE V — REFERENCIA
|
|
||||||
|
|
||||||
## 24. Resolución de problemas
|
|
||||||
|
|
||||||
| Síntoma | Causas, en orden de probabilidad |
|
|
||||||
|---|---|
|
|
||||||
| **No enciende el LED de la Pi** | Esperar un minuto · Cable USB en el puerto equivocado (usa el marcado `PWR`) · Volver a grabar la SD · Fuente insuficiente |
|
|
||||||
| **La pantalla no muestra nada** | Esperar (el arranque tarda ~45 s) · **Alimentación insuficiente** (una pila de 9 V no basta) · Soldaduras · Pantalla del modelo equivocado (¿240×240?) |
|
|
||||||
| **Un botón o el joystick no responde** | Test de I/O para identificar cuál · **Soldadura fría** en ese pin |
|
|
||||||
| **La cámara se reinicia o se cuelga** | **Alimentación insuficiente** · Conexión del cable a la placa de la cámara · Test de I/O |
|
|
||||||
| **La cámara ve pero no detecta el QR** | Ajustar el brillo con el joystick · Bajar la densidad de QR en ajustes · Bajarla también en el ordenador · Alejar/acercar · Evitar reflejos |
|
|
||||||
| **Arranca pero se reinicia solo** | Alimentación · Cable USB de mala calidad · Escritura de la SD no verificada |
|
|
||||||
| **No arranca tras grabar la SD** | Imagen del modelo equivocado (tabla de §5.1) · Escritura fallida: regrabar esperando a la verificación · Probar la otra aplicación de grabado |
|
|
||||||
| **El QR animado de Sparrow no entra** | Bajar la densidad · Pantalla del ordenador más brillante · Mover despacio |
|
|
||||||
| **El fingerprint no coincide** | Passphrase mal escrita (mayúsculas, espacios) · Una palabra mal transcrita · Tipo de script distinto |
|
|
||||||
| **Sparrow no reconoce el cambio** | Wallet equivocada abierta · Tipo de script distinto al de la wallet |
|
|
||||||
|
|
||||||
**El diagnóstico que resuelve la mitad de los casos:** si algo raro pasa, **cambia la fuente de alimentación y el cable** antes de tocar nada más. Y si no, revisa soldaduras.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 25. Limitaciones y qué NO hace
|
|
||||||
|
|
||||||
Ser honesto sobre esto es parte de la guía:
|
|
||||||
|
|
||||||
- **No guarda tu seed.** Si pierdes el papel, se acabó.
|
|
||||||
- **No es un producto con soporte.** Es un proyecto de voluntarios, sin empresa detrás y sin ánimo de lucro (licencia MIT). Eso es una virtud —no hay incentivo comercial que corrompa el diseño— y significa que si algo falla, la ayuda es una comunidad de Telegram, no un servicio técnico.
|
|
||||||
- **No tiene elemento seguro ni protección antimanipulación física.** Si alguien accede al aparato mientras está encendido con tu seed cargada, la ve. Su seguridad viene de ser *stateless* y air-gapped, no de resistir un ataque físico.
|
|
||||||
- **La pantalla es pequeña y los controles, básicos.** Escribir 24 palabras a mano es lento. Por eso existen las SeedQR.
|
|
||||||
- **No sustituye a entender lo que haces.** Es la herramienta que menos confianza pide y la que más atención exige.
|
|
||||||
|
|
||||||
**Y lo que hace muy bien:** generar la clave sin tener que confiar en nadie, hacer el multisig accesible, y un modelo de firma donde tú ves cada dato que entra y sale.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 26. El simulador: probarlo sin comprar nada
|
|
||||||
|
|
||||||
Existe un **simulador que corre el firmware real de SeedSigner en una pestaña del navegador**: [bitsaga.be/seedsigner-simulator](https://bitsaga.be/seedsigner-simulator/?firmware=stock) ([código](https://github.com/bitsagarob/seedsigner-simulator), MIT).
|
|
||||||
|
|
||||||
No es un vídeo ni una imitación: es el mismo Python que corre en el aparato, con la pantalla dibujada en un canvas, los botones en tu teclado y la cámara en tu webcam. Puedes recorrer el menú entero, meter tiradas de dado, poner passphrase, exportar el xpub y firmar una PSBT.
|
|
||||||
|
|
||||||
**Para qué sirve:** ver si el flujo te convence antes de comprar nada, practicar el procedimiento sin hardware, y enseñárselo a alguien.
|
|
||||||
|
|
||||||
### Por qué este sí y no cualquier simulador
|
### Por qué este sí y no cualquier simulador
|
||||||
|
|
||||||
Esta guía repite que no te fíes de software que no puedes comprobar, así que toca aplicárselo. Está **anclado a un tag de release y no a una rama** (una rama se reescribe, un tag publicado no), su **compilación es reproducible** con el sha256 publicado, una máquina limpia lo reconstruye en cada cambio, y **corre la batería de tests de los propios autores de SeedSigner**. MIT, con el origen y la licencia de cada dependencia listados.
|
Esta guía repite que no te fíes de software que no puedes comprobar, así que toca aplicárselo. Lo que ofrece: está **anclado a un tag de release y no a una rama** (una rama se reescribe, un tag publicado no), su **compilación es reproducible** con el sha256 publicado para que lo rehagas y compares byte a byte, una máquina limpia lo reconstruye en cada cambio, y **corre la batería de tests de los propios autores de SeedSigner**. MIT, con el origen y la licencia de cada dependencia listados.
|
||||||
|
|
||||||
Vale la pena mirarlo aunque no lo uses, como ejemplo de qué aspecto tiene un proyecto que se deja verificar.
|
Vale la pena mirarlo aunque no lo uses, como ejemplo de qué aspecto tiene un proyecto que se deja verificar.
|
||||||
|
|
||||||
### Tres trampas prácticas
|
### Tres trampas prácticas
|
||||||
|
|
||||||
**1. Arranca en el fork de smartcard, no en SeedSigner a secas.** La página abre por defecto un fork con menús de tarjetas SeedKeeper y Satochip que tu aparato **no va a tener**. Usa siempre [`?firmware=stock`](https://bitsaga.be/seedsigner-simulator/?firmware=stock).
|
**1. Arranca en el fork de smartcard, no en SeedSigner a secas.** La página abre por defecto el fork de 3rdIteration, que añade menús de tarjetas SeedKeeper y Satochip que tu aparato **no va a tener**. Para ver lo mismo que tendrás en la mano, usa el control de *Firmware* o entra directamente por [`?firmware=stock`](https://bitsaga.be/seedsigner-simulator/?firmware=stock).
|
||||||
|
|
||||||
**2. Mainnet funciona de verdad.** Arranca en testnet a propósito, pero mainnet está disponible y **deriva claves reales y firma transacciones reales**.
|
**2. Mainnet funciona de verdad.** Arranca en testnet a propósito, pero mainnet está disponible en los ajustes y **deriva claves reales y firma transacciones reales**. Una clave derivada en una pestaña del navegador es una clave real.
|
||||||
|
|
||||||
> ⚠️ **No metas ahí ninguna seed tuya. Ninguna. Nunca.** Ni «solo para ver». Una pestaña del navegador no es un air gap y el sistema de ficheros de Pyodide no es un elemento seguro — lo dicen ellos mismos. Usa la seed pública del vector de §10, que existe justo para esto.
|
> ⚠️ **No metas ahí ninguna seed tuya. Ninguna. Nunca.** Ni "solo para ver". Una pestaña del navegador no es un air gap y el sistema de ficheros de Pyodide no es un elemento seguro — lo dicen ellos mismos. Usa una seed de prueba pública, como la del vector de la Sección 10.1, que existe justo para esto.
|
||||||
|
|
||||||
**3. Si lo quieres alojar tú**, necesita las cabeceras `Cross-Origin-Opener-Policy` y `Cross-Origin-Embedder-Policy` o no arranca, y la cámara exige `https` o `localhost`. Está documentado en su `docs/SELF-HOSTING.md`. Una vez cargada, la página funciona sin conexión.
|
**3. Si lo quieres alojar tú** —para tenerlo offline, o por no depender de una web ajena— necesita dos cabeceras (`Cross-Origin-Opener-Policy` y `Cross-Origin-Embedder-Policy`) o no arranca, y la cámara exige `https` o `localhost`: por `http` en una IP de la red local no hay API de cámara que valer. Lo tienen documentado en `docs/SELF-HOSTING.md`. Una vez cargada, la página funciona sin conexión.
|
||||||
|
|
||||||
### Qué no simula
|
### Qué no simula
|
||||||
|
|
||||||
@@ -838,74 +617,57 @@ Sin microSD, sin nada que dependa de hilos, sin comportamientos por tiempo. Y so
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 27. Chuleta de consulta rápida
|
## 14. Resolución de problemas
|
||||||
|
|
||||||
**Los cuatro puntos de control**
|
| Síntoma | Causas, en orden de probabilidad |
|
||||||
|
|
||||||
1. Arranca, pinta, botones y cámara OK (test de I/O) → §7
|
|
||||||
2. El vector de prueba da las palabras exactas → §10
|
|
||||||
3. La verificación cruzada con seed de ensayo coincide en tres herramientas → §12
|
|
||||||
4. El backup recargado desde el papel da el fingerprint correcto → §14
|
|
||||||
|
|
||||||
**Antes de firmar, mira siempre**
|
|
||||||
|
|
||||||
Dirección de destino (entera, no solo los extremos) · importe · comisión · **salidas de cambio**. Si algo no cuadra, no firmes.
|
|
||||||
|
|
||||||
**Vectores de prueba oficiales**
|
|
||||||
|
|
||||||
| | 99 tiradas → 24 palabras | 50 tiradas → 12 palabras |
|
|
||||||
|---|---|---|
|
|
||||||
| Primera palabra | `eyebrow` | `hole` |
|
|
||||||
| Última palabra | `radio` | `path` |
|
|
||||||
| Fingerprint | — | `8d9cced8` |
|
|
||||||
|
|
||||||
Las secuencias completas, en §10. Los dos vectores empiezan igual (`65515223131652132161133154444`…), así que **no te fíes del principio para distinguirlos**: cuenta las tiradas o mira la palabra final.
|
|
||||||
|
|
||||||
**Nunca**
|
|
||||||
|
|
||||||
- Tecleas tu seed real en ningún ordenador. Nunca. Ni air-gapped.
|
|
||||||
- Fotografías la seed, las tiradas o la SeedQR.
|
|
||||||
- Guardas la passphrase junto a las palabras.
|
|
||||||
- Compras hardware wallets de segunda mano *(cambia una fuga de datos por un ataque de cadena de suministro, que es mucho peor)*.
|
|
||||||
- Usas la opción «Dice [1-6]» de iancoleman.
|
|
||||||
- Confías en «es código abierto» como razón para no verificar.
|
|
||||||
|
|
||||||
**Menús que se usan a menudo**
|
|
||||||
|
|
||||||
| Quiero | Ruta |
|
|
||||||
|---|---|
|
|---|---|
|
||||||
| Cargar la seed | `Scan` (SeedQR) o `Seeds` → introducir palabras |
|
| **No enciende el LED de la Pi** | Esperar un minuto · Cable USB en el puerto equivocado (usa el marcado `PWR`) · Volver a grabar la SD · Fuente insuficiente |
|
||||||
| Firmar | `Scan` sobre el QR de Sparrow |
|
| **La pantalla no muestra nada** | Esperar (el arranque tarda ~45 s) · **Alimentación insuficiente** (una pila de 9V no basta: usa red o power bank) · Soldaduras · Pantalla del modelo equivocado (¿240×240?) |
|
||||||
| Exportar xpub | `Seeds` → seed → `Export Xpub` → `Single Sig` → `Native Segwit` → `Sparrow` |
|
| **Un botón o el joystick no responde** | Test de I/O para identificar cuál · **Soldadura fría** en ese pin |
|
||||||
| Verificar una dirección | `Scan` sobre la dirección |
|
| **La cámara se reinicia o se cuelga** | **Alimentación insuficiente** · Conexión del cable a la placa verde de la cámara · Test de I/O |
|
||||||
| Seed nueva con dados | `Tools` → `New Seed` → dados |
|
| **La cámara ve pero no detecta el QR** | Ajustar el brillo con el joystick (arriba/abajo) · Bajar la densidad de QR en ajustes · Bajar la densidad en el ordenador · Alejar/acercar · Evitar reflejos en la pantalla |
|
||||||
| Test de I/O | `Settings` → `Input/Output Tests` |
|
| **Arranca pero se reinicia solo** | Alimentación · Cable USB de mala calidad · Escritura de la SD no verificada |
|
||||||
| Cambiar idioma o red | `Settings` |
|
| **No arranca tras grabar la SD** | Imagen del modelo equivocado (ver tabla del punto 4) · Escritura fallida: regrabar esperando a que termine la verificación · Probar la otra aplicación de grabado |
|
||||||
|
| **El QR animado de Sparrow no entra** | Bajar la densidad · Pantalla del ordenador más brillante · Mover despacio |
|
||||||
|
|
||||||
**Si algo falla:** cambia el cable y el cargador antes que nada. Luego mira soldaduras.
|
**El diagnóstico que resuelve la mitad de los casos:** si algo raro pasa, **cambia la fuente de alimentación** antes de tocar nada más. Y si no, revisa soldaduras.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 28. Fuentes
|
## 15. Limitaciones y qué NO hace
|
||||||
|
|
||||||
- [Repositorio oficial de SeedSigner](https://github.com/SeedSigner/seedsigner) — README, lista de materiales, tabla de imágenes por modelo, procedimiento de verificación.
|
Ser honesto sobre esto es parte de la guía:
|
||||||
- [`docs/dice_verification.md`](https://github.com/SeedSigner/seedsigner/blob/dev/docs/dice_verification.md) — vectores de prueba de §10, verificados carácter a carácter contra el código fuente.
|
|
||||||
|
- **No guarda tu seed.** Si pierdes el papel, se acabó. No hay recuperación posible desde el aparato.
|
||||||
|
- **No es un producto con soporte.** Es un proyecto de voluntarios, sin empresa detrás y sin ánimo de lucro (licencia MIT). Eso es una virtud —no hay incentivo comercial que corrompa el diseño— y significa que si algo falla, la ayuda es una comunidad de Telegram, no un servicio técnico.
|
||||||
|
- **No tiene elemento seguro ni protección antimanipulación física.** Si alguien accede al aparato mientras está encendido con tu seed cargada, la ve. Su seguridad viene de ser stateless y air-gapped, no de resistir un ataque físico.
|
||||||
|
- **La pantalla es pequeña y los controles, básicos.** Escribir 24 palabras a mano es lento. Por eso existen las SeedQR.
|
||||||
|
- **No sustituye a entender lo que haces.** Es la herramienta que menos confianza pide y la que más atención exige.
|
||||||
|
|
||||||
|
**Y lo que hace muy bien:** private key generation trustless, multisig barato (bajar el coste de un quorum de varios cientos de euros a menos de 50 por firmante es su razón de existir), y un modelo de firma donde tú ves cada dato que entra y sale.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 16. Fuentes
|
||||||
|
|
||||||
|
- [Repositorio oficial de SeedSigner](https://github.com/SeedSigner/seedsigner) — README (lista de materiales, versión 0.8.7, tabla de imágenes por modelo, procedimiento de verificación).
|
||||||
|
- [`docs/dice_verification.md`](https://github.com/SeedSigner/seedsigner/blob/dev/docs/dice_verification.md) — vectores de prueba de la sección 10.1, verificados carácter a carácter.
|
||||||
- [`docs/legacy_hardware.md`](https://github.com/SeedSigner/seedsigner/blob/dev/docs/legacy_hardware.md) — modificaciones para Raspberry Pi 1.
|
- [`docs/legacy_hardware.md`](https://github.com/SeedSigner/seedsigner/blob/dev/docs/legacy_hardware.md) — modificaciones para Raspberry Pi 1.
|
||||||
- [FAQ oficial](https://seedsigner.com/faqs/) — base de la tabla de resolución de problemas de §24.
|
- [FAQ oficial](https://seedsigner.com/faqs/) — tabla de resolución de problemas de la sección 14.
|
||||||
- [Página de hardware](https://seedsigner.com/hardware/).
|
- [Página de hardware](https://seedsigner.com/hardware/).
|
||||||
- [Generador de SettingsQR](https://github.com/SeedSigner/seedsigner-settings-generator).
|
- [Generador de SettingsQR](https://github.com/SeedSigner/seedsigner-settings-generator).
|
||||||
- [seedsigner-os](https://github.com/SeedSigner/seedsigner-os/blob/main/docs/building.md) — compilación reproducible.
|
- [seedsigner-os](https://github.com/SeedSigner/seedsigner-os/blob/main/docs/building.md) — compilación reproducible.
|
||||||
- [Desactivar WiFi/BT por hardware](https://github.com/DesobedienteTecnologico/rpi_disable_wifi_and_bt_by_hardware) — DesobedienteTecnologico.
|
- [Desactivar WiFi/BT por hardware](https://github.com/DesobedienteTecnologico/rpi_disable_wifi_and_bt_by_hardware) — DesobedienteTecnologico.
|
||||||
- [Release 0.8.7 «The Summer of SeedSigner»](https://github.com/SeedSigner/seedsigner/releases/tag/0.8.7) (8 jul 2026).
|
- [Release 0.8.7 "The Summer of SeedSigner"](https://github.com/SeedSigner/seedsigner/releases/tag/0.8.7) (8 jul 2026) — notas de versión, idiomas y cambios.
|
||||||
- [Análisis de entropía por imagen](https://kdmukai-bot.github.io/seedsigner-ai-analysis/image-entropy/) — mediciones de §13.
|
- [seedsigner-simulator](https://github.com/bitsagarob/seedsigner-simulator) de bitsaga (MIT) — el firmware real en el navegador, con builds reproducibles y atestación. Sección 13.
|
||||||
- [seedsigner-simulator](https://github.com/bitsagarob/seedsigner-simulator) de bitsaga (MIT) — §26.
|
|
||||||
- [Guía de montaje de Lunaticoin en Estudio Bitcoin](https://estudiobitcoin.com/seedsigner-que-es-y-guia-de-montaje/) — tiene fotos reales del montaje. De 2021 y con datos desfasados, pero complementaria: la suya monta, esta explica por qué y cómo verificar.
|
|
||||||
- Grupo de [Telegram](https://t.me/joinchat/GHNuc_nhNQjLPWsS) del proyecto, para dudas concretas.
|
- Grupo de [Telegram](https://t.me/joinchat/GHNuc_nhNQjLPWsS) del proyecto, para dudas concretas.
|
||||||
|
|
||||||
|
**Vídeos oficiales de montaje**, enlazados en su sitio a lo largo de la guía: [técnica de soldadura en Pi Zero](https://www.youtube.com/watch?v=9cS17JiohjY) · [montaje Open Pill](https://www.youtube.com/watch?v=gXPFJygZobE) · [montaje Orange Pill](https://www.youtube.com/watch?v=aIIc2DiZYcI), con el conector de la cámara en el [minuto 3:43](https://youtu.be/aIIc2DiZYcI?t=223).
|
||||||
|
|
||||||
|
**Otra guía en castellano.** [SeedSigner: qué es y guía de montaje](https://estudiobitcoin.com/seedsigner-que-es-y-guia-de-montaje/), de Lunaticoin en Estudio Bitcoin. Es de 2021 y documenta el firmware 0.4.4, así que sus datos de software y precios están desfasados — pero **tiene fotos reales del montaje** y de ella sale la opción de los pines a martillo y el apaño de la goma elástica que recogemos aquí. Si andas perdido con las piezas en la mano, sus imágenes ayudan.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Sin garantías.** Material educativo elaborado por usuarios, no un producto oficial de SeedSigner. Verifica cada paso contra la documentación oficial. Practica en una red de pruebas antes de usar fondos reales.
|
**Sin garantías.** Material educativo elaborado por usuarios, no un producto oficial de SeedSigner. Verifica cada paso contra la documentación oficial. Practica en una red de pruebas antes de usar fondos reales.
|
||||||
|
|
||||||
**Licencia CC BY-SA.** Copia, traduce y adapta.
|
*Última actualización: agosto de 2026 · software v0.8.7. Escrita por Pícaro para Bitcoin Txoko.*
|
||||||
|
|
||||||
*Última actualización: septiembre de 2026 · software v0.8.7 · datos técnicos verificados contra el código fuente del proyecto. Escrita por Pícaro para Bitcoin Txoko.*
|
|
||||||
|
|||||||
Reference in New Issue
Block a user