-
A trece años de la publicación del White paper de Bitcoin, su tecnología parece más invulnerable.
-
Hackear Bitcoin podría tomarte 30.000 años o USD 2,2 millones por hora.
Muchos han especulado sobre las posibles maneras de crear una fortuna de la nada hackeando transacciones en Bitcoin. Pero todos esos esfuerzos reflexivos han sido en vano. De hecho, el white paper de Bitcoin ya mostraba las claves para impedir que un hacker (o cualquier tipo de atacante) robe criptomonedas a través de cambios en el historial de transacciones.
A trece años de la publicación del white paper de Bitcoin, las lecciones sobre lo difícil que sería estafar a la red siguen vigentes. Es más, cada día que pasa y crece la red de mineros de Bitcoin la simple idea de hackear el sistema se vuelve más y más absurda.
En el white paper de Bitcoin, Satoshi Nakamoto no descarta la posibilidad de que existan atacantes que quieran defraudar el sistema. Siempre hay alguien codicioso que quiere el trozo más grande del pastel.
De hecho, en 2009, Bitcoin era una red que conectaba apenas a un puñado de computadoras (y no valía ni unos pocos centavos). Cuando se escribieron las reglas de consenso de Bitcoin, hasta un simple estornudo informático de un hacker hubiese podido ser un problema.
Pero esas reglas tenían la clave para hacer que las personas pusieran su esfuerzo, y sus computadoras, al servicio de un objetivo común. Mientras más valioso se hace bitcoin (BTC), más segura se vuelve la red.
Les mostraré por qué el riguroso sistema de seguridad de Bitcoin puede llegar a ser un rompedero de cabeza cruel para cualquiera que intente un hackeo de la red.
Las reglas del juego de Bitcoin rompen las ilusiones de los atacantes
Un hacker codicioso no conseguiría más dinero con un fraude o un cambio de transacciones que minando Bitcoin de manera honesta. La red de mineros está diseñada de tal manera que un atacante encontraría muy costoso rehacer la cadena de bloques «en secreto» a través de una prueba de trabajo, la ingeniosa solución que evita el doble gasto en Bitcoin a medida que recompensa a los mineros por su participación.
El incentivo puede ayudar a alentar a los nodos a mantenerse honestos. Si un atacante codicioso es capaz de ensamblar más CPU que todos los nodos honestos, tendría que elegir entre usarlo para defraudar a las personas robando de vuelta sus pagos, o usarlo para generar nuevas monedas. Debería encontrar más rentable jugar según las reglas, reglas tales que favorecen con más nuevas monedas (…) que socavar el sistema y la validez de su propia riqueza.
White paper de Bitcoin.
Esto quiere decir que un hacker necesitaría muchísimas computadoras o mineros de Bitcoin para crear las condiciones que permitan engañar a la mayoría de los mineros que actualmente trabajan en la red. Por ejemplo, a través de un ataque de 51% para censurar transacciones de otros o revertir transacciones propias del atacante, creando un doble gasto.
Solo un Estado podría ejecutar un ataque de 51% a Bitcoin
Hackear Bitcoin con un ataque de este tipo costaría USD 2,2 millones cada hora, según Crypto51. Para que te hagas una idea, tendrías que tener 1.273.000 ASIC Antminer S19 Pro a toda su capacidad para competir contra toda la red que está conectada en la actualidad (y que asumimos que quieren que Bitcoin siga teniendo el valor que ya ha alcanzado).
Según Go Bitcoin, se necesita invertir USD 28.678 millones en la compra de equipos de mineros como el Antminer S9 para hackear Bitcoin en la actualidad y su gasto eléctrico, en el caso de que se consiguiera esa cantidad en el mercado.
Por supuesto, un ataque de esta magnitud tendría consecuencias inmediatas en los mercados. Quien quiera que se proponga la demencial empresa de conseguir bitcoins por este camino, estaría actuando en contra de sus propios intereses, porque sus propias reservas de criptomonedas se devaluarían de inmediato.
Solo un Estado podría costear un ataque de esta magnitud, amparado por el hecho de que solo los bancos centrales podrían imprimir dinero irrestrictamente sin sufrir –tanto- por el costo. ¿Quién podría estar tan motivado para destruir algo con la conciencia de que va a perder más de lo que podría ganar?
Las probabilidades están en contra de un hackeo a Bitcoin
La posibilidad de que un hacker logre engañar a la red de mineros disminuye a medida que crece el historial de bloques agregados por encima de las transacciones que quiere modificar. Además, un hacker solo podría modificar en secreto sus propias transacciones «recientes», porque el resto de los nodos nunca aceptaría un historial de nuevas transacciones que no coincidan con las de su propio registro de la blockchain.
Incluso así, esto es tan improbable que Satoshi Nakamoto comparó esta ilusoria expectativa con el concepto estadístico «ruina del apostador». Un apostador persistente que comienza a jugar un juego con un déficit, aunque cuente con un “crédito ilimitado”, eventualmente se arruinará, no importa cuántas estrategias de apuestas use.
Esto significa que un atacante que comience a competir en contra de los mineros de Bitcoin tiene más probabilidades de perder por el simple hecho de que comienza a minar bloques posteriormente.
Es como si tuviese menor capital al «comenzar su apuesta». En la carrera por hacer que su blockchain sea aceptada como válida (incluyendo sus transacciones manipuladas), se esperaría que tenga menos oportunidades de minar o validar el bloque de transacciones que continúa la cadena.
Dada la suposición de que [la cadena honesta es mayor que la cadena del atacante], la probabilidad disminuye exponencialmente a medida que aumenta el número de bloques que el atacante tiene que alcanzar. Con las probabilidades en contra de él, si no hace una estocada hacia adelante al principio, sus posibilidades se vuelven cada vez más pequeñas a medida que queda atrás.
White paper de Bitcoin.
No importan cuánto lo intente. Las probabilidades de que un atacante utilice el software de Bitcoin para replicar una blockchain en secreto y eventualmente sustituirla por la blockchain pública son escasas.
De hecho, en el white paper de Bitcoin hay una demostración matemática de la progresiva disminución de la suerte de alguien que intentara hackear Bitcoin de esta manera. Para decirlo de otra manera, el white paper de Bitcoin no muestra compasión por nadie.
¿Quién necesita un hacker para robar bitcoins?
Quizá no eres de los que piense que todos los hackers, crackers o piratas informáticos son seres incomprendidos o genios precoces que solo quieren destruir el mundo (y ganar algunos millones en el proceso) como Elliott Gunton, acusado de haber pirateado TalkTalk y EtherDelta. Y tienes razón.
Algunos de estos hackers (o crackers, que es un término más preciso para estos informáticos peligrosos) han sido en realidad muy listos. Por ejemplo, Gary MacKinnon, quien logró burlar a la Agencia Nacional de Seguridad (NSA) de Estados Unidos. Entonces, ¿para qué preocuparse de gastar miles de millones en computadoras y electricidad si solo necesitas una computadora y una taza de café? ¿verdad?
Algunos delincuentes, o aspirantes a criminales, quieren dar un golpe más preciso y evitar los problemas grandes. Quizá, entre estos, están aquellos que creen que pueden conseguir unos bitcoins extra haciendo dos transacciones con las mismas criptomonedas, lo suficientemente rápido para que nadie se dé cuenta.
Sin embargo, Bitcoin está diseñado para evitar que cualquiera pueda hacer un doble gasto, que es como se conoce este tipo de fraude. Este sistema anti hackeo descrito en el White paper de Bitcoin consiste en crear una «marca de tiempo» en cada transacción. El objetivo es tener «un sistema para que los participantes acuerden un historial único del orden en que [las transacciones] se recibieron», como dice el White paper.
Debido a que el objetivo de la red es guardar tantas copias del historial de transacciones como sea posible, para que nadie las pueda cambiar, la seguridad de Bitcoin se construye con base en la cooperación. De modo que, quien recibe una transacción, solo «necesita una prueba de que, al momento de cada transacción, la mayoría de los nodos acordaron que esa fue la primera recibida».
Bueno, pero es posible manipular el código de las transacciones ¿no?
No, no es posible. Cada transacción en Bitcoin usa un algoritmo de encriptación conocido como Sha-256, que fue diseñado por la NSA y el National Institute of Standars and Technology (NIST) y es un estándar de seguridad criptográfica utilizado en todo el mundo.
No te voy a abrumar con toda la explicación, lo prometo. Este método toma la información de cada transacción y la transforma en una secuencia de 256 bits o 64 caracteres, conocida como hash. Esto quiere decir que cualquier información de letras y números metida en «la máquina» criptográfica de Bitcoin se convierte en un elemento único. Este proceso tiene varias funciones.
Por un lado, genera direcciones de Bitcoin y las claves para identificar al propietario de esas direcciones. Por supuesto, al tener esas claves únicas (las llaves privadas), también puedes demostrar que eres dueño de las criptomonedas almacenas ahí, y no cualquiera que intente poner claves al azar en un monedero de Bitcoin.
Resulta prácticamente imposible intentar hallar la llave privada de alguien lanzando números al azar. De hecho, es tan improbable que si hicieran un cuatrillón de intentos tendrías 0,681892% de probabilidades de encontrarla. Si tuvieses un millón de computadoras buscando una dirección privada de Bitcoin por segundo, podrías tardar hasta 30.000 años en encontrarla. ¡Suerte!
Además, este mismo algoritmo se usa para la minería de Bitcoin. Cada bloque de la cadena, que contiene unas 2.000 transacciones en promedio, utiliza criptografía. Cualquier cambio en una transacción altera el hash que el minero utiliza para registrar e identificar el bloque de información agregado a la red, por lo que es fácil saber si alguien cambió algo en una transacción (porque se genera un hash distinto) y quiere vender gato por libre.
Nada es dejado al azar en Bitcoin
Aunque hay condiciones hipotéticas que podrían no considerarse exactamente como hackeo, Bitcoin está preparado para evitar que alguien intente aprovecharse. Por ejemplo, si dos mineros agregan al mismo tiempo un bloque a la cadena, y estos bloques contienen las mismas transacciones, las únicas válidas serán las que se difundan a través de la red en menor tiempo.
De modo que las transacciones repetidas comenzarían a ser descartadas por la mayoría de los nodos, antes de minar el siguiente bloque. En otras palabras, Bitcoin siempre elige como verdadera la cadena más larga o la que tiene más prueba de trabajo, evitando cualquier doble gasto. Parece improbable, pero de vez en cuando ocurre que dos bloques de transacciones chocan, como reportamos en CriptoNoticias.
El costo económico del hackeo, las probabilidades en contra, el nivel de los procesos criptográficos que hay en cada transacción, y que evita que un solo ente centralizado tenga la llave para abrir todas las puertas, deberían ser suficientemente disuasivas para cualquier hacker, justo como lo indica el riguroso white paper de Bitcoin.