Alt(oids) Wallet, billetera de Bitcoin curiosamente fría

“Me tembló el alma. Qué hacer, qué podría hacer para triunfar, para tener dinero, mucho dinero” Roberto Arlt, El Juguete Rabioso.

Las posesiones en Bitcoins pueden ser mantenidas en billeteras frías o billeteras calientes, queriendo decir frías fuera de línea y calientes, billeteras conectadas a la red de criptomonedas en Internet. Para billeteras frías es una práctica común imprimir hojas de papel con el par de claves pública y privada en texto y QR.

Un efecto no muy previsto de esta estrategia es que con el paso de los años la tinta de las hojas de papel comienza a desaparecer. Las personas con este problema pivotean entre la importación a billeteras calientes o bien el escaneo y la reimpresión con sus respectivos riesgos de seguridad ya que computadoras, smartphones, impresoras y hasta la conexión WiFi o los routers pueden ser intervenidos.

Se me ocurrió entonces fabricar una billetera fría de Bitcoins en hardware que sea apenas un poco mejor que imprimir un papel, cuyas partes sean fáciles de conseguir y cuyo código fuente sea corto, sencillo y auditable.

El proyecto se llama Alt Wallet ya que el gabinete de esta billetera fría está montado sobre una caja de pastillas Altoids. Además de la caja utilicé una placa Arduino Pro Micro, la pantalla de un Nokia 5110, un rotary encoder, un conector hembra DC y algunos cables.

¿Cómo funciona la Alt Wallet?

Al ser encendida, solicita un pin. Si el mismo es correcto muestra el código QR de la clave pública y con un long press del rotary encoder muestra luego la clave privada por un plazo de tiempo configurable. Ambos QR en la pantalla pueden ser escaneados y el dispositivo no utiliza baterías, sino una fuente de alimentación externa en vistas a la durabilidad.

¿Qué tan segura es Alt Wallet?

Cualquier desarrollo alrededor de Bitcoin tiene implicancias de seguridad. Después de todo acceder a la clave privada significa tener el control inmediato e irreversible sobre los fondos. En este caso no hay que perder de vista que Alt Wallet tiene como único fin reemplazar una hoja de papel, cuyo acceso físico ya garantiza tener el control de los fondos en la billetera. Entonces ¿es seguro el pin? No lo suficiente, pero la hoja de papel no tiene pin directamente. Es decir que Alt Wallet debe tener seguridad física como la hoja de papel. ¿Es seguro almacenar un bytearray hexadecimal en memoria SRAM de un Arduino? Es complicado, pero no imposible acceder a esa SRAM, pero de vuelta, sigue siendo mucho más seguro en relación al papel.

¿Cómo se cargan las claves de Bitcoin en el Alt Wallet?

Si bien es posible cargar las claves escaneando el código QR del papel, reduciendo el tamaño para adecuarlo al tamaño de la pantalla, convertirlo a bytearray y subirlo vía Arduino IDE, es recomendable no utilizar una computadora online susceptible de tener malware. El ataque también puede tomar lugar en otras instancias como la comunicación WiFi al router, en una web de creación de QRs, etc. Por estos motivos desarrollé también algo llamado Alt Loader: un sistema offline de carga montado sobre Raspberry Pi con cam. El Alt Loader lee el paper wallet, crea un nuevo QR, lo reduce de tamaño, lo convierte a bytearray y hasta permite subirlo al Arduino.

Demo

Código fuente, circuitos y más detalles

En este link de Hackster hay un instructivo.

En este link de Wikimakes hay información exclusiva sobre el Alt Loader: el sistema para migrar de Paper Wallets a Alt Wallet.

https://wikimakes.com/view-maker-hub-project/1221

--

--

Inventor, escritor y músico argentino

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Roni Bandini

Roni Bandini

Inventor, escritor y músico argentino