-
Notifications
You must be signed in to change notification settings - Fork 787
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Final votes #3134
Final votes #3134
Conversation
… uses a double consensus pass before arriving at confirmation. The final vote pass is limited to issuing a single vote which cannot be changed and only following confirmation in the final vote pass is a transaction confirmed.
…on forced confirmation
Can both the sequence and timestamps be used but have the timestamp include the actual timestamp the vote was generated? This would help in analyzing votes for confirmations to know when a final vote was generated compared to others. The sequence could continue to be used to differentiate newer/final votes. |
# Conflicts: # nano/core_test/active_transactions.cpp # nano/core_test/node.cpp # nano/node/active_transactions.cpp # nano/node/blockprocessor.cpp # nano/node/bootstrap/bootstrap_frontier.cpp # nano/node/bootstrap/bootstrap_legacy.cpp # nano/node/confirmation_height_bounded.cpp # nano/node/confirmation_height_processor.cpp # nano/node/confirmation_height_unbounded.cpp # nano/node/election.cpp # nano/node/node.cpp # nano/node/prioritization.cpp # nano/node/request_aggregator.cpp # nano/node/voting.cpp # nano/secure/common.cpp
# Conflicts: # nano/node/active_transactions.cpp # nano/node/node.cpp
Check if scheduler is stopped when blocking on ::flush.
That would require a second field in the vote and a new vote format with an upgrade etc. |
# Conflicts: # nano/node/active_transactions.cpp # nano/node/election.cpp # nano/node/election.hpp
# Conflicts: # nano/node/election_scheduler.cpp
This patch is a mitigation when handling specific fork situations and uses a double consensus pass before arriving at confirmation.
Thank you to @PlasmaPower for the initial design and @Srayman for help with patch testing.