-
Notifications
You must be signed in to change notification settings - Fork 25
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
Fix authorized nodes unavailability #317
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0daad8f
to
ffff4c2
Compare
Neylix
requested changes
May 17, 2022
ffff4c2
to
a874ade
Compare
Neylix
approved these changes
May 18, 2022
731484a
to
a8a5726
Compare
@Neylix I think We can test this on 3 node network. |
a8a5726
to
75e3e48
Compare
Soo many changes and Soo many commits. |
Neylix
requested changes
Jun 2, 2022
c25bd62
to
366d0dd
Compare
We want to list the previous authorized nodes in the node shared secrets to ensure the distribution of the daily nonce. So in case of unavailability a previous authorized node will be able to sync again when it joins back.
Because we are listing all the authorized nodes (previous + new) in the shared secrets transaction, we want to avoid implication of unavailable nodes in the transaction validation.
Neylix
approved these changes
Jun 2, 2022
Because node can change keys when they are restarting based on their unavailability time, we have to base the shared secrets on the node's first public key
By using a custom FSM implementation instead of Connection based we have more control of how the connection is managed and the message transmitted Switch to full asynchronous message and managing timeout differently using gen_statem timeout and receive timeout.
If the node is disconnected for a certain time, it should not load the last P2P summary view and prevent to emit new transaction as authorized node
This prevent invalid replication attestation signature in case of all the authorized nodes are down except one, so we have to keep replicas position in match even if there are not present nodes
366d0dd
to
347f43e
Compare
Wait its done??? so fast? |
This pull request was closed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR aims to resolve issue regarding nodes which become unavailable and try to rejoin later while the node shared secrets have been performed since.
But once the node is coming back it should be able to load missed transactions without issue regarding election or shared secrets
Fixes #318
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Checklist: