Una brainwallet es un tipo de monedero de criptomonedas en el que la «frase semilla» o «seed phrase» es creada por el propio usuario en lugar de utilizar un algoritmo como se hace habitualmente en otros tipos de monederos.
Básicamente, puedes pensar en una brainwallet como un monedero donde la seed phrase de tu clave privada está creada para ser fácil de memorizar.
En este punto, una brainwallet es solo una modificación de los monederos HD que usan los estándares BIP-39 y BIP-47 para su funcionamiento, solo que en este caso tú eliges la entropía a utilizar.
El concepto, que puede parecerte genial, posee un grave problema de seguridad y es que si no eres capaz de crear claves realmente únicas, irrepetibles y complejas, podrías perder tus criptomonedas sin que puedas hacer nada para remediarlo.
¿Cómo funciona y se genera) una brainwallet?
Normalmente cuando usas una wallet de criptomonedas en tu smartphone o una hardware wallet, debes pasas por un proceso de generación de la frase semilla en el que, en un punto dado, se te pide que anotes una serie de 12, 18 o 24 palabras que son el preámbulo de la construcción de las claves privadas y públicas maestras de tu monedero.
La frase semilla puede verse como una representación única e irrepetible de la «entropía» que se usará para construir las claves privadas y públicas de tu monedero. Una representación que te servirá para respaldar de forma sencilla tu monedero.
Puede parecerte complejo el tener que anotar estas palabras para respaldar tu monedero y más el hecho de buscar un lugar seguro y memorizarlas, pero sin duda es mucho mejor que anotar una clave privada ECDSA pura.
Para darte una idea, una seed tendría esta forma:
loyal essay fancy exile tomorrow solid pumpkin define enter gadget diary stumble
Mientras que una clave privada ECDSA, tendría esta forma:
5JRw8gB56aWf24ThCY71YK9eoxu7MwiN4uVrt178YKZa2hLWkFq
¿Podemos cambiar todas esas palabras por algo más sencillo?
La respuesta a esta pregunta es una brainwallet. El proceso es el mismo, introduces las palabras o frases que usarás como entropía, el monedero toma esta información y la transforma en tus claves privadas y públicas.
Para probar nuestro punto, usaremos este generador de brainwallet con la finalidad de que veas el proceso.
Si accedemos al generador y usamos esta frase de 18 palabras como seed, veremos lo siguiente:
creando mi propio monedero brainwallet para mantener totalmente seguras mis critpomonedas en todo momento lugar y circunstancia posible
Rápidamente, nos muestra el resultado:
5Jp6SHCAGrpzi65UUARCDPTsVYYLbH8G8j982aVHhK9j6Ae5cry
Y sin importar donde estés y cuándo lo hagas, el resultado siempre es el mismo.
Esto se debe gracias a que se utiliza el mismo mecanismo de derivación utilizada en BIP-39 y BIP-47, siendo un proceso enteramente determinista.
Es decir, si introduces la misma seed una y otra vez, el resultado siempre será el mismo, sin importar la hora, el lugar o el sistema operativo que uses para generar el monedero.
Así tendrás la completa certeza de que el proceso funciona como se explica y al mismo tiempo, tendrás la seguridad de que, si introducimos la misma frase, obtendremos siempre las mismas claves privadas y públicas para nuestro monedero.
Sin embargo, el problema con esto, es que esta misma frase puede ser utilizada por cualquier otra persona, otorgando acceso inmediato a las criptomonedas almacenadas en ese monedero.
La seguridad de una brainwallet depende principalmente de la frase que escojamos para formar la seed de nuestro monedero, siendo la creación fuera de línea de la misma, solo una medida de seguridad adicional que es bienvenida en este caso.
Seguridad, el punto débil de las brainwallets
La seguridad y la falta de entropía es lo que hace débiles a las brainwallets, las cuales hoy en día se consideran una reliquia de los primeros días de Bitcoin.
Si bien cuando creaste tu monedero brainwallet seguro utilizaste una frase que consideras única e irrepetible, pero con más de 7 mil millones de personas en el mundo y debido a nuestra propia naturaleza, lo que suele pasar es que solemos utilizar los mismos patrones para asegurar cosas de valor, lo que nos deja a merced de cualquier ataque de ingeniería social que llevaría al hacker a sustraer nuestras claves.
Si lo crees improbable, es cosa de ver las millones de personas en todo el mundo que utilizan como clave de sus correos electrónicos o almacenamientos de datos las letras «qwerty» «dvorak», «1234567890» o incluso su número de identificación personal.
Casos como esos no son raros en el mundo informático y si lo llevamos al mundo crypto, al mundo de las brainwallets, específicamente, podríamos llegar a ver el mismo patrón.
Para demostrar cuán vulnerables pueden ser las billeteras con frases de contraseña generadas por el usuario, dependiendo de la calidad de la contraseña, un investigador anónimo de BitMex generó ocho billeteras usando citas de literatura popular, letras de una canción de Bob Dylan y un extracto del libro blanco de Bitcoin.
Sorprendentemente, la billetera «Call me Ishmael», derivada de la notable línea de apertura en «Moby-Dick» de Herman Melville, fue vulnerada por un pirata informático literalmente en el momento en que se creó.
Es por esto que los desarrolladores de criptomonedas siempre apuntan a utilizar las frases semilla tal como se han diseñado, porque estas proporcionan una gran entropía en cada caso y por tanto, ningún monedero sea igual a otro, para lo que sólo necesitaras respaldar tu seeds adecuadamente para recuperar el acceso a tus monedas en cualquier momento.