ExploraA fondo · Custodia y privacidad · 21 min
Brain wallets: por qué una frase que inventaste es una clave que alguien puede adivinar
Una brain wallet convierte una frase que inventaste en una clave privada de Bitcoin, y al menos desde 2013 hay programas que adivinan esas frases y vacían las billeteras. En febrero de 2014, James D'Angelo les envió fondos a tres en video. La cadena muestra qué pasó con sus monedas y con las frases famosas, y el sitio más conocido cerró en 2015.
Traducción hecha con ayuda de IA, pendiente de revisión humana. Lee el original (en inglés).
Adónde vas: Una brain wallet (billetera cerebral) es una clave de Bitcoin hecha a partir de una frase que guardas en la cabeza. Una fórmula estándar llamada hash convierte la frase en un número muy largo, y ese número es la clave privada, el secreto que le permite gastar las monedas a quien lo tiene. En febrero de 2014, James D'Angelo creó cinco en video y les envió dinero de verdad a tres. Este capítulo recorre su lección y después la comprueba contra la cadena: qué pasó con sus monedas, por qué una frase que inventa una persona es mucho más fácil de adivinar de lo que parece, quién corría ya programas para llevarse esas monedas, cómo cerró el sitio más conocido, qué había registrado la cadena sobre las frases famosas a noviembre de 2026 y qué reemplazó a la idea.
Crédito: Este capítulo recrea una lección de la Blackboard Series "Bitcoin 101" de James D'Angelo para la World Bitcoin Network: "Fun with Brain Wallets (Making and Playing With Them)" (9 de febrero de 2014). La demostración es suya: escribir una frase, calcular su hash y enviar dinero de verdad para ver qué pasa. Las palabras y los dibujos de aquí son nuestros, y también los datos de la cadena, leídos en noviembre de 2026. Es la segunda de una serie de recreaciones con crédito de la Blackboard Series; la primera es Quindecillones.
Treinta centavos
El sábado 8 de febrero de 2014, James D'Angelo grababa una lección para su canal World Bitcoin Network. Trabajaba con dos páginas web. Una revuelve cualquier texto y lo convierte en una cadena de letras y dígitos de longitud fija, llamada hash SHA-256, y la otra convierte un hash en una dirección de Bitcoin. Escribió Satoshi Nakamoto en la primera, pegó el resultado en la segunda y buscó la dirección en un explorador de bloques, un sitio que muestra todos los pagos que ha recibido una dirección. La dirección ya tenía un historial de diez transacciones. Había recibido 23 centavos de dólar en total y no tenía nada. Le envió 30 centavos desde la billetera del propio canal y le dijo a su público que quien quisiera podía ir a llevárselos.
Bitcoin registra los pagos en lotes llamados bloques, más o menos uno cada diez minutos, y hasta que un pago entra en un bloque espera a la vista de todos, sin confirmar. El suyo se confirmó en el bloque 284,859, con marca de tiempo 21:05:29 UTC. El mismo bloque contiene una segunda transacción que gasta esas monedas hacia otra dirección, una que en los dos meses anteriores había recogido cuatro veces monedas de una brain wallet más conocida. Se llevaron los 30 centavos mientras su pago todavía esperaba, y el video no se publicaría hasta 24 horas después. Quien se llevó el dinero no había visto la lección. Ya tenía la frase.
Una clave hecha así se llama brain wallet, y más o menos de 2011 a 2015 fue una idea popular.
Una clave que puedes decir en voz alta
Una clave privada de Bitcoin es un número secreto, y quien lo conoce puede gastar las monedas de su dirección. El número tiene 256 bits de largo, hasta 78 dígitos si se escribe completo. SHA-256, la función hash que Bitcoin usa para casi todo, toma cualquier entrada, desde un nombre hasta un libro entero, y devuelve un número de exactamente ese tamaño. Por eso el hash de cualquier texto puede servir de clave privada, y así funciona la brain wallet clásica. Esta es la primera frase que D'Angelo escribe en el video, pasada por un programa corto nuestro. Las tres líneas son la frase, su hash y la dirección que corresponde a esa clave:
passphrase Happy New Year
SHA-256 d2b85fa6a231e708bd7dfa023a6e6a51c9ddb8eaf3786e6428b10b1bbc158da5
address 1F1eetZmGydCzyGpfYHhmdVVc22b6sbfEa
La línea del medio es la clave privada. Cualquiera que escriba los mismos catorce caracteres obtiene la misma clave y la misma dirección, en cualquier computadora, en cualquier año. No hay que guardar nada, ni en un archivo ni en papel, y ese era el atractivo. D'Angelo abre su lección con un hombre detenido en una frontera con oro escondido en los asientos de su auto, y ofrece la brain wallet como la alternativa de ciencia ficción: riqueza que cruza una frontera dentro de tu cabeza.
La primera recompensa y el sitio más conocido
El caso más antiguo que encontramos con dinero de por medio es del 14 de julio de 2011. Alguien que escribía como casascius en el foro que hoy se llama BitcoinTalk, y que después se conocería por las monedas físicas Casascius, publicó una sola oración y ofreció las monedas a quien averiguara dónde estaban. La oración era "This string contains 0.25 BTC hiding in plain sight." (esta cadena de texto contiene 0.25 BTC escondidos a plena vista). En menos de una hora, otra persona del foro adivinó que el SHA-256 de la oración era la clave privada, y el cobro ganador se confirmó 3 horas y 20 minutos después de que llegaran las monedas. Antes de que terminara el día, casascius ya había descrito adónde podía llevar esto: una billetera futura que dejara a la gente guardar monedas en frases, "and suckers choosing poor passphrases as places to put their coins" (y gente incauta que elige malas frases como lugar para poner sus monedas). El mismo mensaje sostenía que adivinar esas frases por fuerza bruta sería lento.
El sitio más conocido para hacerlas, brainwallet.org, se puso en línea en abril de 2012. Tenemos una copia de su última versión funcional, del 1 de agosto de 2015. Todo el esquema es una línea de su JavaScript, el código que la página corría en el navegador de quien la visitaba:
var hash = Crypto.SHA256($('#pass').val(), { asBytes: true });
Toma lo que haya en la casilla de la frase, calcula su hash una vez y usa el resultado como clave. En sus últimos meses, la página era franca al respecto. La indicación de la casilla decía: "Long sentence that does not appear in songs or literature. SHA256 used as private key. Should not be empty!" (oración larga que no aparezca en canciones ni en la literatura; el SHA256 se usa como clave privada; no debe estar vacía). No había longitud mínima ni comprobación de fortaleza.
Durante la mayor parte de sus dos primeros años, la página se abría con una frase ya escrita: "correct horse battery staple" (correcto, caballo, batería, grapa), el ejemplo de una conocida tira cómica sobre contraseñas a la que llegamos más abajo. Cada visitante veía la misma clave y la misma dirección ya hechas, y a noviembre de 2026 esa dirección tenía más de 4,000 transacciones. En mayo de 2014, alguien que colaboraba con el sitio hizo quitar la frase, porque quienes visitaban la página podían tomarla por una frase al azar y usarla. Quien mantenía el sitio aceptó el cambio y al principio hizo que la página rechazara una casilla vacía. Una semana después ese rechazo se quitó, con la nota "default password is blank" (la contraseña predeterminada queda en blanco), y la página pasó a calcular una clave para la casilla vacía.
Recién abierta, la copia que tenemos muestra una clave privada, una dirección y un código QR antes de que nadie haya escrito un solo carácter. Corresponden a la frase vacía, la que la indicación de la casilla pedía no usar. Al 9 de noviembre de 2026 esa dirección, 1HZwkjkeaoZfTSaJxDw6aKkxp45agDiEzN, había recibido 60 BTC en 423 pagos, y 57.9 de esos bitcoins llegaron en los catorce meses que pasaron entre ese cambio y el día en que cerró el sitio. Cincuenta llegaron en un solo pago el 29 de julio de 2015 y se gastaron en el mismo bloque. La cadena no dice qué quería hacer quien envió cada pago. En una charla que dieron en 2017 dos de las personas que más tarde midieron las brain wallets, quien hablaba llamó a la frase vacía la brain wallet más común de todas y dudó de que alguien hubiera querido alguna vez poner dinero ahí.
D'Angelo no usó ese sitio. Calculó el hash de sus frases en una calculadora de SHA-256 de uso general y pegó los resultados en otra herramienta muy usada en esa época, bitaddress.org, cuya propia pestaña de brain wallet había rechazado su primera frase: su límite era de quince caracteres, y Happy New Year tiene catorce. El rechazo venía con una advertencia: "Choosing a strong passphrase is important to avoid brute force attempts to guess your passphrase and steal your bitcoins" (elegir una frase fuerte es importante para evitar que intenten adivinarla por fuerza bruta y te roben tus bitcoins). Ese era el consejo de la época, y D'Angelo remitió a su público a la versión más completa de ese consejo, la página de la Bitcoin Wiki sobre brain wallets, que casascius había iniciado en enero de 2012. Desde agosto de ese año, la página decía que una frase debía ser "an entire original sentence that does not appear in any song or literature" (una oración original entera que no aparezca en ninguna canción ni obra literaria), y que con cualquier cosa más débil "theft of the brainwallet is an eventual certainty" (el robo de la brainwallet es, tarde o temprano, una certeza). En febrero de 2014, el consejo de la wiki era elegir una frase mejor. El consejo de dejar de inventar frases por completo llegó en 2015.
Tres pagos, una grabación
D'Angelo les envió fondos a tres billeteras en esa sesión. Una era Satoshi Nakamoto, con sus 30 centavos. Otra era World Bitcoin Network, que él calificó de frase débil; le envió cerca de un dólar. La tercera era su ejemplo de una muy buena: las mismas tres palabras, un signo de dólar, una oración sobre comer lasaña en un día soleado y la última palabra estirada con doce letras de más, 79 caracteres en total. También recibió cerca de un dólar. Esperaba que el público vaciara las tres poco después de que se publicara el video, y lo dijo más de una vez.
Leímos los tres historiales del nodo de Bitcoin Core que hay detrás de ChainQuery el 9 de noviembre de 2026. Los montos están en sats, la forma corta de satoshis, la unidad más pequeña de bitcoin; 100 millones de ellos hacen un bitcoin.
La tabla da los mismos tres pagos con sus números de bloque.
| Frase | Enviado | Confirmado (UTC) | Gastado (UTC) |
|---|---|---|---|
Satoshi Nakamoto | 41,700 sats, unos 30 centavos | Bloque 284,859, 8 de febrero de 2014, 21:05 | El mismo bloque |
World Bitcoin Network | 139,100 sats, unos 98 centavos | Bloque 284,859, 8 de febrero de 2014, 21:05 | Bloque 285,006, 9 de febrero de 2014, 21:27 |
| La frase de 79 caracteres | 139,100 sats, unos 98 centavos | Bloque 284,860, 8 de febrero de 2014, 21:11 | Bloque 285,008, 9 de febrero de 2014, 21:34 |
La primera fila son los 30 centavos del principio. Un pago se puede gastar en el mismo bloque que lo registra porque primero espera en el mempool, a la vista de todos, hasta que lo recoge un minero, una de las computadoras que arman los bloques. Un programa que ya tiene la clave ve llegar el pago, firma una transacción que lo gasta y la transmite mientras el pago todavía espera. Un minero puede entonces poner las dos en un mismo bloque, y eso es lo que significa "gastado en el mismo bloque": las monedas nunca llegaron a descansar en la dirección.
El propio registro de YouTube sitúa la publicación del video a las 21:00:41 UTC del domingo 9 de febrero. Las dos frases que nadie había visto estuvieron intactas durante 147 y 148 bloques, un poco más de 24 horas. El primer bloque que la cadena registra después de que se publicó el video, el 285,006, lleva la transacción que vacía World Bitcoin Network, y el bloque 285,008 vacía la larga. Las monedas fueron a dos direcciones distintas, 27 y 34 minutos después de la publicación según las marcas de los bloques.
Sin planearlo, la lección hizo algo cercano a un experimento controlado. La frase de 79 caracteres duró más o menos lo mismo que la de tres palabras, 148 bloques contra 147, porque las dos estaban en pantalla en el mismo video, y su longitud nunca entró en juego. Cada billetera se vació en cuanto otra persona tuvo su frase. Para el nombre famoso, eso fue antes de que D'Angelo lo escribiera; para las otras dos, cuando el video se hizo público. Nadie puede decir si un programa de adivinar frases habría llegado alguna vez por su cuenta a la frase larga, porque el video la reveló antes.
La dirección del nombre famoso siguió recibiendo pagos después. Al 9 de noviembre de 2026, la dirección de Satoshi Nakamoto a la que él pagó había recibido 36 pagos, el primero de un solo satoshi en diciembre de 2011 y el último en agosto de 2025. De los 36, 21 se gastaron en el bloque que los confirmó, incluidos los dos pagos de 2025, uno de ellos de 800 sats.
Por qué una frase inventada es fácil de adivinar
Una clave generada por una billetera es uno de los cerca de 1.16 x 10^77 números posibles, y Quindecillones explica paso a paso por qué nadie encuentra uno de esos buscando. La clave de una brain wallet también es uno de esos números, pero sale de un conjunto mucho más pequeño, las frases que se le pueden ocurrir a una persona, y un ladrón solo tiene que buscar en ese conjunto.
Adivinar la contraseña de un sitio web es un trabajo lento, y cuatro cosas hacen que adivinar una brain wallet sea rápido.
- Nada limita los intentos. Un sitio web bloquea una cuenta después de unos pocos intentos fallidos. Un ladrón que calcula hashes de frases en su casa no le rinde cuentas a nadie y puede probar tantas como le permita el hardware.
- Todas las billeteras se atacan a la vez. Los sitios web cuidadosos guardan solo un hash de cada contraseña, y antes de calcularlo le mezclan un valor aleatorio llamado sal (salt), de modo que la misma contraseña se ve distinta para cada usuario y cada cuenta hay que atacarla por separado. Una brain wallet no tiene sal. La misma frase le da la misma clave a cualquiera que la elija alguna vez, así que un solo intento se comprueba contra todas las direcciones de la cadena.
- El hash es rápido. SHA-256 está hecho para ser veloz. Los sistemas de contraseñas usan funciones lentas a propósito, para que cada intento cueste algo.
- Los blancos son públicos y el premio es dinero. Todas las direcciones que alguna vez han tenido monedas están en la cadena, cada una con su saldo al lado.
Ryan Castellucci, especialista en seguridad a cuya charla de 2015 vuelve este capítulo, lo puso en una sola diapositiva: "Brainwallets make the Blockchain a public password hash database" (las brainwallets convierten la cadena de bloques en una base de datos pública de hashes de contraseñas). Las diapositivas que siguen califican la versión de la cadena como lo haría una auditoría: tiene hash, no tiene sal, y a la pregunta de si es lenta su respuesta es "Kinda" (más o menos).
La vara de medir habitual para el tamaño de un conjunto así es la tira 936 del cómic web XKCD, de agosto de 2011, que defiende las contraseñas hechas con cuatro palabras comunes al azar, como "correct horse battery staple". Cuenta 2^44 posibilidades, unos 18 billones. Quienes adivinan contraseñas miden esos recuentos en bits, y cada bit es una duplicación, así que 2^44 son 44 bits. El cómic calcula 550 años para adivinar una contraseña así a mil intentos por segundo. Dice de dónde sale ese ritmo, un ataque contra "a weak remote web service" (un servicio web remoto débil), y agrega que "cracking a stolen hash is faster" (crackear un hash robado es más rápido).
Con una brain wallet no hay que robar nada, porque la dirección contra la que se comprueba cada intento ya está en la cadena. El cracker de Castellucci, un programa que escribió para adivinar frases, probaba 130,000 por segundo en su propia computadora de escritorio en 2015, y cada intento se comprobaba contra todas las direcciones a la vez. Las mismas diapositivas estimaban que las botnets de la época, redes de computadoras secuestradas, podían comprobar 2^48 frases cada 24 horas. A ese ritmo, todo el conjunto de cuatro palabras del cómic dura 90 minutos. Un paper de 2016 de Castellucci y dos colegas calculó el costo del ataque con servidores alquilados en unos 56 dólares por billón de intentos, lo que le pone a todo el conjunto de cuatro palabras un precio de menos de mil dólares.
La gráfica pone siete tipos de secreto en esa escala, desde una contraseña común hasta las palabras que genera una billetera.
Todo eso supone que las cuatro palabras son al azar, porque el método del cómic solo funciona si las eligen unos dados o una computadora. Una frase que compone una persona, la letra de una canción, una línea de película o el nombre de una mascota con un año al final, sale de un conjunto mucho más pequeño de lo que sugiere su longitud, porque los atacantes arman sus listas con lo que la gente ya ha escrito y dicho. Las diapositivas de Castellucci describen la receta: recolectar el texto de sitios de letras de canciones, Wikiquote, el Proyecto Gutenberg, foros y listas de correo, y después aplicar reglas de puntuación, mayúsculas y espacios. Una diapositiva advierte: "If someone else came up with it, it will eventually make it into a phraselist" (si se le ocurrió a otra persona, tarde o temprano terminará en una lista de frases).
La investigación sobre las frases que elige la gente dice lo mismo. En 2012, Joseph Bonneau y Ekaterina Shutova pusieron a prueba un sistema real, un servicio de Amazon que les pedía a sus clientes elegir una frase de dos o más palabras. De 476 títulos de canciones que probaron, el 73 por ciento ya era la frase de alguien. Su conclusión fue que "even 4-word phrases probably provide less than 30 bits of security" (incluso las frases de 4 palabras probablemente dan menos de 30 bits de seguridad), frente a los 44 bits de cuatro palabras elegidas al azar. Treinta bits son unos mil millones de intentos, un poco más de dos horas para una computadora de escritorio de 2015.
Cuando configuras una billetera moderna, la billetera saca 128 bits aleatorios, te los muestra como doce palabras de una lista estándar de 2,048 y te pide que anotes las palabras. Eso son unas 3.4 x 10^38 posibilidades. Es unos 19 billones de billones (1.9 x 10^25) de veces el conjunto de cuatro palabras, y las mismas botnets necesitarían unos 3 x 10^21 años para cubrirlo.
Quién ya estaba adivinando
Castellucci había descubierto por accidente, en 2013, lo expuesta que podía estar una brain wallet. Su primer cracker, uno lento alimentado con listas de palabras que ya tenía, dio con el trabalenguas how much wood could a woodchuck chuck if a woodchuck could chuck wood. La dirección que había detrás tenía 250 BTC, que valían "about $15k" (unos 15,000 dólares) según el borrador de sus diapositivas. No tenía más que una dirección, así que hizo un plan para avisarle a través de la cadena a quien tenía esas monedas: pagarle unos centavos a la dirección, sacar enseguida esos mismos centavos hacia una dirección personalizada (en inglés) que empezara con "yoink" (la exclamación de quien arrebata algo), y esperar que esa persona notara que alguien de fuera podía gastar desde la billetera.
Una dirección guarda cada pago que ha recibido como una moneda aparte, sin un saldo único, y una transacción gasta monedas enteras y devuelve el resto como cambio. El software de billetera de Castellucci eligió qué moneda gastar, y eligió la de 250 BTC en lugar de la de unos centavos. La cadena guarda el viaje de ida y vuelta. El 24 de marzo de 2013, en el bloque 227,725, una transacción gasta los 250 BTC que llevaban 38 días ahí: 31,337 sats van a una dirección que empieza con 1yoink, y 249.99918663 BTC van a una dirección de cambio que el software acababa de crear. Dos bloques después, 22 minutos según las marcas, 250.001 BTC están de vuelta en la dirección de la brain wallet. Una captura de pantalla en el borrador de las diapositivas muestra que las dos transacciones se enviaron con menos de dos minutos de diferencia. Según su relato, después logró contactar a esa persona a través de quien operaba un pool de minería. El 29 de marzo, las monedas salieron hacia una dirección nueva.
Castellucci contó la historia en DEF CON 23, una conferencia de hackers en Las Vegas, el 7 de agosto de 2015. Sus diapositivas empiezan con una más reciente: "Somebody just lost $14K last week" (alguien acaba de perder 14,000 dólares la semana pasada). Eran los 50 BTC pagados a la frase vacía nueve días antes. Al 9 de noviembre de 2026, la dirección que los recogió había recibido 266 pagos, nunca había gastado ninguno y tenía 55.49 BTC, por razones que la cadena no muestra.
La charla llegó con un cracker mucho más rápido llamado Brainflayer, que comprobaba cada intento contra un filtro de consulta (en inglés) construido con todas las direcciones que alguna vez habían aparecido en la cadena. Un mes antes, Castellucci había explicado en una entrada de blog por qué regalaba una herramienta que se puede usar para robar: no había manera de lograr que la falla se corrigiera, decía la entrada, que en una nota al pie señalaba el parche que brainwallet.org había rechazado, y ya había otra gente explotándola con sus propios crackers. Las diapositivas cifran en cerca de media docena el número de ladrones activos, que competían entre sí con bots y tablas de consulta de al menos 10,000 millones de frases.
La medición llegó al año siguiente, en un paper para la conferencia Financial Cryptography de 2016. Marie Vasek, Joseph Bonneau, Castellucci, Cameron Keith y Tyler Moore probaron unos 300,000 millones de frases candidatas, sacadas de más de veinte listas de palabras, contra todas las transacciones hasta agosto de 2015. Quindecillones tiene las cifras principales: 884 brain wallets encontradas, 1,806 BTC que pasaron por ellas, la mitad vaciadas en los 21 minutos siguientes a recibir fondos. El paper, y una charla que dieron en 2017 dos de quienes lo firman, agregan cuatro detalles a esas cifras.
- Las 884 son un piso. El equipo solo pudo contar las billeteras cuya frase logró adivinar. Cuando dos de sus integrantes repitieron la búsqueda en 2017 con trece veces más frases, el recuento subió a 2,005.
- Casi todas las billeteras se vaciaron, y rápido. Todas menos 21 de las 884 se drenaron al menos una vez, y la gente siguió pagando a billeteras ya vaciadas, así que el paper cuenta 1,895 drenajes en total. Para septiembre de 2013, el tiempo típico hasta el drenaje estaba "measured in minutes and seconds rather than hours" (medido en minutos y segundos, no en horas).
- Un drenaje no siempre es un robo. Los dueños también mueven sus propias monedas, aunque el equipo juzgó que la mayoría de los drenajes no eran obra del dueño. Los 1,806 BTC cuentan todo lo que entró. La tabla de drenajes del paper está ordenada por dólares, y sus dos primeras entradas son, las dos, los 250 BTC del trabalenguas, movidos una vez en el accidente de Castellucci y otra por quien los tenía. Las cuatro entradas que la tabla rotula como drenadores suman unos 90 BTC.
- Drenar era un mal modo de ganarse la vida. El equipo confirmó al menos 14 drenadores. Los cuatro primeros se llevaron unos 35,000 dólares entre todos, el más activo vació 100 billeteras por 3,219 dólares, y uno robó 78 billeteras por 62 dólares. Solo el 6 por ciento de las billeteras recibió alguna vez el equivalente a cien dólares.
Cómo cerró el sitio y cómo cambió el consejo
En los foros, para mediados de 2013 las advertencias ya habían ido más lejos que las de la wiki. En julio de 2013, alguien que usaba brainwallet.org contó en BitcoinTalk que unas monedas enviadas a una brain wallet nueva se habían movido "literally within seconds" (literalmente en cuestión de segundos), y Mike Hearn, que desarrollaba software de Bitcoin, respondió: "The owner of that site needs to shut it down" (quien tenga ese sitio tiene que cerrarlo). Ese octubre, en el mismo foro, le preguntaron a otra persona que desarrollaba software de Bitcoin, Gregory Maxwell, si existía un estándar para las brain wallets, y Maxwell respondió con uno de burla, en mayúsculas: "FOR GODS SAKE. DON'T DO IT. YOU MAY THINK YOU ARE SMART ENOUGH. SO DID EVERYONE ELSE WHO GOT ROBBED" (por el amor de Dios, no lo hagas; puede que te creas lo bastante inteligente; lo mismo creyó toda la gente a la que le robaron).
El 29 de octubre de 2013, dos semanas después del mensaje de Maxwell, alguien le ofreció a brainwallet.org, como contribución, un cambio en su código que habría dejado a quien usara el sitio pasar una frase por 100,000 rondas de hash en lugar de una. Quien mantenía el sitio cerró la solicitud siete horas después. "You don't really need that" (en realidad no necesitas eso), empezaba la respuesta. Convertir una frase en una dirección requiere además una segunda operación aritmética, una multiplicación en la curva elíptica, que quien mantenía el sitio describió como "a few orders of magnitude slower than SHA256" (unos cuantos órdenes de magnitud más lenta que SHA256), así que, decía, "not possible to calculate MILLIONS of passphrase-based addresses per second" (no es posible calcular MILLONES de direcciones basadas en frases por segundo). Castellucci respondió a eso en una nota al pie en julio de 2015: el paso extra es unas cien veces más lento que un hash, y las buenas prácticas para contraseñas piden una ralentización de cien mil a un millón de veces.
En febrero de 2015, Peter Todd, que desarrollaba software de Bitcoin, llamó a las brain wallets "such scary technology" (una tecnología que da tanto miedo) en la lista de correo de desarrolladores (en inglés). El consejo de la wiki cambió de rumbo ese año. El 30 de mayo, alguien que editaba la wiki borró la frase de ejemplo de la página con la nota "this example is a great way to get your money stolen" (este ejemplo es una excelente manera de que te roben el dinero). Era el ejemplo que D'Angelo había recorrido frente a la cámara, bajo un rótulo que le pedía al público no enviarle dinero. La propia dirección del ejemplo había recibido cinco pagos para entonces, y todos se habían gastado.
El sitio cerró el día de la charla. Castellucci debía subir al escenario en Las Vegas a las 14:00 del viernes 7 de agosto de 2015, que son las 21:00 UTC. El registro público del código del sitio, su repositorio, muestra su último cambio con marca de las 20:57 UTC de ese día según el reloj de quien lo hizo, y el registro público de eventos de GitHub lo muestra llegando a las 21:00:00. Ese cambio borra el código del sitio y reemplaza la página por dos palabras, "Closed Permanently" (cerrado permanentemente). La página no dio ninguna razón. La copia que citamos antes coincide, archivo por archivo, con la versión de seis días antes, la última que funcionaba.
Dos días después, la misma persona quitó de la página los consejos para elegir una frase fuerte: "we should not encourage people to use human-generated passphrases no matter how good they think they are" (no deberíamos animar a la gente a usar frases generadas por humanos, por muy buenas que crean que son). A noviembre de 2026, la página archiva todo el esquema bajo "Obsolete brainwallet style" (estilo de brainwallet obsoleto) y dice que "should not be used" (no debería usarse).
Qué muestra la cadena para 32 frases
Cerrar un sitio web no retiró la aritmética, que ocupa unas pocas líneas de código con cualquier biblioteca de Bitcoin. En enero de 2026, el grupo de investigación Milk Sad publicó un recuento de 20,397 direcciones que se sabe que se hicieron así, armado a partir de listas públicas de frases que otras personas ya habían crackeado, y lo llamó una cota inferior. Es un recuento de otro tipo que el de las 884 del estudio de 2016, que dejó fuera unas 17,800 billeteras que el equipo tomó por experimentos de otras personas.
Hicimos una comprobación propia mucho más pequeña, sin ninguna herramienta de cracking. Escribimos 32 frases a mano: las cinco del video de D'Angelo, siete que nombran las diapositivas y el paper, y veinte intentos obvios como password, bitcoin, test y 1. Cada frase da dos direcciones del estilo antiguo, de las que empiezan con 1, porque Bitcoin tiene dos maneras de escribir una clave pública, sin comprimir y comprimida, y cada una da su propia dirección. Leímos lo que había pasado en las 64 desde un explorador de bloques público, y en todas menos las cuatro más activas también desde el nodo de Bitcoin Core que hay detrás de ChainQuery. Donde teníamos las dos fuentes, coincidieron en todos los recuentos.
Al 9 de noviembre de 2026, 29 de las 32 se habían usado. Sus direcciones habían recibido 1,307.7 BTC entre todas, y ninguna de esas direcciones tenía nada. La tabla muestra siete de los historiales. Cada fila es la dirección sin comprimir de la frase, la forma que los sitios viejos generaban por defecto; la otra dirección suele tener mucho menos.
| Frase (dirección sin comprimir) | Pagos recibidos | BTC recibidos | Primer pago | Último pago al 9 de noviembre de 2026 |
|---|---|---|---|---|
| La frase vacía | 423 | 60.0 | Septiembre de 2012 | Mayo de 2026 |
bitcoin is awesome | 50 | 501.1 | Noviembre de 2012 | Marzo de 2026 |
how much wood could a woodchuck chuck if a woodchuck could chuck wood | 55 | 500.1 | Febrero de 2013 | Febrero de 2026 |
Down the Rabbit-Hole | 7 | 165.1 | Julio de 2012 | Diciembre de 2021 |
The quick brown fox jumps over the lazy dog | 8 | 10.1 | Octubre de 2012 | Marzo de 2023 |
one two three four five six seven | 13 | 0.22 | Septiembre de 2011 | Septiembre de 2011 |
1 | 91 | 0.21 | Enero de 2014 | Agosto de 2026 |
"Recibidos" cuenta todos los pagos que entraron, así que algunas monedas se cuentan dos veces. Los 500 BTC del trabalenguas son los mismos 250, contados al llegar y otra vez al volver, y cerca de la mitad de los 165 BTC de Down the Rabbit-Hole es cambio de sus propios gastos, devuelto a la misma dirección. En total, al menos 334 de los 1,307.7 BTC son cambio o monedas devueltas de ese tipo. Un gasto tampoco es siempre un robo, porque los dueños también movieron sus propias monedas. La tabla muestra que esas frases estaban en uso y que ninguna de sus direcciones tenía nada el 9 de noviembre de 2026.
Las sumas grandes son viejas, porque casi todos los bitcoins llegaron en 2012 y 2013; 500 BTC fueron a bitcoin is awesome el 20 de noviembre de 2012 y 43 minutos después volvieron a la dirección que los había enviado. Después de eso, los gastos se aceleraron. Para las 39 direcciones cuyo historial completo pudimos descargar, 1,150 pagos en total, la tabla siguiente agrupa los pagos por el año en que llegaron. "Ninguna" en la última columna significa que al menos la mitad de los pagos de esa fila se gastaron en el bloque que los confirmó.
| Año del pago | Pagos | Gastados en el mismo bloque | Espera típica antes de que se movieran las monedas |
|---|---|---|---|
| 2011 | 14 | 0 | Alrededor de un mes |
| 2012 | 20 | 2 | Unas cuatro horas |
| 2013 | 50 | 20 | Dos bloques |
| 2014 | 210 | 97 | Uno o dos bloques |
| 2015 | 124 | 94 | Ninguna |
| De 2016 a 2023 | 608 | 386 | Ninguna |
| De 2024 a 2026 | 124 | 122 | Ninguna |
Cuatro direcciones tenían historiales demasiado largos para descargarlos completos: la de la frase del cómic, con unas 4,200 transacciones, y las de tres de las palabras que escribimos, password, god y wallet, con unas 45,000, 47,000 y 40,000. La mayor parte del tráfico en esas tres parece obra de un solo remitente: el 9 de noviembre de 2026, dos de ellas tenían exactamente 28,065 pagos cada una y la tercera tenía 28,099. El paper de 2016 apartó 15 brain wallets que quedaron inundadas durante un "stress test" (prueba de estrés) de la red en 2015, y estas parecen ser tres de ellas.
Son 39 direcciones elegidas a mano, no un sondeo. En algunos años domina una sola ráfaga de pagos de prueba, 2017 y 2020 fueron más lentos que los años vecinos, y las filas recientes son endebles. La mayoría de los pagos de 2025 y 2026 vienen de dos ráfagas que parecen de alguien que ponía a prueba los programas que se llevan estas monedas, una de ellas de 39 pagos desde una sola dirección en febrero de 2026. Aun así, todos los pagos de esos dos años, el más pequeño de 550 sats, se gastaron en el bloque que los confirmó. Los datos detrás de las dos tablas de esta sección se pueden descargar, con una fila por dirección y una fila por pago.
Qué se gana con un hash lento
Cuando el sitio cerró ya había dos arreglos disponibles.
El primero conservaba la idea y encarecía los intentos. WarpWallet, publicada en noviembre de 2013 por Max Krohn y Chris Coyne, pasaba la frase por scrypt, una función hecha para ser lenta y devorar memoria, y dejaba mezclar una dirección de correo como sal, de modo que un atacante "would have to target you individually" (tendría que atacarte a ti en particular). Quienes la crearon la probaron en público. Pusieron 10 BTC detrás de una frase de la que solo dijeron que tenía ocho caracteres, todos letras y dígitos. Eso son unas 2.2 x 10^14 posibilidades, menos que la estimación de Castellucci de lo que una botnet podía probar contra brain wallets comunes en un día. Las monedas llegaron el 19 de noviembre de 2013 y seguían ahí cuando venció el plazo que había fijado la página, el 1 de enero de 2016. Un mes después, los mismos 10 BTC pasaron a financiar un segundo desafío. Cuatro premios más pequeños, detrás de frases débiles a propósito, se los llevaron todos en un plazo de ocho días.
Así que con un hash lento sí se gana algo. Multiplica el costo de cada intento por una cantidad fija; la cifra de Castellucci era pasar de 130,000 intentos por segundo a más o menos uno. Eso bastó para proteger ocho caracteres sin ningún patrón. No hace nada por una frase que esté cerca del principio de la lista de todo el mundo, y el desafío no dice nada a favor de una frase que inventa una persona: la respuesta que publicaron después quienes lo plantearon, PuACRv0R, no es una frase que alguien inventaría.
Qué la reemplazó
El segundo arreglo eliminó la elección humana, y es el que ganó. Una billetera había hecho ese cambio temprano. En sus primeros días, Electrum, lanzada en noviembre de 2011, le pedía a cada persona que escribiera una semilla propia, el secreto del que una billetera saca todas sus claves, que fuera "long and random" (larga y aleatoria). El 6 de noviembre, quien la escribió cambió eso por 128 bits sacados por la computadora, bajo la nota "use random seed; do not trust the user for entropy" (usar una semilla aleatoria; no confiar en el usuario para la entropía). Entropía es la palabra técnica para la aleatoriedad. El sitio brainwallet.org se puso en línea cinco meses después.
El BIP 39, una propuesta de mejora de Bitcoin (Bitcoin Improvement Proposal) que recibió su número en septiembre de 2013, convirtió el enfoque en un estándar compartido. La billetera saca de 128 a 256 bits aleatorios y te los muestra como 12 a 24 palabras de una lista fija de 2,048. La billetera elige las palabras y tú las copias. La sección de motivación de la propuesta dice que es "a way to transport computer-generated randomness with a human-readable transcription" (una manera de transportar aleatoriedad generada por computadora con una transcripción legible para humanos) y "not a way to process user-created sentences (also known as brainwallets) into a wallet seed" (no una manera de convertir oraciones creadas por el usuario, también conocidas como brainwallets, en la semilla de una billetera). Esas palabras se llaman frase semilla. Una frase semilla se lee como una frase inventada, pero cada combinación de palabras es tan probable como cualquier otra, así que no hay una lista de las más probables para probar primero. La entrada bits de entropía tiene la aritmética.
El BIP 39 también te deja agregar una passphrase propia encima de las palabras, la llamada palabra 25. Esa vuelve a ser una elección humana. Es segura en la medida en que está detrás de palabras al azar que un ladrón no tiene, y por sí sola sería una brain wallet.
Si todavía la quieres en la cabeza
El deseo detrás de la brain wallet era razonable. Un secreto que existe solo en la memoria no se puede fotografiar ni encontrar cuando registran una casa. A noviembre de 2026, la Bitcoin Wiki usa la palabra para algo más acotado: memorizar una frase semilla que generó una billetera. Nadie puede adivinar una frase así, pero hay otras dos maneras de perderla.
La primera es olvidar. En un estudio de 2014 de Bonneau, que también firma el paper de las brain wallets, y Stuart Schechter, las personas que participaron, a cambio de un pago, aprendieron un secreto aleatorio de 56 bits, poco a poco, a lo largo de unos diez días. De quienes terminaron, el 94 por ciento lo aprendió, y el 88 por ciento de quienes hicieron la prueba unos cuatro días después de parar todavía podía escribirlo con exactitud. Dos semanas después de eso, podía el 59 por ciento. Es un secreto aleatorio de menos de la mitad del tamaño de una frase semilla de doce palabras, practicado durante diez días, y cuatro de cada diez lo habían perdido en las tres semanas siguientes a parar.
La segunda es morir. El propio D'Angelo plantea las dos cosas al final de su lección: olvida un solo carácter y puede que nunca recuperes el dinero, y si mueres puede que tu familia tampoco lo reciba nunca.
Así que trata la memoria como una segunda copia y nunca como la única. Anota las palabras y guárdalas como describe Estrategias de respaldo de la frase semilla (en inglés), y si alguien tiene que poder recuperar las monedas sin ti, planifícalo también en papel.
Consejo pro: Si alguna vez una herramienta te pide que inventes las palabras de las que sale tu clave, detente. Una billetera que hace su trabajo te muestra palabras que sacó al azar y te pide que las anotes. Y si todavía tienes monedas detrás de una frase que inventaste alguna vez, trata esa clave como pública y muévelas a una billetera que haya sacado sus propias palabras.
Qué ganamos con esto
- Sabes qué es una brain wallet. Un solo hash convierte una frase en una clave privada, y no hay que guardar nada.
- Sabes por qué falla. Sin sal, sin límite de intentos, con un hash rápido, una lista pública de blancos y frases que salen de un conjunto mucho más pequeño de lo que sugiere su longitud.
- Sabes con qué rapidez. La mitad de las billeteras del estudio de 2016 se vaciaron en menos de 21 minutos. En nuestra pequeña comprobación, todos los pagos de 2025 y 2026 se gastaron en el bloque que los confirmó.
- Sabes qué pasó frente a la cámara. Treinta centavos enviados a un nombre famoso desaparecieron un día antes de que se publicara el video, y dos frases que nadie conocía duraron hasta que el video las mostró.
- Sabes qué la reemplazó. Una billetera saca de 128 a 256 bits aleatorios y te los entrega como palabras. Doce de esas palabras son unos 19 billones de billones de veces más difíciles de adivinar que cuatro al azar, y nadie tiene una lista de la cual partir.
Deja que la billetera elija las palabras, y anótalas.
Más en Custodia y privacidad
Fuentes
- James D'Angelo (World Bitcoin Network) - Bitcoin 101: Fun with Brain Wallets (Making and Playing With Them) (video, published 9 February 2014; the page's own metadata gives uploadDate 2014-02-09T13:00:41-08:00, which is 21:00:41 UTC)
- LearnBitcoin - 32 passphrases and their 64 addresses: payments in, BTC received, balances, read 9 November 2026 from mempool.space and, for 60 of the 64, from the Bitcoin Core node behind ChainQuery too (CSV)
- LearnBitcoin - every payment to 39 of those addresses, with the block that confirmed it and the block that spent it, 1,150 rows (CSV)
- mempool.space - block 284,859 (8 February 2014, 21:05:29 UTC), which holds D'Angelo's payments to two passphrases and the spend of one of them
- mempool.space - the 41,700-sat payment to the passphrase 'Satoshi Nakamoto', block 284,859
- mempool.space - the transaction that spent it, in the same block
- mempool.space - the address that received the 30 cents: 45 payments in between April 2013 and October 2014, four of them from the 'correct horse battery staple' address in the two months before
- mempool.space - the 139,100-sat payment to 'World Bitcoin Network', block 284,859; the transaction id is the one visible on screen in the video
- mempool.space - the 139,100-sat payment to the 79-character phrase, block 284,860 (8 February 2014, 21:11:01 UTC)
- mempool.space - block 285,005, stamped 20:58:41 UTC on 9 February 2014, the last block before the video was published
- mempool.space - the spend of that payment in block 285,006, stamped 21:27:12 UTC on 9 February 2014
- mempool.space - the spend of the payment to the 79-character phrase in block 285,008, stamped 21:34:23 UTC on 9 February 2014
- BitcoinTalk, casascius, 14 July 2011, 18:34 UTC: 'This string contains 0.25 BTC hiding in plain sight.', with a bounty for whoever finds the coins
- BitcoinTalk, the same thread, 19:21 UTC: another member guesses, 'I bet the SHA-256 of that message is the private key needed to claim the bounty.'
- BitcoinTalk, the same thread, 22:59 UTC that evening: casascius on a future wallet with 'suckers choosing poor passphrases as places to put their coins'
- mempool.space - the 0.25 BTC bounty leaves the sentence's address in block 136,300, 14 July 2011, 21:56:44 UTC, 22 blocks after it arrived
- Bitcoin Wiki - Casascius physical bitcoins: coins 'created by Bitcoin user Casascius'
- brainwallet.github.io - js/brainwallet.js at the first commit (9 April 2012), line 425: the passphrase box is pre-filled with 'correct horse battery staple'
- brainwallet.github.io - commit of 24 May 2014 removing the pre-filled passphrase: visitors 'could assume it is a randomly generated phrase and use it'
- brainwallet.github.io - commit of 25 May 2014, 'disallow empty password': an empty box now clears every field (reversed a week later)
- brainwallet.github.io - commit of 1 June 2014 (UTC), 'default password is blank': the page computes a key for the empty box when it loads
- brainwallet.github.io - js/brainwallet.js at the site's last working commit (1 August 2015): genCalcHash() is one Crypto.SHA256 call on the passphrase box
- brainwallet.github.io - index.html at the same commit, line 108: the hint in the passphrase box, in the wording it had carried since 9 May 2015 (commit e8937adb, 'exclamation mark for passphrase')
- brainwallet.github.io - the last commit, 'closed permanently', 7 August 2015, 20:57:25 UTC: 17 files deleted and index.html cut to a page that reads 'Closed Permanently'
- GH Archive - GitHub's public event stream, hourly file 2015-08-07-21.json.gz: one PushEvent to brainwallet/brainwallet.github.io by the account brainwallet, carrying the commit 'closed permanently', created_at 2015-08-07T21:00:00Z
- BitcoinTalk, 6 July 2013: a brainwallet.org user reports 0.178 BTC moved 'literally within seconds' of arriving at a new brain wallet
- BitcoinTalk, Mike Hearn in the same thread, 6 July 2013: 'The owner of that site needs to shut it down.'
- BitcoinTalk, Gregory Maxwell, 15 October 2013, asked whether a standard for brain wallets exists: 'FOR GODS SAKE. DON'T DO IT.'
- brainwallet.github.io pull request 27 (29 October 2013) - a patch adding PBKDF2 key stretching, closed unmerged the same day; the maintainer's reply: 'You don't really need that'
- mempool.space - the address of the empty passphrase (uncompressed key): 60.00015783 BTC received in 835 transactions, balance zero (the 423 payments in are counted in our CSV)
- mempool.space - 50 BTC paid to the empty passphrase in block 367,464, 29 July 2015, and spent in the same block
- bitaddress.org v2.8.1 source - ninja.brainwallet.js: minPassphraseLength 15, then one SHA-256 of the passphrase
- bitaddress.org v2.8.1 source - ninja.translator.js: 'The passphrase you entered is too short' and the brute-force warning
- Bitcoin Wiki - Brainwallet, as it stood from 4 August 2012 to 30 May 2015 (Wayback Machine copy, 6 December 2013): the example passphrase and the Precaution section
- Bitcoin Wiki - Brainwallet, revision history: created 30 January 2012; 30 May 2015, 'this example is a great way to get your money stolen'; 9 August 2015, 'we should not encourage people to use human-generated passphrases'
- Bitcoin Wiki - Brainwallet (read November 2026): the passphrase scheme is filed under 'Obsolete brainwallet style' and 'should not be used'; the word now covers memorizing a wallet-generated seed phrase
- XKCD 936 - Password Strength (10 August 2011): four random common words, about 44 bits, '550 years at 1000 guesses/sec'
- Ryan Castellucci - Cracking Cryptocurrency Brainwallets, slides as delivered at DEF CON 23 on 7 August 2015 (60 pages; Wayback Machine copy)
- Ryan Castellucci - draft of the same slides, 20 July 2015 (DEF CON media server, 38 pages): '250BTC was worth about $15k' (p. 8; the slide as delivered says '$20k at the time'); p. 13, a screenshot of both woodchuck transactions with the 1yoink address, received 03:27:10 and 03:29:06 on 24 March 2013
- Ryan Castellucci - Why I'm Releasing a Brainwallet Cracker at DEFCON 23 (8 July 2015; Wayback Machine copy)
- mempool.space - the address that collected the 50 BTC of 29 July 2015: 266 payments in, none out, 55.49460942 BTC on 9 November 2026
- Courtois, Song and Castellucci - Speed Optimizations in Bitcoin Key Recovery Attacks, Tatra Mountains Mathematical Publications 67 (2016), pp. 55-68: '55.86 dollars to check a trillion passwords' (p. 65)
- Bonneau and Shutova - Linguistic properties of multi-word passphrases (USEC 2012): 72.9 percent of 476 song titles already in use; 'even 4-word phrases probably provide less than 30 bits of security'
- DEF CON 23 schedule - Friday 7 August 2015, 14:00, Track Four: Cracking Cryptocurrency Brainwallets
- ryancdotorg - Brainflayer repository and README
- mempool.space - 24 March 2013 (UTC), block 227,725: the 250 BTC behind the woodchuck phrase is spent, 31,337 sats to a 1yoink address and the rest to a change address
- mempool.space - two blocks later: 250.001 BTC returns to the same address
- mempool.space - 29 March 2013, block 228,642 (20:45:32 UTC): the returned coins leave the woodchuck address for a new one
- Vasek, Bonneau, Castellucci, Keith and Moore - The Bitcoin Brain Drain: A Short Paper on the Use and Abuse of Bitcoin Brain Wallets (Financial Cryptography 2016, preproceedings PDF)
- The same paper in Springer's Financial Cryptography and Data Security volume (LNCS 9603), pp. 609-618, DOI 10.1007/978-3-662-54970-4_36 (published 2017 under the title 'Examining the Use and Abuse of Bitcoin Brain Wallets'; subscription page)
- Ryan Castellucci and Marie Vasek - Measuring the Use and Abuse of Brain Wallets (BSides Las Vegas, 25 July 2017; video): 3.9 trillion candidate passwords and 2,005 brain wallets (slides at 19:46 and 21:08); on the empty string, 'the most common brain wallet' and 'I don't think anybody actually ever intended to put money there' (22:13 to 22:28, automatic captions)
- mempool.space - 500 BTC paid to the passphrase 'bitcoin is awesome' in block 208,796, 20 November 2012 (19:43:41 UTC); the spend four blocks later, at 20:26:51, pays all 500 back to the address it came from (follow the first output)
- Milk Sad - research update 16, Investigating Weak Brainwallets (6 January 2026): 20,397 one-round SHA-256 addresses, built on 'public sources that we used as a foundation', 'a lower bound'
- Peter Todd, bitcoin-dev, 22 February 2015: 'brain wallets are such scary technology' (LearnBitcoin developer archive)
- Keybase - WarpWallet (read November 2026): scrypt and PBKDF2 with an optional email salt; the challenges, the first main one marked 'Expired/unsolved' with its answer, 'PuACRv0R'
- Keybase - WarpWallet as first published (Wayback Machine copy, 13 December 2013): the main challenge, 'this passphrase is 8 characters long, only alphanumerics', 'expires: January 1, 2016'
- Keybase - WarpWallet signed version history: 'Challenge 2 has fallen' (20 November 2013), 'Challenge 3 has fallen' (27 November 2013), 'Announce new WW Challenge, and close old one' (1 February 2016)
- mempool.space - the WarpWallet challenge address: 10 BTC in on 19 November 2013, unspent until 31 January 2016 (01:19 UTC)
- Electrum - commit of 6 November 2011, 'use random seed; do not trust the user for entropy': a 128-bit random seed replaces the one the user typed
- BIP-39 - Mnemonic code for generating deterministic keys (assigned 10 September 2013): 'not a way to process user-created sentences (also known as brainwallets) into a wallet seed'
- Bonneau and Schechter - Towards Reliable Storage of 56-bit Secrets in Human Memory (USENIX Security 2014, paper PDF): 94 percent typed the whole secret from memory (abstract); 88 percent recalled it in the first follow-up and 59 percent in the second (section 5.4 and Table 1)
Publicado el . No hay correcciones registradas para esta página.
Editar esta página en GitHub