You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This bug is described in #400, it goes as follows:
You get an UTXO,
you send a transaction A,
transaction goes to the network,
node operator restarts the node,
node starts to sync the mempool from the network,
you get an UTXO (the same one!),
you send a transaction B,
BCHD accepts this transaction B, but does not accept transaction A from the network (since it believes it is a double-spend); the rest of the network does not accept transaction B, since the network already has a transaction A;
So, now you are in a nice little bubble, where you keep spending transactions that the rest of the network think are double-spends. Probably you continue doing it until restart or until a block arrives.
This is not a theoretical situation - we were having this daily, because @blockparty-sh's node was set to restart at approximately the same time we were sending funds. So, we were sending transactions A->B->{node restart}->C->D->E->F... now all of C->D->E->F are really invalid (not accepted by the network)... though BCHD reports them as valid and allows us to spend them.. we send notifications to 400 people (each tx has 100 outputs), a block comes, all their money is gone! We get 400 emails "You stole my money!"
The text was updated successfully, but these errors were encountered:
One possible solution could be to actually save the mempool into an append-only file and re-reading it upon restart (disallowing any RPC functions while restoring the mempool). Just a suggestion, might not be the most optimal one.
This bug is described in #400, it goes as follows:
So, now you are in a nice little bubble, where you keep spending transactions that the rest of the network think are double-spends. Probably you continue doing it until restart or until a block arrives.
This is not a theoretical situation - we were having this daily, because @blockparty-sh's node was set to restart at approximately the same time we were sending funds. So, we were sending transactions A->B->{node restart}->C->D->E->F... now all of C->D->E->F are really invalid (not accepted by the network)... though BCHD reports them as valid and allows us to spend them.. we send notifications to 400 people (each tx has 100 outputs), a block comes, all their money is gone! We get 400 emails "You stole my money!"
The text was updated successfully, but these errors were encountered: