¿Es posible gastar un BTC sin cargo para falsificar un pago?

Me gustaría saber si es posible realizar una transacción sin comisión (probablemente esta transacción nunca se confirme) y algún tiempo después recuperar este dinero y gastarlo en otra transacción. En caso afirmativo, ¿puedo protegerme contra este pago falso?

Mientras la transacción está esperando una confirmación, ¿es posible que el receptor utilice esta cantidad? En caso afirmativo, si la confirmación nunca ocurre, ¿la tercera persona pierde este dinero?

Respuestas (2)

La protección más simple es no considerar que se le ha realizado un pago hasta que reciba una cierta cantidad de confirmaciones. El número puede depender del valor del pago. Para pagos pequeños, uno es probablemente suficiente. Para pagos grandes, algunos han decidido esperar hasta seis confirmaciones.

Sí, es posible hacer tal transacción. Es posible realizar todo tipo de transacciones. Por supuesto, es mucho más interesante si tal transacción sería válida. Y lo haría. Un requisito para que una transacción sea válida es que el dinero que ingresa sea, como máximo, tanto como el que sale. La diferencia entre lo que entra en una transacción y lo que sale se llama tarifa. La tarifa puede ser 0.

Sin embargo, que tal transacción sea válida no significa que vaya a ser confirmada, como ya sospechabas. Pero para defraudar a alguien que acepta la confirmación cero, necesita al menos conocer la transacción. Esto será difícil si no incluye una tarifa: https://bitcoin.org/en/glossary/minimum-relay-fee

El remitente luego puede enviar una transacción diferente gastando el dinero. Por lo general, una transacción de doble gasto de este tipo no se propagará mucho si pasó una cantidad significativa de tiempo antes de que la transacción de doble gasto se hiciera pública porque los nodos generalmente no propagan transacciones si gastan fondos en una transacción diferente en sus mempools ya intenta gastar . Sin embargo, si la primera transacción tenía una tarifa muy baja, muchos nodos ni siquiera la agregaron a sus mempools, lo que significa que no recuerdan la primera transacción. Además, algunos pueden almacenar y/o propagar transacciones de doble gasto si la tarifa de la segunda es más alta que la tarifa de la primera.

Hay 3 formas de defenderse de esto.

La primera es obvia: no acepte transacciones de confirmación cero.

El segundo es escuchar una alarma que salta tan pronto como se encuentra una transacción de doble gasto.

El tercero es permitir solo transacciones de confirmación cero de personas que pueda identificar. Por ejemplo, una tienda en línea puede aceptar transacciones de confirmación cero sin preocuparse demasiado por ellas, ya que saben a dónde viven las personas a las que envían sus productos.

Si debería haber recibido dinero pero una transacción de doble gasto llegó a la cadena de bloques, no es dueño de ese dinero. Quién posee qué dinero está definido por la cadena de bloques válida más larga y si hay una transacción en conflicto allí, el que le envía dinero tampoco puede entrar.