Claude Shannon, el matemático que sentó las bases de la teoría de la información, utilizó la entropía para medir el grado de incertidumbre de un resultado. En el caso de un dado de seis caras justo, cada cara tiene la misma probabilidad de salir, una de seis. Esto otorga a cada lanzamiento aproximadamente 2,585 bits de entropía. Lanzar una moneda da 1 bit, y lanzar un dado de ocho caras da 3 bits.

Lo importante no es que el dado que se lanza se comporte de forma aleatoria a nivel atómico. No es así. El resultado está determinado por las leyes de la física, pero simultáneamente cambian demasiadas variables pequeñas para que nadie pueda calcular el resultado de manera confiable. El dado sale de la mano con una velocidad específica, en un ángulo, desde una altura específica y con rotación, luego golpea la mesa y cambia de dirección en cada rebote.
En la práctica, incluso un cambio minúsculo en el lanzamiento puede conducir a un resultado completamente diferente. Una posición ligeramente distinta de los dedos o un lanzamiento un poco más fuerte alteran la trayectoria tanto que el número final es imposible de predecir observando el movimiento. El resultado puede ser determinista en teoría, pero para generar carteras, lo crucial es que un atacante no pueda reproducirlo o calcularlo.
Convertir los resultados de lanzamientos de dados en datos utilizables
Un ordenador no puede utilizar directamente una lista de resultados de lanzamientos de dados. Primero, los lanzamientos deben convertirse en datos binarios, y el método de conversión importa.
El método simple de "par-impar" es fácil de entender, pero desperdicia gran parte de la entropía disponible. Cada lanzamiento se reduce a un bit, aunque el dado genera alrededor de 2,6 bits de información. Métodos más eficientes recopilan una secuencia larga de lanzamientos y procesan toda la cadena, generalmente con una función hash criptográfica. Esto permite conservar mucha más aleatoriedad.
El mismo principio subyace en Diceware, un método conocido desde hace tiempo para crear frases de contraseña seguras, y también en la creación manual de carteras de Bitcoin. Una frase de recuperación de cartera típica de 12 palabras contiene 128 bits de entropía. Con aproximadamente 2,6 bits por lanzamiento, unos 50 lanzamientos justos proporcionan suficiente información de origen para superar ese umbral.
La empresa Coinkite, fabricante de la cartera de hardware Coldcard, recomienda 99 o más lanzamientos para usuarios que buscan entropía cercana a los 256 bits. Esto no hace que usar la cartera sea el doble de difícil, pero proporciona al secreto generado un margen de seguridad matemático mucho mayor.
La prueba práctica de las semillas generadas con dados
Esta distinción cobró importancia después de que Coinkite revelara un problema de firmware que se remonta a 2021. En algunos dispositivos Coldcard, el software podía omitir el generador interno de números aleatorios de hardware y utilizar en su lugar un proceso más vulnerable relacionado con información no secreta del dispositivo.
Como partes de este algoritmo podían ser reconstruidas, los atacantes podían reducir el espacio de posibles claves de cartera, en lugar de tener que buscar en todo el espacio de claves. Esta vulnerabilidad se vinculó con el robo de aproximadamente 1.128,6633 BTC de unas 1.100 direcciones (alrededor de las 13:00 hora del Este).

Las semillas de cartera creadas únicamente a partir de suficientes lanzamientos de dados independientes no estaban en riesgo a través del mismo canal. Estos usuarios proporcionaron su propia entropía, por lo que el generador de hardware defectuoso no participó en la creación del secreto principal de la cartera.
Sin embargo, esta protección solo se aplicaba a la frase semilla generada con lanzamientos de dados. No garantizaba automáticamente la seguridad de todos los demás datos secretos generados por el dispositivo.
Wizard Sardine analiza la letra pequeña
El 1 de agosto, el investigador de seguridad Kevin Loaec publicó una evaluación de la vulnerabilidad de Coldcard en el sitio Wizard Sardine. Su observación más importante se refería a las funciones de Coldcard que generaban sus propias claves secretas de forma separada a la semilla principal de la cartera.
"Creo que es extremadamente importante enfatizar que incluso los usuarios que importaron o generaron una semilla con dados son vulnerables si usan las siguientes funciones", escribió Loaec en X, antes de presentar un diagrama del sistema vulnerable.
El diagrama muestra cómo el generador de números aleatorios vulnerable alimenta varias funciones secundarias de Coldcard. Estas incluyen la creación de una cartera de papel, clonación del dispositivo, cifrado de sesiones USB, la función de transferencia secreta Teleport, creación de claves para firma conjunta, el generador de contraseñas integrado y códigos de autenticación del módulo de seguridad de hardware.

