Como puedes llegar a imaginarte, el mundo de las criptomonedas no está exento de fraudes y timos. El doble gasto es uno de los más conocidos, y por el cual muchas redes blockchain se blindan constantemente para evitarlo.
Y es que en un mundo virtual tan voluble, y de donde se puede sacar tantísimo beneficio, siempre hay algún espabilado que intenta conseguirlo de la forma “fácil”. Por ello se aprovechan de la descentralización de estas redes para sacar tajada.
¿Qué es un ataque de doble gasto?
El ataque de doble gasto es cuando se intenta utilizar una misma moneda virtual para dos transacciones diferentes. Esto es debido a que las criptomonedas pueden ser clonadas e introducidas en algunas redes blockchain que no cuenten con las protecciones adecuadas.
Para que te hagas una idea, sería como intentar comprar con un mismo billete de 50 euros tres productos distintos. Al hacerse todo al mismo momento, no existe una secuenciación cronológica, sino que se debe esperar a que los bloques de la blockchain se afiancen para validar las transacciones.
El origen de este tipo de ataques data de los años ochenta, cuando apareció la primera moneda digital. Fue la e-Cash, que a diferencia de las criptomonedas actuales utilizaba un servidor central para validar las transacciones. Con ello se evitaba el doble gasto, pero la centralización hizo que recibiese otro tipo de ataques.
Por otro lado, la aparición del Bitcoin incentivo el uso de redes descentralizadas y que se basaban en el consenso. Podría ser que es más fácil realizar un ataque de doble gasto, pero aquellos nodos que tratasen de realizarlo debían competir con otros nodos para formar ese bloque corrupto. Y con toda la competitividad por la validación, es bastante difícil lograrlo.
¿Cómo funciona el doble gasto?
En resumidas cuentas, los pasos que utilizan los mineros maliciosos para realizar un ataque de doble gasto en las redes blockchain sería algo así:
- Se realiza una transacción legal para adquirir un servicio o producto de un tercero.
- El atacante realiza el minado de un bloque donde se encuentre esta transacción legal, creando alternativas ilegales que formarán una rama de los bloques iniciales.
- El tercero, o parte vendedora, validará el intercambio por sus productos o servicios, lo que permitirá la confirmación de dicha transacción.
- Justo en ese momento el atacante podrá liberar su rama de bloques fraudulentos, siendo esta la validada en vez de la que se genera tras la validación por parte del vendedor.
- Si esta nueva rama se introduce exitosamente en la red, el atacante podrá recuperar las criptomonedas utilizadas en la transacción inicial.
Tipos de ataque de doble gasto
Para que un ataque de doble gasto sea exitoso es necesario que una transacción de criptomonedas se realice de forma simultánea y esta quede validada. Los mineros trabajarán para validar los bloques de ambas transacciones, pero sólo uno de ellos acabará quedando registrado en la red blockchain. Este tipo de ataque de doble gasto se llama ataque de carrera.
Pero también existen otras formas de realizar un doble gasto dentro de una red blockchain. Es el caso del ataque del 51%. Este nombre surge porque el usuario que controla esa cantidad de minado de una misma red pueda mandar una doble transacción. Es decir, puede manipular los bloques y minarlos antes de que los valide el resto de usuarios.
Otro tipo de ataque de doble gasto que también se puede encontrar es el ataque de fuerza bruta. En este caso, la intención es que a la vez que se realiza la transacción se está minando un bloque alternativo. Si este es confirmado, el atacante conseguirá la recuperación de su dinero.
También hay tipos de ataque de doble gasto con apellido propio. El ataque Finney ocurre cuando se acepta una transacción no confirmada por la red. Para ello el atacante usa dos direcciones propias para hacerse una transacción con ese dinero, mientras a la vez hace una transacción a un tercero. Si este último la acepta sin validarla por la red, libera el bloque de la primera transacción provocando que el segundo pago sea invalidado.
Similar al anterior, pero combinándolo con el ataque de carrera, está el ataque de Vector 76. Su objetivo son las casas de intercambio o de exchange, creando dos bloques con distintas cantidades que se sobrepongan. Si la casa de intercambio acepta el de más valor, el minero malicioso libera el de menor valor para que se invalide el primero, aunque el retiro del dinero se haya efectuado.
Protección de las criptomonedas ante el doble gasto
Las criptomonedas basadas en la tecnología blockchain utilizan un sistema doble para verificar todas las transacciones realizadas en su red a la vez que previenen el uso fraudulento de las criptomonedas.
Este método utiliza un registro y la validación de todas y cada una de las transacciones realizadas. Luego busca la autenticidad de cada operación a través de un proceso de Prueba de Trabajo, garantizando la inalterabilidad de los datos, de los bloques y de la propia red.
De todas maneras, la mejor forma de evitar los ataques de doble gasto es esperar a tener un mínimo de confirmaciones en la red antes de creer que una transacción está verificada. Aceptar una transacción sin confirmaciones es jugársela a que te hagan un ataque de doble gasto.
Como has podido comprobar, ni las monedas digitales se salvan de los intentos maliciosos de enriquecerse de forma fraudulenta. El doble gasto es un problema en todas las criptodivisas y siempre se está mejorando la seguridad. Si operas con ellas, estás tan expuesto a este tipo de ataque como a que te cuelen un billete falso en el kebab de la esquina.