¿Qué es un ataque del 51% o un doble gasto?

Tiempo de lectura: 7 minutos Que es un ataque del 51

Un ataque de reorganización de la cadena de doble gasto, también conocido comúnmente como un ataque del 51% o ataque mayoritario, es un ataque a la integridad de la blockchain donde un actor, a través de la apropiación de una parte significativa del poder de validación, logra reescribir la cadena para cancelar su pago y, por lo tanto, para mantener tanto la propiedad comprada como la criptomoneda transferida. Este ataque generalmente se refiere a cadenas que utilizan pruebas de trabajo (PoW) donde los bloques se validan a través de la minería: es suficiente para que el atacante tenga temporalmente la mayor parte de la potencia de cálculo de la red para lograr un gasto tan doble.

Tenga en cuenta que el término «ataque del 51%» a veces también se usa para describir otros ataques que involucran una gran parte del poder de validación, como el ataque Goldfinger o la censura de transacciones. Nos centraremos aquí en el ataque que implica un doble gasto.

Funcionamiento normal de una blockchain

Las criptomonedas a menudo dependen de una blockchain (o cadena de bloques en español) para funcionar, es decir, una cadena de bloques de transacciones con marca de tiempo, que están vinculados entre sí por validadores. Esta cadena de bloques es el registro de todas las transcaciones realizadas en la criptomoneda en cuestión.

En Bitcoin y sistemas relacionados, la conexión entre cada bloque se logra mediante lo que se llama una prueba de trabajo: un minero gasta energía eléctrica para encontrar la solución a un problema dependiente del contexto y, si tiene éxito, recibe una recompensa en bitcoins. Cada bloque (y cada transacción que contiene) está sujeto a reglas, llamadas reglas de consenso, que están determinadas por el protocolo y aseguran el correcto funcionamiento del sistema. En particular, una de estas reglas es la regla muy lógica que requiere que una transacción no gaste Bitcoins que ya se han gastado: el doble gasto está prohibido.

Para que la red mantenga un consenso con respecto al libro mayor de transacciones, es decir, los nodos de la red acuerden quién gastó qué, se respeta un principio adicional: el principio de la cadena más larga. Este último establece que la cadena válida es la que tiene la prueba de trabajo más acumulada, es decir, (la mayoría de las veces) la mayor cantidad de bloques.

Es este principio de la cadena más larga el que permite resolver conflictos llamados bifurcaciones o ramales, que ocurren de vez en cuando en la red. Si quieres saber más, puedes leer nuestro artículo al respecto: ¿Qué es un fork?

Por lo tanto, este modelo garantiza que la red permanezca centrada en una sola cadena de bloques, lo que se considera casi irreversible, especialmente con respecto a los bloques más antiguos: para invalidar un bloque que data de aproximadamente un día, sería necesario recalcular una cadena equivalente a 144 bloques, lo que requeriría una inmensa potencia de cálculo.

Sin embargo, puede suceder que sea rentable, especialmente en el contexto del ataque del 51% que nos interesa aquí.

El ataque del doble gasto por parte del 51%

Aunque el ataque de doble gasto por el 51% del poder de validación es factible en el caso de la prueba de participación que se basa en la propiedad del token o un criterio relacionado, es mucho menos probable en este caso. Es por eso que nos limitaremos aquí a la prueba de trabajo y la minería.

Como se ha dicho, el ataque consiste en realizar un doble gasto, que está prohibido (lógicamente) por el protocolo, pero que puede implementarse a través del mecanismo de consenso. Esto se divide en tres etapas.

Paso 1: La compra de una propiedad

Supongamos que el atacante logró reunir más de la mitad de la potencia informática de la red vinculada a una criptomoneda. Antes de comenzar a usar este poder, procede a una transacción que le permite comprar una propiedad de un actor del ecosistema en la criptomoneda en cuestión. Por lo general, el atacante realizará una transferencia a una plataforma de intercambio para obtener BTC a cambio de una criptomoneda más pequeña.

Para que el ataque sea rentable, la suma del valor de la propiedad obtenida y el valor final de la criptomoneda atacada debe ser mayor que el costo material necesario para configurar este ataque. Así, en realidad, estos ataques suelen implicar millones de euros en criptomonedas.

Paso 2: Minería de una cadena paralela

Después de completar la transacción «legítima», el atacante construye y firma otra transacción, llamada «fraudulenta», que gasta los mismos fondos que la primera. Esta transacción envía los fondos a sí misma.

Una vez que la transacción legítima ha sido confiscada, es decir, incluida en un bloque, el atacante comienza a extraer una cadena en paralelo desde el bloque anterior, que no revela al resto de la red. En esta cadena, incluye la transacción enviando los fondos a su dirección, lo que evitará cualquier validación de la transacción «legítima».

Cadena con transacciones

Dado que tiene más de la mitad de la potencia de cálculo de la red, es seguro que en un momento u otro su cadena será más larga que el canal oficial, lo que nos lleva al tercer paso.

Paso 3: Reorganizar la cadena

Para que su ataque sea lucrativo, el atacante debe esperar la entrega del bien que compró. Si tomamos nuestro ejemplo de la venta de una criptomoneda menor para bitcoin, el intercambio esperará una serie de confirmaciones antes de permitir que el atacante retire sus bitcoins. Por lo tanto, el atacante tendrá que minar la cadena paralela hasta que haya pasado un cierto número de bloques (determinado por la plataforma).

Una vez en posesión de los bienes obtenidos, el atacante revela su cadena paralela a la red. Dado que tiene la mayor parte de la tasa de hash, lo hace en el momento en que su cadena es más larga que la cadena de la competencia.

Cadena paralela de trasaccion

