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
{{ message }}
This repository has been archived by the owner on Jun 11, 2024. It is now read-only.
When fork cause 2 occurs, we do not delete the offending transaction. Instead the node continues to try and forge its block until it misses its slot entirely. The TX stays on the table and the node continues this behavior until it is cycled.
In order to mitigate this, the software needs to delete the offending TX from the table to allow proper forging to occur.
karmacoma
changed the title
Undo any offending transactions upon fork cause 2
Mitigate against fork cause 2: Already confirmed transaction
Oct 22, 2016
Checking for already confirmed transaction at end of Transaction.prototype.verify, instead of Transaction.prototype.process. Mitigates against fork cause 2, where transaction enters unconfirmed transaction list from another peer, before block has been processed and applied. Affects Blocks.prototype.generateBlock where each transaction is verified before inclusion.
- Undoing offending transaction on fork cause 2.
- Removing transaction from unconfirmed transaction list.
- Refactoring code into separate prototype functions.
- Reusing said functions in Blocks.prototype.processBlock.
When fork cause 2 occurs, we do not delete the offending transaction. Instead the node continues to try and forge its block until it misses its slot entirely. The TX stays on the table and the node continues this behavior until it is cycled.
In order to mitigate this, the software needs to delete the offending TX from the table to allow proper forging to occur.
See attached log:
http://pastebin.com/npnEThjV
The text was updated successfully, but these errors were encountered: