Saltar al contenido

Seedsigner: qué es y guía de montaje

SeedSigner es un dispositivo bitcoin DIY — hazlo tu mismo — que por algo menos de 40€ te permite tener un dispositivo firmante adicional para tus claves privadas simples o de multifirma. El proyecto empezó a finales de 2020 y actualmente se encuentra en su versión de firmware 0.4.4. Para entenderlo mejor, saber qué puedes hacer con él y cómo montar uno, pieza a pieza, empieza aquí una guía sobre SeedSigner.

💡 NOTA: este artículo es un compendio y actualización de una serie de posts que hice en Patreon entre abril y mayo de 2021. Aprovecho para agradecerles de nuevo que me apoyen económicamente para que pueda dedicar más tiempo a hacer este tipo de material.

Qué es SeedSigner

En pocas palabras: SeedSigner es un dispositivo DIY de firma criptográfica. Al verlo, mucha gente piensa que SeedSigner es un tipo de hardware wallet (o cartera/wallet física), pero no. Este dispositivo es un híbrido entre tu semilla — la que tienes en un papel o una plancha de metal — y una hardware wallet. Me explico:

Una wallet física de bitcoin es un dispositivo minimalista pensado para guardar, con la máxima seguridad posible, claves privadas de bitcoin. Una hardware wallet debe proteger tu clave criptográfica frente a ataques físicos o remotos. Si un atacante te robase tu hww, debería costarle cientos de miles de euros poder extraer tu semilla o que fuera directamente imposible

Resumiéndolo en puntos, con una hardware wallet puedes:

  1. generar una frase mnemónica (12-24 palabras) en las que acumular bitcoin
  2. almacenar una copia de las 24 palabras, 24/7, 365 días al año, de forma segura
  3. mantener la copia aislada de internet en todo momento
  4. pueden generar direcciones de recepción a través del dispositivo
  5. firmar y enviar transacciones a la red bitcoin sin filtrar la private key
  6. y consultar el balance de mi wallet en la cadena de bloques

Es la conjugación perfecta de la seguridad de una caja fuerte y la utilidad de una navaja suiza.

Entonces ¿por qué SeedSigner no es al 100% una hww? SeedSigner es únicamente una navaja suiza. Un dispositivo que, comparado con una wallet física, «solo» hace las siguientes funciones:

  1. sí genera frases mnemónicas (añadido en versiones recientes)
  2. no almacena permanentemente, ni con seguridad física, ninguna semilla
  3. sí mantiene una copia aislada (seguridad remota)
  4. no genera direcciones a las que recibir bitcoin en el dispositivo (todavía)
  5. sí firma y envía transacciones a la red bitcoin sin filtrar private key
  6. y sí puedes consultar el balance a través de una aplicación como Specter Desktop, Sparrow o Bluewallet

En un SeedSigner nunca guardarás las claves privadas de tus bitcoin, pero sí que podrás hidratar una frase mnemónica (tus 12-24 palabras) y permitirte hacerla interactuar con el protocolo de Bitcoin de forma temporal.

Por qué tener uno

Sin llegar a ser tan completa como una hardware wallet convencional ¿por qué deberíamos tener un SeedSigner? Te lo resumo en 3 puntos:

1. Herramienta multiusos Bitcoin

Cuando te adentras a entender un poco cómo funciona Bitcoin, cómo se crean sus direcciones y cómo gestionar claves privadas sin riesgo de que un virus o malware te vacie la cartera siempre acabas topando con un vacio. Cómo el famoso eslabón perdido de la evolución humana, es eslabón perdido Bitcoin:

  • Tienes tus 12 palabras escritas en un papel y las quieres hacer operar con bitcoin. MEEC 🚨 te falta la pieza que conecte lo analógico con lo digital de forma segura
  • Tienes tus palabras y te gustaría generar una cartera Watch-Only para ver qué saldo tiene sin poner en riesgo tus fondos MEEC 🚨 Necesitas una hww que lo haga por ti (Nunca introducir tu llave privada en un ordenador o dispositivo conectado)
  • Has creado tu propia frase mnemónica con tu propia aleatoriedad utilizando el sistema de Semilla-moneda y quieres calcular también tu última palabra MEEC 🚨 te falta una herramienta 100% offline que haga operaciones de hash por ti
  • Te gustaría tener en papel un QR con tu clave privada para poder escanearla en wallets y asi poder operar con ella de forma rápida MEEC 🚨 te falta algo que te permita imprimir QR sin utilizar odenador, ni impresora WiFi. Si utilizas alguno de estos 2 últimos, estarás poniendo en riesgo tus fondos

SeedSigner es la herramienta más minimalista que vas a encontrar que cubra todas estas necesidades en un solo dispositivo. Es la herramienta multiusos Bitcoin por excelencia. La navaja suiza sin competencia.

Con SeedSigner vas a poder:

  • Hidratar tu semilla en un dispositivo 100% offline y de forma totalmente segura
  • Vas a poder exportar tu clave pública extendida (XPub) a otras wallets como Bluewallet o Specter para poder generar direcciones bitcoin, recibir fondos y gastarlos sin riesgo a que un malware de tu ordenador o teléfono te vacie la cartera (sólo trabajarás con Watch-Only y PSBT) .
    • Por ejemplo, en bluewallet importarás el XPub, tendrás una watch only en la que generarás las direcciones Bitcoin y cuando quieras gastar tendrás que hacer interactuar tu SeedSigner con Bluewallet a através de sus cámaras.
    • Nota curiosa: Cuando escribí el artículo original, SeedSigner solo operaba con multifirma y no generaba XPubs de semillas simples. Por esa razón, en abril de 2021 fantaseaba con la siguiente idea de: Imagina: de tu semilla creada a mano > a SeedSigner para calcular tu checksum y exportar el XPUB > importar en BlueWallet > acumular sats en frío en tu wallet creada a mano. BOOM Pues esto ya es posible 🙂
  • Vas a poder profundizar en la madriguera de la seguridad creando tu semilla 100% offline con una moneda y vas a poder calcular la última palabra con la función ‘Calculate Last Word’ de SeedSigner 🔝
  • Cuando hayas creado o hidratado una semilla escribiendo todas las palabras, vas a poder ver tu clave privada en formato QR* y con una pauta que hayas impreso (para 12 o 24 palabras), vas a poder copiarlo a mano en un momento!

*en verdad es tu entropía + checksum pero de ello se deriva tu XPriv

A todo lo anterior súmale que mientras lo montas e investigas qué hace cada uno de sus menús, te vas a entretener mucho — una gran actividad familiar —, vas a aprender muchísimo Bitcoin y también le perderás el miedo a las soldaduras 😅

2. Dispositivo Multifirma espectacular

A diferencia de la gran mayoría de hardware wallets, SeedSigner se ha ideado para operar con multifirmas (aunque también opera con semillas simples). Las direcciones multifirma, son unos contratos inteligentes de Bitcoin que permiten gestionar fondos entre varios participantes. Una particularidad de las multifirmas es que puedes definir quorums:

  • En una multifirma de 3 participantes puedes definir que solo 2 firmantes sean necesarios para mover fondos.

Esto no es solo interesante para la gestión de fondos comunes, como podrían ser los de una empresa, si no que también es muy útil para la gestión segura de fondos propios. Siguiendo con el ejemplo, una multifirma 2 de 3 te permitiría bloquear fondos en una combinación de 3 semillas y si se diera el caso de que perdieras el acceso a una de ellas, todavía podrías seguir gastando dadas ciertas condiciones (para más información sobre cómo respaldar con seguridad una Multifirma, escuchar el podcast con Darío Sneidermanis).

Uno de los problemas de las multifirmas — a parte de su mayor complejidad — es la necesidad de disponer de varios dispositivos de hardware firmantes. Si queremos hacer una 2 de 3 estariamos necesitando 3 dispositivos de aproximadamente 120€ cada uno (olvídate de Ledger Nano S y Trezor Model One. Aunque son funcionales no están pensados para multifirma y te obligan a asumir riesgos).

