La Seguridad de Nuestros Bitcoins

Published on Author lopez

No hay duda que el tema Bitcoin está cada vez llegando a más gente. Es algo que trae a Internet una nueva dimensión, lo que @dieguito (CEO de RSK) llama “la Internet del valor”: las criptomonedas, de las cuales Bitcoin es sólo una, la primera y más popular de lejos, van cambiando la vida de todos nosotros, permitiéndo hacer transferencias que antes eran difíciles, y llenas de intermediarios. Así como Internet trajo otra forma de comunicarse, que no fue anticipada por las compañías telefónicas, así también las criptomonedas están fundando un nuevo mundo de intercambio que no ha sido previsto por el sistema bancario o monetario.

Veremos en qué termina todo este movimiento. Se suma en estos meses otro tema: el alza del valor del bitcoin, que supera en rendimiento cualquier otro activo. Eso ha despertado a muchos. Y en un país como el mío, Argentina, periódicamente azotada por políticas monetarias que hacen perder el valor de cualquier ahorro, la llegada del Bitcoin como criptomoneda y forma de valor es bienvenida. Surge como alternativa al ahorro en dólares.

Pero un tema que aparece, es: ¿cuál es la seguridad de mis bitcoins? Es una pregunta amplia, así que pongamos otra pregunta: ¿cómo me aseguro que mis bitcoins no desaparezcan? En un mundo lleno de episodios de hacking, es una pregunta válida. Esta no es una cuestión sobre el valor futuro del Bitcoin: como cualquier otro activo puede variar, sino sobre cómo asegurarnos de no perderlos. Ha habido incidentes de pérdidas de Bitcoins en estos años, como el caso Mt Gox. Lo que sigue es lo que estuve aprendiendo en el último año y medio, como programador involucrado en el desarrollo blockchain.

Lo primero a entender, entonces, es que los bitcoins que se posean, SOLO LOS PUEDE GASTAR quien tenga la clave privada. Esta es un dato secreto, que debe conocerse para poder operar con bitcoins. En la red distribuida existen “billetes” bitcoins, no falsificables, que SOLO pueden entregarse en una transferencia si uno APORTA la clave privada. Por supuesto, los algoritmos que se usan permiten que la clave privada quede sin conocerse, y cualquiera en la red puede confirmar que una transferencia corresponda a UNA CLAVE PRIVADA de la que se conoce sólo una contraparte, la llamada CLAVE PUBLICA.

Es un tema de criptografía, que si bien se basa en temas matemáticos conocidos desde la época de Euler, no surgió sino hasta los setenta del siglo pasado. La criptografía de clave pública, clave privada hoy tiene varias variantes y es la que adoptó Satoshi Nakamoto en su creación de Bitcoin. Entonces, PRIMERO: conocer y guardar de forma segura la CLAVE PRIVADA. Este dato se usa para armar una transacción válida, lo que se llama firmar la transacción. Sin ese aporte de firma con clave privada, la transacción NO SERA aceptada por la red distribuida. Uno puede perder las llaves de su casa o auto, pero entonces acudir a un cerrajero. Perdiendo la clave privada no hay forma de acceder de nuevo a los bitcoins que protegía.

Si uno guarda esa clave privada, por ejemplo, en papel, en una caja de seguridad, y la deja como herencia en un testamento, cualquier que tenga acceso a su valor, va a poder operar con los bitcoins que le correspondan. Eso es parte básica del sistema, y no parece que vaya a cambiar en los próximos años. Y siempre va a quedar la compatibilidad con el sistema base. Todos los sistemas de operación de bitcoins, sea desde aplicaciones de escritorio, aplicaciones web o aplicaciones en teléfonos inteligentes, EN ALGUN MOMENTO, necesitan tener la CLAVE PRIVADA para operar.

Entonces, pasa algo que hace falta estar advertidos: no todos los sistemas de operación con bitcoins nos dejan la clave privada sólo para nosotros. Hay sistemas que operan con bitcoins en custodia. Es decir, ELLOS tienen la clave privada y compran y venden bitcoins, pero llevan un sistema contable de a quién le pertenecen los bitcoins. Pero la CLAVE PRIVADA es de ellos. Lo bueno de esos sistemas es que nos libera de tener que guardar y no olvidar ni perder la clave privada. Tal vez con un login de Facebook o Gmail, podemos operar. PERO ES UN TEMA MENOS SEGURO que tener UNO la CLAVE PRIVADA, sin compartirla con nadie.

