¿Qué es un ataque de doble gasto?

Qué-es-doble-gasto
6 min read

El ataque conocido como doble gasto se traduce como la posibilidad de duplicar una moneda y utilizarla en más de una transacción.

Cuando hablamos de doble gasto nos referimos a uno de los ataques más frecuentes en el mundo de criptomonedas. Este tipo de ataque permite a los atacantes usar una misma moneda varias veces. El problema está en que este ataque afecta a la tecnología y el funcionamiento de las criptomonedas respecto a la descentralización.

Debido a estos ataques, los desarrolladores han ido creando diversos métodos de protección contra el doble gasto. Sería la perfecta comparación entre la falsificación de billetes en dinero FIAT pero en el mundo de las criptomonedas.

Historia del doble gasto

El primer sistema contra un ataque de doble gasto de la historia fue creado mucho antes de que siquiera se realizara el primer ataque, incluso antes del lanzamiento de la primera criptomoneda, Bitcoin. Antes de esta existieron muchos intentos fallidos de crear dinero digital.

David Chaum fue el creador de la primera moneda digital llamada E-Cash a principio de los años 80´s. Con ella se creó el concepto de dinero electrónico pero con este la posibilidad de poder duplicarlo. Por esta razón, Chaum incluyó un sistema de protección contra los ataques de doble gasto.

Dicho sistema se trataba de un mecanismo criptográfico llamado firmas ciegas u opacas. Su funcionamiento consistía en evitar que el emisor sepa la procedencia del dinero. A su vez conservaba un servidor central desde el cual se mantenían controladas las monedas y así se evitaba el doble gasto.

Hasta este punto todo iba genial y ya teníamos un mecanismo de defensa, pero por algo E-Cash no se convirtió en la primera criptomoneda. La razón fue este mismo mecanismo. Al tener todo controlado por una central y hacer todo el sistema centralizado, bastaba con hacerse con el control del núcleo para comprometer toda la plataforma y a sus usuarios. Este se convirtió en el punto débil de E-Cash y por eso el proyecto fracasó.

Años después, llegó la implementación de Bitcoin gracias a Satoshi Nakamoto. Satoshi encontró una solución a esta centralización que comprometía al proyecto basada en el consenso. Reemplazó la central por un consenso de múltiples nodos conectados entre sí y a la propia red, encargados de validar y confirmar transacciones. Actualmente este proceso es el que se ejecuta en las blockchains y por el cual los nodos reciben recompensas que los mantienen incentivados a continuar con su labor.

En caso de que exista un nodo malicioso y quiera realizar un ataque a la red, este tendrá que competir por el Hash que tienen el resto de nodos conectados que trabajan de forma honesta. A diario la red crece y cada vez es más difícil realizar ataques.

Qué es doble gasto

¿Cómo funciona un ataque de doble gasto?

Como ya sabemos, un ataque de doble gasto se produce cuando un usuario quiere usar la misma moneda para realizar dos o más transacciones. A continuación veremos cómo funciona dicho ataque y cómo el atacante puede lograr hacerse con dos transacciones o más pagando solo una.

En el mundo de las criptomonedas, el usuario lleva a cabo dos transacciones distintas y al mismo tiempo. Compra el producto a los dos vendedores a la vez y realiza ambas transacciones una vez ya tiene su producto. Los nodos en ese momento comienzan a crear bloques y validar estas dos transacciones. Es inevitable que en algún punto un bloque se confirme antes que el otro, ya que uno de ellos se transmitirá a más nodos y de forma más rápida. Esto significa que finalmente un bloque se confirmará y otro no llegando así al problema de doble gasto. En este caso uno de los vendedores puede cobrar su venta, mientras que el otro habría sido estafado.

Este tipo de ataque también es conocido como race attack o ataque de carrera. Además, existen otros tipos de ataques derivados del ataque de doble gasto como el ya tan conocido ataque del 51%. Para llevar este ataque a cabo el atacante debe conseguir controlar más del 50% del poder de Hash o poder de minado en toda la red.

Para lograr este ataque hace falta mucho poder de cómputo y a simple vista es difícil ponerlo en práctica. No obstante no debemos confiarnos, ya que en ciertas circunstancias este ataque puede ser muy fácil de realizar.

Teniendo en cuenta que las criptomonedas actúan por consenso, ya que no existe una central que las controle, son ejecutadas por todos los nodos. Este sistema con el objetivo de crear y validar los bloques y las transacciones. Esto obliga al atacante a controlar más del 50% de la red si quiere lograr un ataque del 51%. Pero ¿Qué pasaría si el atacante lo logra?

En este caso el ciberdelincuente podría minar y validar los bloques de forma más rápida de lo que conocemos dejando al resto de usuarios atrás. Esto podría desencadenar en un ataque de doble gasto con altas probabilidades de éxito. Además existen otros ataques de doble gasto con algunos matices como el ataque Finney, el ataque de Vector 76 o el ataque por fuerza bruta, entre otros.

QUIZÁS TE INTERESE…