Para reducir costes, Michael Flaxman plantea en su guía de seguridad Bitcoin utilizar solo dos dispositivos de hardware y una semilla generada por ordenador con seedpicker.net .

No me gusta mucho esa solución porque acepta que puedas estar comprometiendo una de tus tres semillas. Si tu ordenador estuviera lleno de malware, un atacante podría tener ya en su poder una de tus semillas y solo necesitaría robarte una de las otras 2 para vaciarte un multifirma. Not good. (mejor SeedSigner + Semilla-Moneda que es totalmente offline).

¿Qué hardware wallets serían una opción válida?

Mis favoritas sin lugar a dudas son:

  • BitBox02 ~ 120€
  • Specter DIY ~120€ (Con cámara y códigos QR)
  • Keystone ~130€ (Con cámara y códigos QR)
  • y ColdCard (menos práctica: sin códigos QR) ~120€

Pues bien, llegados a este punto, ¿y si te dijera que por el precio de cualquiera de las anteriores podrías construirte 3 SeedSigners?

Et Voila! El foco de SeedSigner no es el de ser tu único dispositivo firmante en una multifirma, pero sí el de permitirte reducir el coste de tu setup multisig drásticamente y poder operar 100% offline.

3. La privacidad de no comprar componentes Bitcoin

A todo lo anterior hay que sumarle un último aspecto muy importante: cuando compres todos los componentes necesarios para montar un SeedSigner, no vas a estar asociando en ningún caso tu nombre a ningún componente Bitcoin. Todo lo que necesitas son componentes de uso general (una Raspberry Pi Zero, un powerbank etc ).

Como ya pasa con SpecterDIY, con SeedSigner tienes un dispositivo 100% bitcoiner sin haber compartido, en ningún paso, tu información personal con un e-commerce Bitcoin.

Podrías tener todos los Bitcoin de Satoshi gestionados en un SeedSigner y nadie tendría ni idea.

Además es una excelente herramienta anti-censura. Si un gobierno prohibiera la venta de HWW para intentar desincentivar la acumulación de riqueza en Bitcoin, con SeedSigner lo tendrían más difícil.

¿No te parecen razones suficientes para decidirte a montar tu herramienta de soberanía personal por menos de 40€?

Cómo montar mi SeedSigner

Montar un SeedSigner es una experiencia que recomiendo. Si no eres muy manitas techy vas a aprender un montón y te vas a relacionar con el ecosistema Raspberry + Bitcoin.

Conseguir hacer funcionar un SeedSigner no requiere ningún conocimiento previo, más allá del de saber utilizar un ordenador.

Qué vas a necesitar

A la hora de montar tu SeedSigner hay un par de cosas que has de tener en cuenta. Primero de todo ¿Qué tanto te quieres machar las manos?

  • Para los que buscan la aventura total: Necesitarás un soldador y estaño. (más económico si ya dispones de uno o te lo puede dejar un conocido y más feeling de estar haciendo un DIY)
  • Para los que no quieren complicaciones (como yo): Necesitarás un martillo y comprar un par de piezas adicionales (proceso algo más caro pero a prueba de torpes)

Después, has de saber que si buscas ahorrar en su montaje, la lista de la compra va a ser un poco caótica. Tendrás que comprar en al menos 3 sitios distintos y quizá esperar un par de semanas hasta recibirlo todo. Si el precio no es un problema y no quieres esperar, seguramente podrás comprar casi todo en Amazon.

Componentes

Dicho esto, para montar tu SeedSigner vas a necesitar (en la lista no hay ningún referral link 😉 )

Raspberry Zero v1.3 – ni la W ni la WH. La 1.3 a secas

  • Cómprala en Primoroni UK a 4,6€ (con el Brexit quizá haya aduanas)
  • Cómprala en Kubii FR a 5,5€
  • Curiósamente no se encuentra en Amazon, ¿Demasiado barata?

Pantalla WaveShare de 1,3 pulgadas y 240×240 de resolución (importante, hay otras identicas con menos que no sirven!)

  • Cómprala en su web a 13,99$ ~ 11,7€
  • Cómprala en amazon a 19,99€

