-
Notifications
You must be signed in to change notification settings - Fork 773
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What to do if a tx gets copied from an undecided or decided_valid block to the backlog? #220
Comments
this is related to #131 |
Related to #568, closing to consolidate discussion. |
@rhsimplex Are you thinking that the soon-to-come check for duplicate transactions will handle this scenario (where a bad node copies a transaction from a block in the bigchain table to the backlog, when it shouldn't)? |
That's the idea...did I miss something? |
@rhsimplex I was just making sure I understood your reasoning. All is well, carry on. |
I think this issue is resolved now. I'm pretty sure that if a transaction in a valid or undecided block gets copied to the backlog, the copy will get deleted as invalid (either as a double-create or as a double-spend). @libscott Can you confirm? |
This is correct, all transactions are checked for conflicting transactions (another tx that spends same outputs or has same ID in a non INVALID block): bigchaindb/bigchaindb/pipelines/vote.py Line 103 in dc58466
bigchaindb/tests/pipelines/test_vote.py Line 641 in dc58466
|
What if a "bad" node copies a transaction from an undecided or decided_valid block to the backlog? (That shouldn't happen, but hey, it's possible.)
Maybe when a node builds a block, it should check each transaction to see if that transaction is already in an undecided or decided_valid block. If so, it should delete the transaction in question (i.e. delete the one in the backlog table, not the one in the bigchain table).
The text was updated successfully, but these errors were encountered: