¿Alguna vez te has preguntado por qué la cartera BTC de otra persona no puede generar la misma dirección que la tuya? ¿O por qué alguien no puede generar la misma frase semilla que tú? ¡Al fin y al cabo, son solo unas pocas palabras! En este hilo analizamos los cálculos, investigando qué tan bien protege bitcoin tu patrimonio. 🧵⬇️
Hay 3 herramientas principales que el protocolo bitcoin utiliza para proteger tu patrimonio, que merece la pena entender: Entropía, funciones hash y criptografía asimétrica. Cada uno de estos se utiliza ampliamente en el mundo de la seguridad digital, incluso fuera de bitcoin. Vamos a explicar brevemente cada uno.
Primero: entropía. Es un nombre elegante y conciso para la "aleatoriedad impredecible". Si eliges un número muy grande al azar, de forma impredecible, ningún ordenador podría esperar adivinarlo (¡siempre que el número sea lo suficientemente grande!). Así tendrías un secreto seguro.
¿Qué tamaño suficiente es un número? El NIST recomienda 2^112 bits (también conocidos como 112 bits) o más para una seguridad eficaz. Para que te hagas una idea, toda la red de minería de bitcoin actualmente realiza unas 2^79 conjeturas cada 10 minutos. ¡Pero 2^112 es más de 8.000 millones de veces más grande que eso!
Además, una frase semilla de 12 palabras representa una entropía aún mayor: 2^128. (Cada palabra representa 11 bits. 11*12 = 132, menos 4 bits para una suma de control.) ¡2^128 es unas 65.000 veces más fuerte que la recomendación del NIST!
Para que alguien adivine una frase semilla específica, es como si tuviera que pedir prestadas todas las máquinas globales de minería de bitcoin y hacer conjeturas durante unos 10.700 millones de años. Teóricamente es posible, pero poco razonable pensar que alguna vez ocurrirá si se siguen las mejores prácticas.
Segundo: funciones hash. Las funciones hash son geniales, porque puedes introducir cualquier dato (llamado preimagen) y generará un número único entre 0 y el límite superior de la función (SHA-256 es especialmente famoso, con un rango de hasta 2^256). Podías introducir una palabra, una página, un libro.
Estas funciones son unidireccionales. Puedes encontrar fácilmente una salida de una entrada. Sin embargo, si solo tienes la salida, no puedes encontrar la entrada sin adivinar. Incluso las salidas de entradas similares con cambios menores (como una letra mayúscula) se ven completamente diferentes y aleatorias:
Por lo tanto, una salida hash tiene propiedades similares a la entropía. Alguien que busque una preimagen que resulte en una salida hash concreta tendría que intentar adivinar tras suposición tras suposición. Mientras se necesite 2^112 intentos o más, es inviable y la preimagen es segura.
Bitcoin utiliza SHA-256 para ayudar a hacer que las transacciones sean irreversibles, y SHA-256 o RIPEMD-160 para proteger la mayoría de los tipos de direcciones. Así que para que una cartera genere la misma dirección que la de otra persona, necesitaría al menos 2^160 intentos, lo cual es más que suficiente seguridad.
Finalmente: criptografía asimétrica. También conocida como criptografía de clave pública, o en muchos contextos criptografía de curvas elípticas (ECC). En bitcoin, el ECC se utiliza para que una clave privada pueda producir una clave pública, así como firmas para aprobar transacciones.
Si una clave pública es un número lo suficientemente grande, de nuevo haría falta una cantidad enorme de suposiciones para encontrar la clave privada asociada. Las claves de Bitcoin son números dentro de un espacio de 2^256. Las cuentas resultan que la seguridad es en realidad la mitad de los bits, es decir, 2^128, que es seguro.
En última instancia, todos los que realizan operaciones normales en la economía de bitcoin están protegidos por estándares de seguridad que van mucho más allá de las recomendaciones del NIST y las contraseñas típicas de banca online. La tabla de abajo ayuda a visualizar la situación.
602