Cámara Raspberry Rev1.3

  • Cómprala en Aliexpress por 3-5€ Te dejo varios links 123
  • Cómprala en Amazon por 9€ (hay más opciones. Puedes buscar más) NOTA: Es importante que la que compres te venga con el cable que se estrecha (en la parte amarilla). La raspberry zero tiene una entrada más estrecha.

MicroSD – Que sea al menos de 4GB

  • Cómprala en Amazon a 7,5€ de 32GBNOTA: Necesitarás conectarla a tu ordenador para grabar la imagen de SeedSigner. Si necesitas un adaptar a SD o un hub, será el momento de tenerlo en cuenta

Powerbank con cable MicroUSB

  • NOTA: importante que tenga modo de bajo voltaje para que no se apage alimentando a SeedSigner. Hay opciones muy económicas desde 15€.

6. – Opcional – Impresora 3d (propia o de un conocido) para imprimir la Orange Pill u Open Pill

Opción aventurera con soldador:

  1. Pines GPIO macho normales
    • Cómpralos en Kubii FR a 1,51€
  2. Soldador + Estaño NOTA: Proceso de soldado 👇 https://youtu.be/gtCwC4VAQZo?t=57

Opción conservador sin soldador

La idea aquí es utilizar unos pines que parecen una aguja (tienen un final en forma de ojal) y que yo solo los he encontrado en Primoroni. La idea es poner la parte del ojal ‘dentro’ de la raspberry y al martillear provocar que el ojal se abra y entre en contacto con los bordes de la circumferencia.

Yo seguí este proceso y es muy sencillo. Solo has de procurar que quede nivelado (igual de martilleado) a lo largo de la raspi.

  1. Pines GPIO macho con terminación de ojal de aguja
  2. Herramienta para martillear los pines
    • Cómpralo en Primoroni a 6,32€ (en este precio incluyen un par de pines macho/hembra)
  3. Martillo (No mazo) NOTA: Proceso de montaje de pines martilleando 👇 https://youtu.be/IncLvO3mmdc?t=120

Coste

Sin tener en cuenta el coste de los envíos y tomando como referencia los precios aquí expuestos (en mayo de 2021) podemos conseguir un SeedSigner a:

  • 30,31€ en versión soldada
  • 35,12€ en versión martilleada

Al tener un coste tan bajo pero depender de tantos proveedores, el envío va a tener un impacto muy grande en el precio. Intenta agrupar al máximo tus pedidos en 2-3 máximo para intentar que ese coste no exceda de 20€.

SeedSigner ha liberado los diseños de la Orange Pill y la Open Pill con lo que si tienes algún conocido con una impresora 3d, invítale a un par de cervezas y que te haga una.

Ensamblando tu SeedSigner

En esta sección te voy a explicar paso a paso cómo montar tu SeedSigner. Si eres de los que no mira ni las instrucciones de un mueble de Ikea y quieres averiguar a tu aire cómo montarlo, puedes ponerte de fondo el video que hizo SeedSigner al respecto:

Versión Orange Pill

Versión Open Pill

1-2 Descargar imagen y grabarla en la microSD

Como has podido ver en la caótica lista de la compra, algunos de los componentes van a tardar. Por ello, mientras esperas puedes:

  • unirte a la comunidad de **Telegram** de SeedSigner
  • familiarizarte con su **GitHub** y descargar(1) la imagen del sistema operativo que vamos a ejecutar en nuestra Raspberry Zero 1.3 (Sección Releases)

Dentro de releases tendrás que descargar el archivo que toque en ese momento y que contenga la imagen del sistema operativo. Encuentras el archivo más abajo de la página de releases.

Cuando recibas la MicroSD(2) vamos a proceder a grabar la imagen (el .zip descargado 👆) utilizando Balena Etcher. Éste es un programita genial que te permite hacer una copia exacta de, por ejemplo, la SD del developer de SeedSigner (el .zip).

