-
Notifications
You must be signed in to change notification settings - Fork 33
test(local-cluster): ensure liveness after second notar fallback condition #253
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
test(local-cluster): ensure liveness after second notar fallback condition #253
Conversation
|
Alternatively, we could test the second notar fallback condition even without the leader equivocating: Have 40% of stake be offline (not even issuing votes), the rest is split (roughly) 30-30 between receiving the block (and voting notar) and not receiving it (and voting skip). Then, safe-to-skip does not hold, neither does the first safe-to-notar condition, so the second safe-to-notar condition is required for liveness. |
8e4dc15 to
7dc9704
Compare
Appreciate the simpler test! Updated the test to employ this setup. |
ad5be9e to
619436e
Compare
… condition replace casework with quentin's simpler check cleanup + refactor
619436e to
284345c
Compare
Test to validate the Alpenglow consensus protocol's ability to maintain liveness when a node needs to issue NotarizeFallback votes due to the second fallback condition.
This test simulates a scenario with three nodes having the following stake distribution:
The test validates the protocol's behavior through two main phases:
Phase 1: Node A Goes Offline (Byzantine + Offline Stake)
Phase 2: Network Partition Triggers NotarizeFallback
NotarizeFallback Condition 2 Trigger
Node C observes that:
sufficient notarize stake (>= 20%).
Phase 3: Recovery and Liveness Verification
After observing 5 NotarizeFallback votes from Node C:
Key Validation Points