El doble gasto es un tipo de ataque que permitiría a un ciberdelincuente utilizar unas mismas monedas múltiples veces, un hecho que afecta a la tecnología de las criptomonedas debido a su descentralización y para el cual los desarrolladores han creados diversos mecanismos de protección.
Con la implementación y desarrollo del dinero descentralizado, surge una problemática conocida como doble gasto. Y es que el doble gasto se conoce como el riesgo que corre una moneda digital de ser duplicada y usada en más de una ocasión. Este es un ataque que puede afectar a las criptomonedas debido a su carácter descentralizado.
Al igual que el dinero fiduciario está expuesto a la falsificación de los billetes, las criptomonedas también son propensas a este acto fraudulento. Un ejemplo sencillo de un doble gasto sería el siguiente:
Una persona tiene 100 € euros en el banco y sabiendo esto toma su chequera para realizar unas compras. Usando estos cheques compra en dos sitios distintos algo por valor de 100 € y como pago emite un cheque con dicha cantidad. De esa forma, la primera persona en llegar al banco podrá cobrar el dinero, mientras que la otra verá que no hay fondos para el pago. Con esta maliciosa acción, quien ha pagado ha realizado con éxito un doble gasto.
Las criptomonedas son monedas digitales descentralizadas, una especie de archivo digital del dinero. Por lo tanto, son susceptibles a ser clonadas e introducidas como monedas falsas a la red si no cuentan con las medidas de control oportunas. Por lo que el acto de falsificación puede llevarse a cabo con relativa facilidad, ya que los archivos digitales de éstas pueden reproducirse de manera más sencilla en relación con las monedas físicas.
Pulsa aquí para abrir de forma GRATUITA y segura tu cuenta de usuario en español y recibe un regalo de 15€.
¿Cómo funciona un ataque de doble gasto?
El doble gasto tiene lugar cuando un usuario desea utilizar unas mismas monedas múltiples veces. Para lograrlo, el usuario realiza dos transacciones al mismo tiempo para comprar los productos a los vendedores. En ese momento, los mineros de la red comienzan a generar los bloques y a validar las transacciones. Pero en un punto, uno de los bloques se transmitirá a más nodos de manera más rápida, mientras que el otro no. Por lo que solo un bloque será confirmado. Esto da origen un problema de doble gasto, que es conocido también como ataque de carrera o race attack.
Sin embargo en la actualidad, existen otras variables del ataque de doble gasto, como por ejemplo, el famoso ataque de 51%. Este ataque consiste en que un usuario pueda llegar a poseer y manipular más del 50% del poder del hash (minado) de una red. De allí su nombre de ataque de 51%. Aunque este ataque, por el momento, es más teórico que práctico, si se dan ciertas condiciones puede resultar muy fácil de realizar por un ciberdelincuente.
Recordemos que la naturaleza de las criptomonedas se basa en la descentralización, por lo que no existe ningún ente central que las controle. Así, se hace necesario que una red de nodos interconectados lleguen a un consenso. Todo esto para cumplir con la función de generar y validar los bloques con las transacciones realizadas. Que posteriormente serán incluidas en la blockchain, y donde todos los nodos guardarán una copia exacta de la misma. Entonces, al lograr el control del 51% de la red de nodos, el usuario puede manipularla, y lograría minar y validar bloques mucho más rápido que el resto de los usuarios. Con lo que puede ejecutar un doble gasto con altas probabilidades de éxito.
Como dato curioso es importante mencionar que existen otros tipos de ataques de doble gasto, como el ataque por fuerza bruta, el ataque de Finney o el de Vector 76.
¿Quién fue el primero en descubrir este ataque?
Bitcoin fue la primera criptomoneda creada y lanzada con éxito en el mercado. Pero los primeros intentos de crear una moneda digital tuvieron lugar a principios de los años 80. David Chaum creó la primera moneda digital, conocida como e-Cash. Esta moneda fue la que dio origen al concepto de dinero electrónico y a la posibilidad de que éste pudiera ser duplicado. Sin embargo, en su propuesta Chaum incluyó un sistema que impedía un ataque de doble gasto.
Este sistema era un mecanismo criptográfico, conocido como firmas ciegas u opacas, que evitaban que el emisor conociera el origen del dinero. Y mantenía un servidor central para el control de las monedas y para evitar el doble gasto. Sin embargo, este servidor fue el punto débil de dicho sistema. El hecho de ser centralizado significaba que atacar dicho servidor y hacerse de su control exponía a los usuarios de e-Cash.
Luego, con la propuesta e implementación de Bitcoin, Satoshi Nakamoto planteó el reemplazo del sistema centralizado, por uno basado en el consenso. Donde múltiples nodos conectados a la red son los encargados de realizar las validaciones y confirmaciones de las operaciones. Esta tecnología es lo que hoy conocemos como blockchain. Y por el trabajo realizado, los nodos reciben una recompensa que los incentiva a trabajar de forma honesta. Así, si un nodo deshonesto quiere realizar un ataque de doble gasto, tiene que competir por el poder de hash que poseen los demás nodos conectados. Y mientras más vaya creciendo la red, más difícil será ejecutar un ataque.
¿Cómo se protegen las criptomonedas de estos ataques de doble gasto?
Bitcoin y otras criptomonedas operan bajo la tecnología blockchain, que posee dos mecanismos para evitar los ataques fraudulentos de doble gasto. Primero, se realiza una validación y registro de todas las transacciones realizadas. En el caso de Bitcoin, es un registro abierto, verificable y auditable. En segundo lugar, se realiza una verificación para comprobar la autenticidad de cada operación mediante la aplicación de un instrumento conocido como Prueba de Trabajo (PoW).
Cada registro añadido a la blockchain mantiene un orden consecutivo y ascendente, y cada bloque añadido es vinculado mediante técnicas criptográficas con el bloque anterior. Con lo que se garantiza una inalterabilidad de los datos y, por tanto, de la red. Este mecanismo también permite confirmar las transacciones realizadas, y una vez esto ocurre, mientras mayor número de confirmaciones posee una operación, será prácticamente imposible duplicarla o falsificarla.
De la misma manera, cada vez que la red crece y más nodos se incorporan a ésta, se vuelve más robusta y el proceso de minado se complica muchísimo más. Por lo que se requiere de mayor poder computacional para poder llevar a cabo uno de estos ataques con éxito. Y esto implicaría un enorme gasto energético que lo hace poco atractivo.
Es importante mencionar que la red Bitcoin es particularmente propensa a sufrir un ataque de doble gasto en el momento que se realizan las transacciones y éstas poseen 0 confirmaciones. Por lo que siempre es recomendable la espera de al menos 6 confirmaciones de la red para dar por realizada una transacción, sin correr el riesgo de que ésta será revertida.
Empieza en Bit2Me y salta al mundo de las criptomonedas con ventaja. Regístrate fácilmente y consigue 15€ GRATIS en tu primera compra con este enlace. ¡No esperes más para unirte a la revolución cripto! Registrarme