La cadena del atacante es más larga, por lo que todos los nodos de la red deben aceptar lógicamente esta cadena como la cadena válida. A continuación, se produce una reorganización de la cadena: las transacciones contenidas en los bloques invalidados de la primera cadena se vuelven a colocar en el mempool y se verifican los nuevos bloques. Dado que la transacción legítima del atacante al comerciante gasta fondos ya gastados por la transacción fraudulenta, se invalida (como un doble gasto).

El ataque es exitoso: el atacante está tanto en posesión del activo comprado como de la criptomoneda en cuestión.

Es posible que el precio de la criptomoneda atacada caiga después de la revelación del ataque. Sin embargo, en la práctica, esto no es necesariamente muy marcado, y por una buena razón: el ataque de doble gasto por parte del 51% pone en peligro solo una transacción específica (o un solo grupo de transacciones), y no todas las transacciones. Esto significa que el registro de propiedad no se cambia indebidamente y que los fondos de los usuarios que no se han movido durante mucho tiempo no pueden verse afectados. Además, el atacante a menudo tiene una razón económica para llevar a cabo este ataque y cambiará lo menos posible para mantener estable el precio de la criptomoneda.

¿Cuáles son los ejemplos de tales ataques?

Aunque prácticamente posible, Bitcoin nunca ha sido atacado y su cadena es la cadena de prueba de trabajo más inviolable a este nivel. No solo el costo de llevar a cabo un ataque de este tipo sería astronómico, sino que el atacante ya no tendría ninguna forma conveniente de recuperar su ganancia. De hecho, un ataque de Bitcoin probablemente debilitaría el precio de bitcoin, así como el resto del mercado de criptomonedas, causando una ola de dudas. Por lo tanto, el atacante se vería obligado a recuperar la propiedad física o la moneda fiduciaria a cambio de los bitcoins involucrados en el ataque.

Las cadenas mayoritarias que están siendo minadas por ASIC (circuito integrado especializado) también tienen una ventaja: el ataque implica una disminución en la eficiencia del ASIC en cuestión. Por lo tanto, Bitcoin (SHA-256), Litecoin (Scrypt) o Dash (X11) tienen seguridad adicional.

Cadenas minoritarias como Bitcoin Cash o Bitcoin SV (SHA-256) son por otro lado mucho más vulnerables a este tipo de ataques, aunque nunca haya sucedido por el momento, estando estos protegidos por mineros honestos.

Por lo tanto, las cadenas más vulnerables son probablemente las cadenas minadas de tarjetas gráficas (GPU), con tarjetas gráficas que son útiles sin importar qué y se pueden dirigir fácilmente a otra cadena después del ataque. Por lo tanto, son estas cadenas las que han sido atacadas de esta manera en la realidad.

Entre los ataques del 51% que llegó a los titulares se encuentran:

  1. Los dos ataques verge, en abril y mayo de 2018, donde los atacantes se aprovecharon de un extraño comportamiento del algoritmo de ajuste de dificultad.
  2. Los tres ataques de Bitcoin Gold, en mayo de 2018, enero y julio de 2020.
  3. El ataque de Ethereum Classic en enero de 2019.

Para conocer el costo de atacar el 51% de los diferentes criptomonnais, vaya a crypto51.app.

¿Cómo se puede remediar esto?

La primera forma de prevenir ataques por parte del 51% es simplemente hacer que la minería sea más descentralizada. Como sabemos, los mineros de las criptomonedas más grandes unen fuerzas en cooperativas (pools) para suavizar sus ingresos. Por lo tanto, es necesario garantizar que el número de cooperativas sea mayor y que el poder de los líderes de estas cooperativas sobre lo que socava su cliente sea menor (este es, por ejemplo, el espíritu detrás de Stratum V2).

Hashrates Graficos

Otro método es la adición de puntos de control únicos en el código para fijar un bloque «duro» en el protocolo y evitar una reorganización de varios miles de bloques. Tales puntos de control fueron implementados, por ejemplo, en Bitcoin Core por el propio Satoshi Nakamoto, cuando Bitcoin todavía era vulnerable.

Este método también es utilizado de una manera más sostenida por Bitcoin Cash: varias implementaciones (Bitcoin ABC y BCHN) aplican una protección contra la reorganización que invalida cualquier reorganización de más de 10 bloques.

Finalmente, una tercera forma de limitar este tipo de ataque es simplemente la transición a la prueba de participación, como lo prevé Ethereum, por ejemplo. Esto se explica por el hecho de que un ataque de doble gasto como se describe desacredita la criptomoneda en cuestión y reduce su precio, y por lo tanto reduce el valor de los tokens del atacante (que tiene más del 50%). Aunque esta disminución no es necesariamente muy significativa, la rentabilidad de tal ataque se ve profundamente afectada por esta propiedad.

¿Te ha ayudado ❤ este artículo? Siéntete libre de hacérnoslo saber poniendo una calificación o dejándonos un comentario 🙂

¿Cuál es tu opinión sobre este artículo?
(Votos: 0 Promedio: 0)

Últimas noticias sobre Blockchain

Sobre la autora: Carmen del Pozo

Carmen del Pozo
Deja un comentario

Este sitio web utiliza cookies propias y de terceros para recopilar información que ayude a optimizar tu visita. No se utilizarán las cookies para recoger información de carácter personal. Puedes aceptar o rechazar su uso siempre que lo desees. Encontrarás más información en nuestra política de cookies. Más información

Los ajustes de cookies en esta web están configurados para «permitir las cookies» y ofrecerte la mejor experiencia de navegación posible. Si sigues usando esta web sin cambiar tus ajustes de cookies o haces clic en «Aceptar», estarás dando tu consentimiento a esto.

Cerrar