El problema del doble gasto y el ataque del 51%
El problema del doble gasto
Uno de los problemas clave de los sistemas de pago digitales es el problema del doble gasto. Consiste en la posibilidad de utilizar el mismo activo digital más de una vez para realizar varios pagos.
En los sistemas centralizados tradicionales, este problema lo resuelve un intermediario de confianza, por ejemplo un banco, que lleva el registro de saldos y valida las transacciones. En un entorno descentralizado, donde no existe un centro único de control, este modelo no es aplicable.
El doble gasto en sistemas descentralizados
En una red descentralizada, los participantes no están obligados a confiar entre sí. Sin un mecanismo especial de coordinación, esto permitiría a un atacante enviar la misma transacción a varios destinatarios al mismo tiempo.
Blockchain resuelve este problema gracias a:
- un registro público global,
- un orden estricto de las transacciones,
- un mecanismo de consenso entre los participantes de la red.
El papel de blockchain en la prevención del doble gasto
Cada transacción en blockchain se incluye en un bloque y recibe una posición dentro de la cadena. Una vez confirmado el bloque, la transacción se considera definitiva.
Un intento de reutilizar los mismos fondos será detectado por los nodos de la red, ya que dicha transacción contradice el estado del registro ya fijado.
Confirmaciones de transacciones y finalidad
En la mayoría de las blockchains, una transacción se considera tanto más fiable cuanto mayor sea el número de bloques añadidos después del bloque en el que fue incluida. Estos bloques se denominan confirmaciones.
Cuantas más confirmaciones tenga una transacción, más difícil resulta teóricamente modificar la historia de la blockchain y revertir esa transacción.
Forks y la importancia de las confirmaciones
A veces en blockchain se produce una situación en la que varios bloques se crean casi al mismo tiempo. Esta cadena temporalmente “ramificada” se denomina fork. Los nodos de la red acaban eligiendo la cadena con mayor dificultad acumulada (en Proof-of-Work) o con mayor stake acumulado (en Proof-of-Stake).
En estos casos, las primeras confirmaciones de una transacción pueden anularse temporalmente hasta que la cadena se estabilice definitivamente. La finalidad práctica de una transacción se alcanza solo después de varios bloques posteriores, lo que reduce el riesgo de cancelación o doble gasto. Las transacciones anuladas serán procesadas más tarde e incluidas en nuevos bloques.
En la práctica, por ejemplo, en la red Bitcoin se considera seguro dar una transacción por final después de 6 confirmaciones. En redes PoS, la finalidad práctica también se alcanza tras varios bloques, aunque el número concreto depende de las reglas del protocolo y del tamaño del stake de los validadores. En la práctica, para la red Ethereum algunos exchanges de criptomonedas esperan más de 50 confirmaciones (bloques) para confirmar definitivamente un depósito.
Ataque del 51%
Un ataque del 51% es una situación hipotética en la que un participante o grupo de participantes controla más del 50% de la potencia computacional de la red (en sistemas Proof-of-Work) o de la participación en stake (en sistemas Proof-of-Stake).
En ese caso, el atacante podría potencialmente:
- alterar temporalmente el orden de las transacciones,
- revertir sus propias transacciones,
- ignorar transacciones ajenas,
- realizar doble gasto.
Limitaciones del ataque del 51%
Incluso en caso de éxito, un atacante del 51% no puede:
- crear transacciones en nombre de otros usuarios,
- obtener acceso a fondos ajenos,
- modificar los datos de bloques con un número suficiente de confirmaciones sin costes muy elevados.
Además, llevar a cabo este tipo de ataque requiere enormes recursos y, por regla general, socava la confianza en la propia red, lo que lo hace económicamente poco rentable. Sin embargo, un ataque del 51% sobre blockchains poco populares sí puede ser posible y no siempre requiere recursos tan significativos. Por ejemplo, a mediados de 2025 en la red Monero se alcanzó el control de más del 51% de la potencia computacional. Después de eso, la comunidad se opuso activamente a esa centralización y el ataque no causó daños a la red.
Breve conclusión
El problema del doble gasto es un desafío fundamental para los sistemas digitales descentralizados. Blockchain lo resuelve mediante un conjunto de mecanismos:
- registro público,
- mecanismo de consenso,
- incentivos económicos.
Comprender las limitaciones y los riesgos, incluidos el ataque del 51% y los forks, permite evaluar con mayor realismo el nivel de seguridad y confianza de distintos proyectos blockchain.