El doble gasto es el proceso de realizar dos pagos con la misma unidad digital de valor. La incapacidad para evitar el doble gasto fue la razón principal por la que los esquemas de efectivo electrónico no tuvieron éxito hasta que Bitcoin surgió con una solución.
Resumen
El doble gasto es simplemente el proceso de realizar dos pagos con la misma moneda o fondos para engañar al destinatario de esos fondos. Con moneda física, esto realmente no es posible. No se puede dar a dos personas el mismo billete de 20 dólares o una moneda de plata. Con la mayoría de los pagos en línea, confía en un tercero para asegurarse de que los fondos se envíen y reciban correctamente. Los bancos, las compañías de tarjetas de crédito y los procesadores de pagos validan las transacciones ellos mismos y minimizan el riesgo de doble gasto. Pero con las criptomonedas, no hay un intermediario externo, solo el remitente y el destinatario. Entonces, ¿cómo pueden los poseedores de criptomonedas protegerse contra el doble gasto? La respuesta es blockchain.
Bitcoin y el doble gasto
Por definición, la cadena de bloques de Bitcoin es un libro público de transacciones asegurado por mineros que están incentivados económicamente para protegerlo. Cuando realiza una transacción inicialmente, no está “confirmada”. Puede pensar en ello como una transacción pendiente que está esperando ser incluida en un bloque. Se agregan nuevos bloques a Bitcoin aproximadamente cada 10 minutos.
Una vez que se incluye una transacción no confirmada en un bloque, se “escribe” en el libro mayor público de blockchain. Ahora es una transacción “confirmada”. Una transacción confirmada se asigna al destinatario y la red la verifica, lo que significa que no se puede gastar dos veces ni “copiar”. No necesita permiso de nadie para enviar la transacción; todo lo que necesita es una billetera de criptomonedas y una conexión a Internet.
Con una capitalización de mercado actual de casi $ 200 mil millones de dólares, existe un gran incentivo para invertir el doble de bitcoins. El doble gasto dañaría seriamente la red y eliminaría una de sus características más importantes: transacciones sin confianza, inmutables y descentralizadas. Gracias al diseño robusto de Bitcoin, las transacciones confirmadas de doble gasto son casi imposibles.
Tipos de ataques de doble gasto
Aunque muchos consideran que el problema del doble gasto se resuelve en gran medida por la propia naturaleza de la cadena de bloques, ha habido algunos intentos de explotar el protocolo de Bitcoin, a través de ataques raciales, ataques Finney y ataques del 51%.
Un ataque de carrera es un ataque de doble gasto en el que se envían dos transacciones en rápida sucesión y solo una se confirma en la cadena de bloques. El objetivo es comprar algo con la transacción no confirmada y luego invalidarlo antes de que se confirme. Esto solo es posible si el destinatario o el comerciante acepta una transacción no confirmada.
Un ataque de Finney solo puede ser realizado por un minero. El minero extrae previamente una transacción en un bloque de una billetera a otra. Luego, usan la primera billetera para realizar una segunda transacción y transmiten el bloque previamente extraído, que incluye la primera transacción. Esto requiere una secuencia muy específica para funcionar. Al igual que un ataque racial, un ataque Finney solo es posible si el destinatario acepta una transacción no confirmada.
Un ataque del 51% es un ataque en el que un grupo o un individuo controla más del 50% del poder de hash de una red para alterar una cadena de bloques. Con este control, pueden lanzar un ataque de doble gasto. Sin embargo, debido a la enorme tasa de hash de Bitcoin, este es un escenario muy poco probable en el protocolo de Bitcoin.
Si bien Bitcoin ha sido inmune a este tipo de ataque, otras criptomonedas con menos poder de hash se han gastado dos veces mediante ataques del 51%. Estos ataques se han dirigido principalmente a intercambios con grandes participaciones, ya que los ataques no son baratos. Los atacantes deben poder gastar con éxito más del doble del costo del ataque para obtener ganancias.
¿Debería preocuparse por los ataques de doble gasto?
Siempre que no acepte transacciones no confirmadas, no debería tener nada de qué preocuparse con respecto a los ataques de doble gasto. La mayoría de las carteras e intercambios etiquetarán las transacciones que no se han confirmado en la cadena de bloques como “no confirmadas”. Además, cuanto más espere, más segura será la transacción, ya que escribir más de unos pocos bloques en la cadena de bloques de Bitcoin frente al bloque con su transacción hace que la posibilidad de una reversión sea muy pequeña.
El tiempo de espera recomendado depende de la cantidad enviada y de la cadena de bloques que esté utilizando. Para pagos de Bitcoin por debajo de $ 1,000, una confirmación se considera segura. Para pagos de hasta $ 10,000, tres confirmaciones es una práctica estándar. Muchos recomiendan seis confirmaciones para transacciones muy grandes. En Bitcoin, las confirmaciones ocurren para cada bloque, aproximadamente una vez cada 10 minutos. Algunas criptomonedas tienen tiempos de bloqueo mucho más cortos, que van desde segundos hasta unos pocos minutos.
Los ataques de doble gasto se han estudiado y discutido ampliamente en la comunidad blockchain. Siempre que no acepte transacciones no confirmadas, puede aceptar pagos de Bitcoin con la confianza de que no se gastarán dos veces.