El problema del doble gasto explica la dificultad de prevenir o controlar la duplicación de contenidos digitales, especialmente cuando se trata de dinero digital. Un sistema financiero convencional puede resolver este problema confiando en un tercero, como un procesador de pagos o un banco. Así, el sistema puede confiar en el gobierno para garantizar la honestidad de los terceros.

Varios predecesores de Bitcoin hicieron varios intentos para resolver este problema, pero no tuvieron éxito sin autoridades de confianza. Sin embargo, Satoshi Nakamoto se dio cuenta de que esta autoridad era el fallo crítico de los predecesores. Por lo tanto, abordar el problema del doble gasto en un sistema sin confianza hizo de Bitcoin una de las mayores innovaciones de nuestro tiempo.

Entender el problema del doble gasto

Tal vez te preguntes si alguien puede registrarse en una plataforma como https://bitlq.net/es/ y comprar bitcoins que puede gastar dos o varias veces. Tal vez pienses que alguien puede gastar bitcoins simultáneamente sin que el sistema se dé cuenta.

El doble gasto de Bitcoin implica que un actor malintencionado envíe una copia de la transacción para que parezca legítima mientras conserva su original o borra la primera transacción por completo. Para Bitcoin, este acto es peligroso y posible porque es fácil duplicar la información digital. Y los delincuentes pueden intentar duplicar Bitcoin de varias maneras.

Por ejemplo, un criminal puede intentar enviar la misma cantidad de Bitcoin dos veces simultáneamente. En este caso, un atacante puede enviar simultáneamente Bitcoin a diferentes direcciones. Un intento de ataque de este tipo puede aprovechar la lentitud de la red de Bitcoin, con un tiempo de bloqueo de diez minutos, ya que el sistema pone en cola las transacciones que los usuarios envían para su verificación y confirmación por parte de los mineros antes de añadirlas a la cadena de bloques.

Los ladrones pueden crear la ilusión de que no han gastado la cantidad original para colar la transacción extra en la cadena de bloques. También pueden manipular la cadena de bloques y volver a minar bloques utilizando registros de transacciones falsos para respaldar un gasto doble en el futuro.

Además, los delincuentes pueden revertir una transacción al recibir los servicios o activos de una contraparte. Así, pueden quedarse tanto con el Bitcoin enviado como con los bienes recibidos. Los delincuentes pueden enviar múltiples unidades de datos o paquetes a la red, con la esperanza de revertir una transacción y crear la ilusión de que no se ha producido.

Cómo Bitcoin soluciona el problema

La red Bitcoin combina las características complementarias de la cadena de bloques (Blockchain) de seguridad y la descentralización de los mineros para verificar cada transacción antes de añadirla a la cadena de bloques. Por ejemplo, una persona X y una persona Y pueden visitar una tienda para gastar un BTC colectivo. La persona X puede comprar un aparato electrónico que cuesta 1 BTC, mientras que la persona Y compra una motocicleta que cuesta 1 BTC.

Ambas transacciones irán al fondo de transacciones no confirmadas. Sin embargo, los mineros podrían confirmar y verificar la primera transacción. La red podría retirar la segunda transacción por carecer de suficiente confirmación porque los mineros determinan su invalidez.

La primera medida de seguridad es asegurar que la transacción que obtiene el máximo de confirmaciones de la red va a la Blockchain. La red descarta las demás. El sistema marca el tiempo de las transacciones y las garantías después de añadirlas a la cadena de bloques. Así, el sistema de Bitcoin hace que sea imposible cambiarlas o revertirlas.

El comerciante puede estar seguro de que el usuario de Bitcoin no ha gastado dos veces la cantidad al recibir las confirmaciones del bloque mínimo. Así, puede estar seguro de que la transacción fue válida y aprobada.

Palabras finales

El tiempo de bloqueo hace que el consenso proof-of-work  (“prueba de trabajo”) sea un modelo inherentemente resistente al doble gasto. La prueba de trabajo requiere que los mineros o los nodos de validación resuelvan complicados algoritmos utilizando una gran potencia de hash o de computación. Y este proceso dificulta el intento de falsificar o duplicar la cadena de bloques porque un atacante debe volver a minar cada bloque de nuevo con transacciones fraudulentas. La compilación del proceso a lo largo del tiempo preserva las transacciones anteriores. También registra las nuevas transacciones. El uso de la minería de prueba de trabajo para alcanzar el consenso mejora la responsabilidad de la red porque verifica la propiedad en las transacciones, al tiempo que evita la doble contabilidad y otros tipos de fraude.