Una brainwallet es un tipo de monedero de criptomonedas en el que la seed phrase del mismo, es creada por nosotros mismo con el fin de facilitarnos el respaldo de dicha wallet, esto en lugar de usar un algoritmo como se hace normalmente en otros tipos de monederos.
Una brainwallet o monedero cerebral, es un tipo de monedero de criptomoneda en el que la seguridad de las palabras usadas para la generación de la seed phrase del monedero, se asienta en una serie de palabras o frases que una persona puede recordar fácilmente. Básicamente, puedes pensar en una brainwallet como un monedero donde la seed phrase de tu clave privada puedes memorizarla. Así, esta queda almacenada en tu cerebro, y en caso de que requieras acceder a la misma, solo deberás recordar esta información y con ello obtener el control de tus monedas.
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 una brainwallet, la generación de las seed phrases, no recae en un algoritmo que se asegura de construir una entropía única para tu monedero, sino que tú eliges la entropía a usar.
El concepto, puede parecerte genial, la idea de usar una frase o palabras fácilmente reconocibles por tu persona para guardar tus criptomonedas, en lugar de difíciles palabras en inglés, sencillamente es mucho mejor. Sin embargo, existe un grave problema con este sistema: si no eres capaz de crear claves realmente únicas, irrepetibles y complejas, podrías perder tus criptomonedas sin que puedas hacer nada para remediarlo.
Te preguntarás ¿Por qué es posible este escenario? ¿Cómo funciona realmente una brainwallet? Pues bien, eso lo examinaremos a continuación.
¿Cómo funciona (y se genera) una brainwallet?
El funcionamiento de una brainwallet tal como explicamos en un principio, no se diferencia del usado por las wallets HD estándares que usamos en la actualidad. Normalmente cuando usas una wallet de criptomonedas en tu smartphone o una hardware wallet, pasas por un proceso de generación, en el que, en un punto dado, se te pide que anotes una serie de 12, 18 o 24 palabras. Estas palabras (por lo general, en idioma inglés) son las conocidas seed phrases (frases semillas, mnemotécnicas) y son el preámbulo de la construcción de las claves privadas y públicas maestras de tu monedero.
La seed phrase 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 es mucho mejor tener esas palabras 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
La diferencia es enorme, y ciertamente resulta más sencilla la seed. Pero ¿Y si cambiamos todas esas palabras por algo más sencillo? Pues bien, se puede y eso es la 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 tu monedero.
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:
Y sin importar donde estés y cuándo lo hagas, el resultado es el mismo. Esto es gracias a que se usa 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 será el mismo, sin importar la hora, el lugar, o el sistema operativo que uses para generar el monedero. Adelante, prueba en tu casa, y verás que la clave privada de la seed arriba descrita es la siguiente:
5Jp6SHCAGrpzi65UUARCDPTsVYYLbH8G8j982aVHhK9j6Ae5cry
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 esa frase la puede pensar cualquier otra persona, y en caso de darse ese escenario, el acceso a las criptomonedas almacenadas en ese monedero estaría en manos de otra persona, y perderlas sería algo muy sencillo.
¿Cuánto sabes, criptonauta?
¿La seguridad de una brainwallet depende de que esta sea creada en un entorno fuera de línea?¡FALSO!
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. Recuerda, que para tener una brainwallet segura debes escoger frases únicas, no fácilmente identificable, pero ni con esta medida, la buena seguridad de una brainwallet es garantizable.
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. Pudiste pensar en el momento de crear tu monedero, en una frase que consideras única, pero en este mundo de más de 7 mil millones de personas, puede darse el caso que no seas el único que haya pensado en lo mismo, con las mismas palabras, y que lo intente con un monedero. Probabilísticamente eso es raro, pero altamente posible.
El problema aumenta aún más por nuestra propia naturaleza, somos seres con grandes capacidades de memoria, pero si no usamos esa palabra o frase de forma recurrente lo mas seguro es que la olvidemos. Frente a ese hecho lo que suele pasar es que usamos los mismos patrones para asegurar cosas de valor, lo que nos deja a merced de cualquier ataque de ingeniería social, y que llevaría al hacker a sustraer nuestras claves. ¿Lo ves improbable? Pués díselo a los millones de personas en todo el mundo que usan como clave de sus correos las letras “qwerty” “dvorak”, “1234567890” o su número de DNI. Casos como esos no son raros en el mundo informático, y si lo llevamos al mundo crypto con las brainwallets veremos el mismo patrón.
No es raro pensar que alguien llegue y use algún Salmo (si, los bíblicos) para la seed de su monedero, o la frase de algún actor famoso o canción, son formas sencillas de recordar cosas que son importantes para nosotros y nos ayudan a resguardar valores en ciertos escenarios, pero en crypto, esto es peligroso. De hecho, basta poner una pequeña granja GPU para atacar este tipo de monedero y tener éxito, y el resultado de ello sería el de grandes cantidades de personas que no entenderían cómo sus bitcoins han desaparecido del monedero, creyendo que Bitcoin tiene un problema, cuando nada tiene que ver Bitcoin.
De allí, que los desarrolladores de criptomonedas siempre apunten a usar las seed phrases tal como se han diseñado, porque estas proporcionan una gran entropía en cada caso y, por tanto, ningún monedero será igual a otro, y solo respaldando tu seed, podrás recuperar el acceso a tus monedas rápidamente.
Ante este escenario, nuestra mayor recomendación desde Bit2Me es: EVITA usar monederos brainwallets para mantener tus criptomonedas a salvo. En lugar de hallar un lugar seguro para tus tenencias, lo que estás haciendo es crear un espacio débil y criptográficamente inseguro, que otros con algo de trabajo pueden romper.