Skip to content
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

Architecture improvements for v2 #42

Open
talkol opened this issue Mar 5, 2019 · 1 comment
Open

Architecture improvements for v2 #42

talkol opened this issue Mar 5, 2019 · 1 comment
Assignees

Comments

@talkol
Copy link
Member

talkol commented Mar 5, 2019

  1. Cancelable consensus thread, meaning if working on term and suddenly we know this term is invalid (eg. node sync brings a new block), we should be able to cancel the current term immediately and move forward to the new one (even if stuck doing a blocking operation).

  2. Future cache should be limited so we don't exhaust memory

  3. When reliving history (for example when going through node sync and seeing old blocks, or when playing through the future cache when we arrive to an already active term) - we should not try to participate in this history (even when we're leader)

  4. Handle failures in external API calls gracefully. For example, if trying to get a committee and the API fails, we should handle this gracefully and retry after some time so consensus doesn't get stuck.

@talkol
Copy link
Member Author

talkol commented Mar 5, 2019

  1. Improve robustness of node downtime and restarts - PBFT-like algorithms resync eventually when the views align, so if the time between first node start and last required start is 3 days, it will take 6 days to sync to the same view

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants