Estoy comenzando con bitcoin y, aunque entiendo bastante bien cómo funciona la cadena de bloques, las palabras clave que usan algunas billeteras (MultiBit y Electrum) me dan escalofríos y dudas. La pregunta principal es: ¿Por qué son seguros? La base de la pregunta: los humanos no son una buena fuente de datos aleatorios, por lo que usamos palabras semilla de una fuente basada en el tiempo de PC aleatorio. Estas palabras semilla son una representación de un número binario y la frase con 12 palabras hace un hash de 128 bits. Esas palabras se extraen de un diccionario de 4096 palabras. El diccionario de Electrum se guarda en un script de python, por ejemplo. Entonces, podemos decir que conocemos esas 4096 palabras. Tengo una frase inicial (12 palabras) de mi billetera. ¿Qué protege toda la red de alguien que cambia la última palabra de su propia frase 4096 veces, para abrir 4096 billeteras bitcoin? Lo sé con Electrum, de nuevo por ejemplo, que 128 de esos 4096 generan direcciones válidas. ¿Qué protege entonces a la red de que alguien abra las billeteras bitcoin de 128 compañeros y robe todo el dinero? La última parte es más simple, la validación se realiza en línea, ¿cómo una verificación de billetera de las palabras abre la clave privada si pueden funcionar sin conexión?
Para la gran mayoría de las posibles combinaciones de 12 palabras, las billeteras correspondientes estaban vacías y nunca se generaron. El número total de combinaciones es bastante grande , por lo que tratar de usar la fuerza bruta no funcionará. De hecho, las palabras son solo otra forma (mnemotécnica) de codificar la entropía contenida en la clave privada.
Es seguro de la misma manera que lo son las claves privadas; el espacio de búsqueda es tan masivo que la probabilidad de que alguien genere una clave privada o una semilla que otra persona esté usando es extremadamente pequeña, por lo que es básicamente imposible.
Nada protege a alguien de generar cientos de miles de claves y cientos de miles de frases semilla y ver si alguna de ellas tiene Bitcoin asociado. Pero dado que el espacio de búsqueda es tan masivo, esa persona tendría una probabilidad de casi 0 de encontrar una clave que alguien haya usado. Incluso si generara un millón de claves por segundo (ya sea al azar o mediante frases semilla), esa persona tendría básicamente una probabilidad de 0 de encontrar la clave privada de otra persona, incluso si buscara hasta la muerte por calor del universo.
La última parte es más simple, la validación se realiza en línea, ¿cómo una verificación de billetera de las palabras abre la clave privada si pueden funcionar sin conexión?
Así no es como funciona Bitcoin. No hay ninguna validación de ningún tipo con claves privadas. No hay necesidad de "validar" claves privadas o registrarlas en ningún lugar o similar.
Tenga en cuenta que el orden de estas palabras también debe ser correcto, por lo que estos 35 dígitos decimales de posibilidades aumentarán a 44 dígitos decimales. Incluso si pudieras comprobar 1000.000.000 de posibilidades por segundo, el tiempo del universo no sería suficiente.
Asclepio