La cartera principal, creada con 99 lanzamientos de dados, permanecía en una parte separada del sistema. El problema era que otras herramientas aún podían solicitar nuevos datos aleatorios al generador defectuoso. Como resultado, una semilla segura no garantizaba que cada contraseña, copia de seguridad, código de autenticación o clave secundaria creada en el mismo dispositivo fuera igual de segura.
Por qué la mayoría de los nuevos usuarios no lanzarán dados
La entropía generada con dados es técnicamente sólida si se realiza correctamente, pero para la mayoría de los nuevos usuarios no es una opción realista por defecto. Lanzar un dado 50 o 99 veces, ingresar con precisión cada resultado y verificar que no se omitió o repitió ningún lanzamiento requiere paciencia y mucha concentración. Un solo número ingresado incorrectamente puede cambiar completamente la dirección final de la cartera, y la mayoría de los dispositivos no pueden determinar si el error fue causado por un lanzamiento incorrecto, un error de entrada o una mala interpretación de las instrucciones.

Este proceso también conlleva riesgos que no existen al usar un generador de hardware que funcione correctamente. Los usuarios pueden anotar los resultados en papel, fotografiarlos, ingresarlos en una herramienta en línea o dejar la lista en un lugar donde alguien más pueda encontrarla. Algunas personas lanzan el dado de manera repetitiva o controlada, usan un dado trucado o dañado, o detienen el proceso antes de tiempo porque les parece excesivo. La base matemática puede ser sólida, pero la seguridad del resultado depende únicamente de cuán cuidadosamente el usuario siga el procedimiento.

Es por eso que lanzar dados no siempre se considera el mejor método para muchas personas, incluso entre usuarios experimentados de Bitcoin. Reemplaza la confianza en el dispositivo por la confianza en un proceso manual. Para un usuario técnicamente prudente que comprende la entropía, verifica el método y mantiene la secuencia de lanzamientos en secreto, este intercambio puede tener sentido. Para el comprador promedio que configura una cartera por primera vez, crea múltiples oportunidades para cometer un error irreversible, además de ser un proceso tedioso.

Además, es difícil imaginar una adopción masiva de Bitcoin si para recibir fondos y mantenerlos seguros las personas tuvieran que sentarse en una mesa y registrar los resultados de 99 lanzamientos de dados. Las medidas de seguridad deben resistir las pruebas de las condiciones reales del hogar, las agendas apretadas, las distracciones y los usuarios que no desean aprender criptografía. La generación manual de entropía debería permanecer disponible como opción para usuarios avanzados, pero el objetivo a largo plazo es crear hardware y software que genere correctamente aleatoriedad fuerte, explique claramente lo que está sucediendo y requiera la menor cantidad posible de conocimientos especializados.
Qué deben revisar los propietarios de Coldcard
Los propietarios de dispositivos Coldcard vulnerables deben primero verificar la versión de firmware instalada en el dispositivo. Luego, deben analizar qué funciones utilizaron mientras trabajaban con el firmware desactualizado, en lugar de centrarse exclusivamente en cómo se generó la semilla de la cartera principal.
Cualquier persona que haya usado un dispositivo vulnerable para generar una cartera de papel, una clave secreta de clonación, una contraseña, una clave de firma conjunta o un código de autenticación, posiblemente necesite reemplazar esos materiales de inmediato. Instalar la actualización evita que el mismo problema ocurra con nuevos datos secretos, pero no corrige lo que se creó anteriormente.
Este incidente también refuerza la justificación práctica de usar carteras con dispositivos de múltiples fabricantes. En un esquema de multisig, pueden requerirse dispositivos de hardware separados de diferentes fabricantes para aprobar una transacción. Tal estructura no elimina la posibilidad de errores en el firmware, pero puede evitar que un solo generador de números aleatorios defectuoso ponga en riesgo toda la cartera por sí solo.
end-content






