Energía Necesaria Para Robar un Monedero de Bitcoin

Imagine que quiere intentar un ataque de fuerza bruta contra la dirección pública del usuario bitcoñero (del post anterior), que muestra su dirección pública en un foro de internet desde 2013, con unos 1200 bitcoins, equivalente a unos 600000 euros.

Conociendo la clave pública, vamos a intentar encontrar su clave privada, que es secreta, y que nos dará acceso a gastar el monedero.

Vamos a intentarlo por fuerza bruta, probando todas las posibilidades una a una. Como las claves privadas de Bitcoin constan de 256 bits, hay 2^256 posibles combinaciones. Supongamos que estadísticamente tenemos que intentar la mitad de las combinaciones para tener éxito. Eso son 2^255 combinaciones (aproximadamente 5.8e+76 posibilidades).

Supongamos que tenemos un ordenador que va probando todas las combinaciones. Prueba una combinación, cambia un bit, y vuelve a intentarlo. Así hasta que acierta.

Podríamos preguntarnos ¿cuánta energia cuesta almacenar un bit de información?

  • Un disco duro portátil o una memoria RAM actual transmiten información a un ritmo de unos pocos Gbits/s con un coste energético de unos pocos Watios. Esto representa 1e-9 J por bit.
  • Supongamos que somos capaces de almacenar la información en un único electrón, y que la energía necesaria para que el bit pase de 0 a 1 y viceversa es sólo de un electronvoltio. Eso son unos 1.6e-19 J, mas o menos 1e+10 veces menos que el consumo de la tecnología actual.
  • Imaginemos que podemos mejorarlo, y que podemos almacenar informacion en el espín de los electrones de los átomos (segun el espín del electrón este orientado con respecto al espín del núcleo). Utilizando como ejemplo la estructura hiperfina del átomo de hidrógeno, entonces la energia necesaria para almacenar ese bit sería mucho menor, del orden de 5.9 micro-eV (igual a 9.4e-25 J). Esto ya parece imposible de mejorar, porque la propia energía térmica del fondo de microondas es mayor (esto quiere decir que cualquier dispositivo que inventemos se desordenará por la propia energía de las partículas que lo forman).

Supongamos que cada bit requiere 9.4e-25 J. En promedio harían falta alrededor de 5.4e+52 J para romper la clave ¿Es esta mucha energía?

Supongamos que se creara una maquina que utilizara tanta energia electrica como toda la potencia instalada actualmente en España (unos 100000 MW), ¿Cuanto tiempo se necesita para para proporcionar esa energía? Calcúlelo, son unos 1.7e+34 millones de años (redondeando, un 1 seguido de 34 ceros). Como la edad del universo es del orden de 14000 millones de años, ese tiempo supone 1.2e+24 veces la edad del universo.

No se a usted, pero que se tarden 17,000,000,000,000,000,000,000,000,000,000,000 años en descubrirme la clave secreta a mi me da bastante seguridad.

Y esto no lo va a cambiar la computación cuántica, pues en algún lugar se tendrán que almacenar los 256 bits de la combinación a probar. No es tanto un problema de velocidad de cálculo como de imposibilidad de  gestionar la información.

Concluimos de todo esto que no parece que los ataques de fuerza bruta tengan mucho futuro contra Bitcoin.

A no ser, claro está, que usted encuentre una forma para romper la clave fácilmente. En ese caso se hará rico y famoso. Buena suerte, y dese prisa porque hay mucha gente intentándolo.

Autor: willyfog

Turista laboral por la Unión Europea. Por favor que dure. Lo que veo, leo o me cuentan no lo suelo encontrar en español, así que me gusta escribirlo por aquí.

Un comentario en “Energía Necesaria Para Robar un Monedero de Bitcoin”

  1. Comprobar por clave privada es imposible. La mejor manera es generar claves privadas desde un diccionario con base restringida de caracteres. Ejemplo, aaa aab aac… zzx zzy zzz… De todos modos, tardaría bastante, y si la contraseña es demasiado complicada, quizás nunca se terminaría… Otra manera sería por palabras clave, arbolito14, d1n3r0 y así, es decir, contraseñas que quizás se usan generalmente.

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s