tengo una transaccion Esta transacción tomaba un valor AddrX
y se lo enviaba a sí misma en una especie de "división". En la transacción hay uno VIN
de 98000000
. Esta transacción dividió la pila y tiene dos VOUT
. Ellos son ambos 49000000.5
. Hay una tarifa de transacción de 1.00
.
En este caso, el total VOUT
es 98000001
el que excede al total VIN
de 98000000
. Sin embargo, esa diferencia se encuentra en la tarifa de transacción.
Por lo que he entendido sobre la cadena de bloques y las transacciones, la tarifa de transacción es: Fee: sum(vin) - sum(vout)
por lo que resulta en una -1
tarifa de transacción.
Mi problema aquí es que si estuviera creando una base de datos para rastrear esta dirección, terminaría restando 98000000
de su saldo y luego sumaría los dos valores entrantes de los 49000000.5
cuales terminaría colocando su saldo total después de esta transacción 98000001
, lo que sería incorrecto. Ahora, podría agregar lógica para eliminar la tarifa de transacción incurrida manualmente; sin embargo, habría asumido que esta transacción no sería válida porque el total VOUT
era mayor que el total VIN
.
¿Sería posible esta situación? Hasta ahora, de las transacciones que he visto, la tarifa de transacción ya se ha aplicado a una de ellas VOUT
y, por lo tanto, no causaría este error. Si es posible, ¿cómo puedo detectarlo y remediarlo?
Tales transacciones no serían válidas. Si bien podría crearlos, todos los nodos los rechazarían como no válidos y tales transacciones nunca se confirmarían. Si esto fuera posible, entonces sería posible crear dinero de la nada (excepto en las transacciones de Coinbase) y eso debería ser imposible.
Ha construido su transacción incorrectamente o la está interpretando incorrectamente.
Las reglas del protocolo bitcoin https://en.bitcoin.it/wiki/Protocol_rules#.22tx.22_messages (regla 14) evitan esto. Es un criterio de rechazo para los nodos.
Pixxl
andres chow
Pixxl