Hay sistemas como …. que tienen lo que se llama un “cold storage”: las claves privadas se guardan en un lugar protegido en máquinas que no están conectadas a Internet. De nuevo, eso es bueno, porque no depende de nosotros la seguridad de la clave privada. Pero se ve claramente que ese alivio de responsabilidad es también un agujero de seguridad.

Es como guardar dinero en una caja de seguridad bancaria. Nos aliviamos de tener que estar atentos, pero todo depende de la seguridad del banco. El tema es que la seguridad de las claves privadas, si residen en alguna otra parte en la red de redes, siempre tiene el posible problema: un hacker podría acceder a esas claves y operar con nuestros bitcoins.

ESE ES EL TEMA: hay mucho dinero en juego, y desde hace décadas, el hacking de ese tipo dejó de ser una afición para pasar a ser una profesión. Y contrariamente a una caja de seguridad bancaria, el premio por hackear esas claves privadas puede ser muy alto y de realización inmediata del premio.

Entonces, si bien hay sistemas de bitcoins en custodia, y son buenos para mantener un monto razonable, de operación común, si queremos pensar a largo plazo y montos más importantes, hay que pensar en sistemas que nos permitan A NOSOTROS y SOLO A NOSOTROS tener la clave privada.

Primero, hay las llamadas “billeteras de papel”, que permiten generar una clave privada y pública, y una dirección de bitcoin (ver How to Make a Paper Bitcoin Wallet). Se recomienda generarlas sin estar conectado a Internet, como seguridad adicional, para que los sistemas que producen esos datos no puedan transmitirlos a partes no deseadas. Hay gente que ni siquiera imprime esos resultados, porque no confía en las impresoras: los anota a mano.

Luego, hay billeteras de hardware, que permiten generar y almacenar esas claves privadas, en un dispositivo en principio pensado para no ser violable. También permiten tener copias de seguridad en otros dispositivos, y así podemos tener:

– Uno o dos dispositivos para el uso diario
– Dos o más copias de seguridad guardados en lugares seguros
– En papel, o en dos papeles separados físicamente, o con varias copias, tener la clave privada

Esos dispositivos son inoperantes, en general, si uno no aporta un frase conocida sólo por nosotros, la llamada “passphrase”. Algunos de los más conocidos son Trezor y Ledger.

Como la clave privada es una sarta de letras sin sentido muy larga, y difícil de recordar, han aparecido
sistemas más humanos. Si uno tiene una clave privada, hay formas de transformarla a una serie de palabras humanas (de 12 a 24 palabras) que son recordatorios mnemotécnicos de la clave privada original. Ver el sitio de Trezor, recovery seed para más información, y para algo más técnico, la especificación bip39 (Bitcoin Improvement Proposal 39).

Otra es guardar parte de la clave privada en una aplicación de escritorio (un “wallet” de escritorio) o en una aplicación de teléfono inteligente, con acceso sólo por “passphrase”. En caso de pérdida del teléfono, prácticamente cualquier billetera local (es decir, no en línea), permite cargar una clave privada (lo más común es que generen una nueva clave privada). Así, mientras mantegamos en secreto la clave privada, pero de una forma recuperable por nosotros (en dos papeles separados en dos cajas de seguridad, en dos papeles con series de palabras mnemotécnicas para reconstruir la clave privada), siempre podremos volver a operar con bitcoins.

El almacenamiento de bitcoins en custodia, es una forma fácil de no pasar por todo esto, pero si uno piensa en tener una inversión importante, vean de estudiar algunos de estos caminos para el tema de seguridad de la clave privada. Veo cada vez más gente involucrada desde hace tiempo en bitcoin, criptografía y seguridad, que prefiere guardar la clave privada en papel, en copias, en lugares seguros (tal vez con MAS de un papel, separados los datos), y luego tener billeteras de hardware con backup. Sino, al menos tener una aplicación local con clave privada sólo recuperable por “passphrase”. No descartan los bitcoins en custodia, pero sólo para montos pequeños.

Ver también:

Can Bitcoin be Hacked?
Bitcoin: $64m in cryptocurrency stolen in ‘sophisticated’ hack, exchange says
Hacking bitcoin and blockchain
How can Bitcoin be hacked? How could a malicious entity either hack the Bitcoin network by stealing BTCs or shock it to death, triggering panic and drops in BTC value?
The Inside Story of Mt. Gox, Bitcoin’s $460 Million Disaster

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
https://twitter.com/ajlopez
https://github.com/ajlopez