-
Notifications
You must be signed in to change notification settings - Fork 785
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
Add cemented frontier successor confirmation in request loop #2885
Add cemented frontier successor confirmation in request loop #2885
Conversation
…xpired_unconfirmed
It can sometimes take 2+ rounds to complete bootstrapping frontier confirmations as it's limited to just the top 30 reps each round. If I'm reading this correctly it now extends frontiers to 1 minute in between confirm_req that could extend the frontier confirmation process quite a bit for initial bootstrap. Also as the representatives become more decentralized the number of reps required for quorum will continue to increase. Right now on the live network the top 30 reps make up 66.59M weight which is quite close to the required minimum 60M. Even though the minimum will be adjusted #2884 to be lower and more dynamic there's still the risk of the required reps needing to be more than 30. Potential ideas
|
@Srayman made some good points. After some discussion with him we decided that optimistic elections would do 5 second requests for 1 minute then once a minute until the 5 minute election expiration time is reached. Also will wait 5 seconds before starting pessimistic elections to allow nodes enough time to generate and publish votes if they're all moving forward with the same blocks. |
116a105
to
4b9f88f
Compare
…s (Srayman suggestions)
4b9f88f
to
6a1f724
Compare
da80d14
# Conflicts: # nano/core_test/frontiers_confirmation.cpp # nano/core_test/ledger.cpp # nano/node/active_transactions.hpp
Adapted for V21.2 patch
This adds the following functionality:
is_optimistic
which is set to true for any elections inserted from the optimistic frontiers confirmation. New confirm_req rounds are sent every 10 seconds (as opposed to 5 for normal elections), and expire after 1 minute(Unrelated) - Moved a comment I noticed was misplaced in
confirmation_height_bounded.cpp