¿Qué es y cómo funciona doble gasto?

doblegasto
Wikicripto

¿Qué es y cómo funciona doble gasto?

Entre los ataques a la blockchain de Bitcoin encontramos el ataque de doble gasto. Este ataque se basa, en pocas palabras, en utilizar las mismas monedas para realizar varios pagos. Ya que es un ataque muy común y muchos otros se derivan de este los desarrolladores han creado mecanismos de defensa para evitarlos. Por eso hoy te contaremos todo acerca de qué es doble gasto.

El ataque del doble gasto surgió a partir de la implementación de la descentralización de las criptomonedas. La verdadera definición de doble gasto es el riesgo que corren las monedas digitales de ser duplicadas y utilizadas en más de una transacción.

Las criptomonedas, al ser descentralizadas, corren el riesgo de ser clonadas e introducidas en la red de forma ilegal si no cuentan con las medidas de seguridad necesarias. En este artículo veremos todo sobre qué es el doble gasto y cómo funciona.

Origen del ataque

Los ataques de doble gasto comenzaron desde los años 80´s cuando el desarrollador David Chaum creó la primera moneda digital. Esta se llamó E-Cash. Con esta criptomoneda se incluyó por primera vez un sistema de defensa contra los ataques de doble gasto.

Para ello se implementó un servidor central con el objetivo de que este controlara las criptomonedas y de este modo se evitaría poder emplearlas dos veces. Este servidor que debía salvar el proyecto fue su punto débil. Lo que nadie vio en medio de tanta innovación fue que crear un servidor centralizado que controlara todo era una vía directa a facilitar a un hacker controlar el sistema. Si un atacante lograba hacerse con el servidor, exponía al resto de usuarios de la plataforma.

Con la propuesta de Satoshi Nakamoto se reemplazó este sistema centralizado por el sistema de consenso. Este nuevo sistema se basaba en numerosos nodos conectados a la misma red. Estos nodos se encargan de validar y confirmar las transacciones dentro de la red. Todo esto a cambio de una recompensa que los incentiva a continuar trabajando honestamente.

De esta forma, si un nodo decide atacar la red mediante un ataque de doble gasto, el resto de nodos se lo impedirían, ya que necesita el poder de hash del resto. A medida que la red vaya creciendo, más difícil será realizar este ataque y cada día crece más.

¿Cómo funciona un ataque de doble gasto?

Un ataque de doble gasto se lleva a cabo cuando un usuario tiene la intención de utilizar dos veces la misma criptomoneda. Esto es posible cuando un usuario realiza dos transacciones a la vez para comprar a dos usuarios distintos y los mineros comienzan a validar las transacciones.

El ataque se efectúa cuando uno de los bloques se transmite a más nodos de manera rápida mientras que el otro bloque no y solo uno es confirmado. A raíz de esto se genera un ataque de doble gasto. Cuando este ataque se efectúa un vendedor cobrará su venta y el otro perderá su dinero.

Para entenderlo mejor veremos un ejemplo de cómo sería un ataque de doble gasto en la vida real:

Imaginemos que nuestro vecino quiere comprar dos almacenes, pero no tiene la cantidad de dinero suficiente. Decide hablar con dos vendedores de almacenes distintos y a ambos les dice que comprará el almacén, pero el pago se hará mediante cheque bancario. Extiende ambos cheques a la vez y los vendedores se dirigen al banco a cobrarlo. Inevitablemente un vendedor llegará antes que el otro y se llevará el dinero que hay en el banco. El siguiente vendedor encontrará una cuenta sin fondos. En esto consiste un ataque de doble gasto o race attack.

¿Cómo evitar este ataque?

Las criptomonedas han generado formas de evitar el ataque de doble gasto y los derivados de este. Bitcoin, por ejemplo realiza una validación y registro de todas las transacciones realizadas. Otro método para evitarlos es realizar una verificación para comprobar la autenticidad de cada operación mediante la aplicación de un instrumento conocido como Prueba de Trabajo (PoW).

Gracias a la blockchain la seguridad aumenta, ya que esta mantiene un registro ordenado donde cada bloque añadido queda registrado y vinculado mediante técnicas criptográficas con el bloque anterior. De esta forma se garantiza la inmutabilidad de la red.

Mediante este mismo funcionamiento se confirman las transacciones realizadas. Mientras mayor cantidad de confirmaciones se hagan en una transacción más difícil es realizar el ataque de doble gasto.

A medida que pasa el tiempo la red crece cada vez más, se vuelve más fuerte y se hace más complicado el proceso de minería. Esto significa que cada vez se requiere un mayor poder computacional para llevar a cabo dichos ataques.