Las cadenas de bloques pueden utilizar la descentralización o la centralización para controlar el doble gasto.
El ataque del 51%, el ataque Race y el ataque de Finney son tipos de doble gasto.
Para reducir la posibilidad del doble gasto, los usuarios deberían aceptar transacciones con al menos tres confirmaciones.
La naturaleza de las monedas digitales como las criptomonedas y la forma en que se transfieren dan lugar a un problema llamado doble gasto. Lo que crea este problema es el retraso en la finalidad de la transacción porque el sistema debe confirmar los pagos. Cuando se transfiere la criptomoneda se tarda unos segundos o minutos antes de que se finalice o se confirme. Esto es diferente de la forma en que realizamos los pagos utilizando billetes y monedas. Con los billetes y las monedas el pago se confirma cuando se entrega el dinero a otra persona. En este artículo hablaremos del problema del doble gasto y de cómo evitarlo.
Doble gasto
Sin embargo, el escenario anterior es diferente cuando se realizan pagos con criptomonedas y otros activos digitales que existen en la cadena de bloques. La razón es que al transferir monedas digitales sólo intervienen dos partes, el pagador y el beneficiario. Aquí es donde aparece el peligro del doble gasto.
En otras palabras, el doble gasto tiene lugar cuando alguien perturba la blockchain con el objetivo de robar la criptodivisa o cualquier activo digital utilizado como medio de pago. La persona que roba la criptomoneda enviará entonces una prueba de transacción para que el pago parezca auténtico. En algunos casos, la persona responsable del doble gasto puede borrar la transacción por completo. Los principales responsables de este problema son los desarrolladores de blockchain y otros expertos en criptografía.
Un ejemplo de doble gasto es cuando el usuario A envía 50 dólares de un token a B antes de enviar los mismos tokens a C. Al final, es difícil concluir si el usuario A ha engañado a B o a C.
Tipos de doble gasto
Hay tres formas en las que la gente puede ejecutar un doble gasto de criptodivisas. Los métodos son el ataque del 51%, el ataque Race y el ataque de Finney.
Ataque del 51%
Para llevar a cabo un ataque del 51%, el atacante debe controlar primero más del 50% de la potencia de hash de la red que se requiere para validar las transacciones y los bloques. De este modo, puede manipular la situación para enviar los tokens a dos individuos. Sin embargo, esto sólo tiene lugar cuando el sistema blockchain en cuestión no tiene otros sistemas de seguridad adecuados.
Fuente: Cryptocurrencybegin
Ataque Race
Este método sólo funciona si el comerciante acepta una transacción con confirmación cero. Así, el atacante puede enviar los mismos tokens a otra persona. Por ejemplo, si un comerciante realiza una transacción doble en la que A acepta la transacción que no está confirmada y B espera la confirmación, al final la transacción a B será confirmada mientras que A recibirá monedas de doble gasto. Por lo tanto, para que los receptores previstos obtengan sus criptomonedas, sólo deberían aceptar transacciones que estén confirmadas por al menos tres validadores.
Ataque Finney
Este tipo de ataque lo realiza un minero que genera varios bloques sin transmitirlos a la red. En este caso, el minero realiza dos pagos utilizando los mismos tokens. Cuando el comerciante comprueba la transacción, entrega los bienes o servicios al pagador. El comerciante sólo transmitirá la transacción a la red después de recibir los bienes. Como resultado, todas las demás transacciones se confirman excepto la del comerciante. Para evitar este tipo de ataque, el beneficiario no debería aceptar una transacción no confirmada.
Cómo deberían las cadenas de bloques evitar el problema del doble gasto
Es importante señalar que si los usuarios experimentan casos de doble gasto, perderán la confianza en la cadena de bloques. Por lo tanto, la cadena de bloques debe asegurarse de que cuenta con un sistema de seguridad adecuado para contrarrestar la posibilidad del doble gasto. Las cadenas de bloques pueden evitar el problema del doble gasto mediante la centralización o la descentralización.
Fuente: Zipmex
Centralización
En este caso, una blockchain puede utilizar un tercero de confianza para validar todas las transacciones. Aunque este es un método seguro para evitar el doble gasto, la centralización tiene sus propias desventajas. En la mayoría de los casos, este método es muy caro. Esto se debe a que la cadena de bloques tendrá que pagar el coste de la transferencia de las criptomonedas, así como de su validación.
Descentralización
El principal medio para evitar el doble gasto mediante la descentralización es la rápida validación de la primera transacción. De este modo, la transacción duplicada queda invalidada lo antes posible. Para que este sistema sea eficiente, es esencial contar con un algoritmo de consenso que sincronice los distintos servidores que almacenan los datos relacionados. Por ejemplo, los sistemas de consenso proof-of-stake y proof-of- work ayudan a sincronizar los datos de las transacciones a tiempo, evitando así el doble gasto.
El caso de bitcoin
La cadena de bloques de bitcoin cuenta con medidas de seguridad adecuadas para evitar el doble gasto. Si la red bitcoin funciona como se espera y los usuarios esperan a que se confirmen todas las transacciones, no se producirá el doble gasto. El protocolo verifica las transacciones a través del mecanismo de confirmación.
Fuente: Wealthand
Cuando un comerciante envía las mismas monedas a diferentes direcciones, éstas se almacenan en una red de transacciones no validadas. Si la transacción llega al mismo tiempo, se verifica la que tiene más confirmaciones y se rechaza la otra. Como medida de seguridad, hay que esperar al menos seis confirmaciones para aceptar las transacciones.
Evitar el doble gasto
Una pregunta que pueden tener algunas personas es cómo pueden controlar el doble gasto. Aunque la mayor responsabilidad de controlar el doble gasto recae en las cadenas de bloques, un individuo puede desempeñar su papel. No debe aceptar transacciones que no estén confirmadas. También puede tomarse más tiempo antes de aceptar cualquier transacción. Esto ayuda a reducir las posibilidades de doble gasto.
Como norma, se recomienda esperar al menos tres confirmaciones para una transacción. Además, puede tomarse al menos 10 minutos antes de aceptar una transacción. Estas medidas deberían ayudar a reducir los casos de doble gasto.
Conclusión
El problema de la manipulación del dinero es común en muchos lugares del mundo. En cuanto al dinero físico, la gente puede crear billetes falsos. Sin embargo, con las criptomonedas la gente puede gastarlas dos veces. Al final, uno de los destinatarios esperados perderá ya que no recibirá dichos tokens. Uno de los medios para evitar el doble gasto es esperar a que una transacción tenga al menos 3 confirmaciones.}
Autor: Mashell C., investigador de Gate.io. Traductor: Jose E.
Este artículo representa únicamente las opiniones del investigador y no constituye ninguna sugerencia de inversión.
Gate.io se reserva todos los derechos sobre este artículo. Se permitirá la reproducción del artículo siempre que se haga referencia a Gate.io. En todos los casos, se emprenderán acciones legales por violación de los derechos de autor.