¿Existe riesgo de doble gasto al realizar una transacción presencial?

Al intercambiar fondos o servicios cara a cara, ¿existe el riesgo de un ataque de doble gasto? Si lo hay, ¿cómo podría hacerse técnicamente?

Respuestas (1)

Propongo que dependería de las herramientas utilizadas para realizar la transacción y difundirla.

Suponiendo que se use algo como Bitcoin Wallet para Android o incluso una computadora portátil con Bitcoin-Qt, las posibilidades son muy poco probables.

Un usuario malicioso tendría que conectarse a la red con dos dispositivos simultáneamente y transmitir la transacción real (la que se "envía" al proveedor) milisegundos después de la transacción maliciosa. El cliente del vendedor tendría que ver la transacción real antes de la transacción maliciosa, entregar el artículo al comprador malicioso y marcharse de la empresa antes de darse cuenta de que lo han engañado.

En pocas palabras, un usuario malicioso tendría que estar conectado a más nodos en la red que el proveedor y NO estar conectado a ninguno de los nodos a los que está conectado el proveedor al transmitir la transacción maliciosa, probablemente fuera de al menos uno o dos grados de separación. Esto garantizaría una latencia suficiente para garantizar que el proveedor vea primero la transacción real y entregue los bienes antes de que el cliente del proveedor diga que otros nodos piensan que otra transacción tiene mayor prioridad.

Todo esto se puede evitar esperando una confirmación, pero en el comercio real, eso puede no ser factible.

¿Qué sucede cuando un nodo recibe dos transacciones en conflicto? ¿Notifica a otros nodos? Caen los dos o solo uno? Si solo uno, ¿es por orden de llegada?
Tengo entendido que acepta el que tiene el tiempo de bloqueo anterior. No notifica a otros nodos de ninguna manera, simplemente eliminaría la otra transacción.