En balena etcher seleccionamos primero el archivo Zip en la parte de la izquierda. En el centro seleccionamos la SD en la que queremos replicar la imagen (importante seleccionar el dispositivo correcto o destruiremos la información de otro USB/SD etc) y cuando esté todo correcto como en la imagen, le damos a flash.

El proceso tardará uno 5 minutos + otros 5 minutos de verificación. Si todo ha salido bien te saldrá una lucecita verde en el programa conforme la información se grabó correctamente.

Si te saliera una lucecita roja y una indicación de que no se ha podido verificar, prueba a repetir el proceso, a cambiar de adaptador de SD y en última instancia a cambiar de microSD.

NOTA: Si ya tienes una raspberry (3B, 4B etc), has de saber que con la MicroSD + la pantalla waveshare ya puedes testear SeedSigner en ellas.

Si ya funciona en éstas ¿por qué no lo hacemos en estas Raspberrys y utilizamos la Zero 1.3?

Porque estas raspis son más avanzadas y todas tienen conectividad wireless (wifi y bluetooth) con lo que destruiría el aislamiento que queremos conseguir con la Zero. Pero si quieres probar qué tal funciona puedes hacerlo como hice yo en una Pi 3B 👇

3-4 Pines y Cámara

Una vez recibas todos los componentes, el primer paso va a ser conectar los pines GPIO(3) a la placa de la Raspberry Zero. Depende del modo que hayas decidido (conservador con martillo o aventurero con soldador) vas a tener que utilizar una u otra técnica.

La gente que conozco que se ha aventurado a utilizar el soldador por primera vez con SeedSigner lo ha conseguido sin problema, así que no tengas miedo!

El siguiente paso va a ser conectar los pines planos de la cámara(4) en su correspondiente conexión en las Raspi Zero. Para ver la rendija por la que has de deslizar la conexión plana, deberás desplazar ligeramente hacia afuera la pestaña ‘negra’ de la conexión. Una vez abierta verás exactamente cómo ha de entrar.

  • Para más info, aquí el minuto exacto donde SS hace este paso 👇

5-7 Pantalla, SD y acción!

Llegados a este punto vas a empezar a tener una imagen peculiar: una raspberry con los pines puestos y una cámara que cuelga con un buen trozo de cable plano entre ambas.

Si tienes una impresora 3D a mano, esto no te deberá preocupar porque una vez imprimas tu OrangePill u OpenPill todo te va a quedar recogido y ordenado. Si vas a tardar un poco en tener algún soporte 3d con el que ajustar las piezas, puedes dejar la cámara por la parte de detrás, recoger el cable encima de la Raspberry — como en la imagen 👇— y con la pantalla atrapar la cinta de forma más ordenada. Después, lo acabas de ‘atar’ todo con una goma de pollo y listos.

El siguiente paso es encajar la pantalla(5) con los pines que hemos martilleado/soldado. Para ello, miramos que encajen los pines correctamente (que no se quede ninguno fuera) y apretamos un poco hasta sentir como un click.

Ahora hemos colocar la MicroSD del paso 2 en la ranura de la Raspi(6) y ya tenemos todo a punto para testear si nos hemos armado bien nuestro SeedSigner. Para ello, procedemos a alimentar la placa con nuestro powerbank(7). Hay dos conexiones microUSB en la Raspberry. Escrito ‘PWR IN’ sobre la más exterior parece indicar que esa es la válida, pero he testeado y ambas funcionan. Si tu powerbank tiene el modo bajo votaje, recuerda activarlo.

Al conectar nuestro SeedSigner al powerbank no nos va a parecer nada. Solo vamos a ver que la pantalla negra pasa a estar iluminada pero sigue sin mostrar nada. En versiones antiguas este proceso de carga tardaba unos 90 segundos. En las últimas versiones en 44 segundos ya aparece el menú principal de SeedSigner que te da la bienvenida a tu herramienta soberana Bitcoin.

¡Felicidades! Ya has hecho lo más difícil ahora solo toca disfrutar de tu dispositivo cofirmante DIY.

Sobre el autor de este artículo