Skip to content

feat(code): Implement minimal gossip properties to ensure liveness #997

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

Merged
merged 51 commits into from
May 16, 2025
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
111f5d5
Add gossip messages and handling
ancazamfir May 1, 2025
5a2068b
Add the new gossip and msg handling files
ancazamfir May 2, 2025
a99974d
Add serialization test for round certificate
ancazamfir May 2, 2025
4c9c24a
Send gossip messages over /gossip channel
ancazamfir May 5, 2025
d958ebf
Reuse exsiting encode and decode vote type functions
ancazamfir May 5, 2025
fb63cf9
Update version and breaking changes
ancazamfir May 5, 2025
b1c9f40
Store the round certificate when new round condition occurs
ancazamfir May 6, 2025
f7c82f0
On hidden lock suspicion (round > x), restream also the proposal
ancazamfir May 6, 2025
1f5dfbc
Add vote by vote verification for round certificate
ancazamfir May 6, 2025
6f6b7b6
Merge branch 'main' into anca/gossip
romac May 7, 2025
3ecff01
Fix standalone build, less cloning
romac May 7, 2025
0b21113
Less cloning
romac May 7, 2025
a071616
Rebroadcast the round certificate
ancazamfir May 8, 2025
4ad2725
Fix clippy
ancazamfir May 8, 2025
fdab84c
Add `RebroadcastRoundCertificate` event
romac May 8, 2025
92cf8dd
Move middlewares in their own module
romac May 8, 2025
eb5f1ed
Add round and vote type to `expect_vote_rebroadcast`
romac May 8, 2025
058385f
Show log when `on_event` step fails
romac May 8, 2025
b14cf9d
Add basic test for vote and round certificate rebroadcast
romac May 8, 2025
22f456c
Update comments in test
romac May 8, 2025
2526b2c
Rename gossip to liveness
ancazamfir May 9, 2025
b2a6e35
Rename gossip to liveness
ancazamfir May 9, 2025
039dd37
For hidden lock rebroadcast the proposal message also.
ancazamfir May 9, 2025
3db290c
Apply suggestions from code review
ancazamfir May 9, 2025
53170da
Correct comments
ancazamfir May 9, 2025
e1a17ba
Rebroadcast proposal and polka for HIDDEN_LOCK_ROUND also
ancazamfir May 9, 2025
7e3c65e
Apply suggestions from code review
ancazamfir May 9, 2025
16ccd0d
Fix formatting
ancazamfir May 9, 2025
1c457d7
Add comments to liveness message processing
ancazamfir May 9, 2025
1f39c4d
Fix spelling
ancazamfir May 12, 2025
e3ade2f
Panic when certificates are not found suggesting internal errors
ancazamfir May 12, 2025
3f4305c
Merge branch 'main' into anca/gossip
ancazamfir May 12, 2025
03ae78f
Add test for hidden lock
ancazamfir May 12, 2025
211ba01
Fix reuse of RestreamProposal with nil valid round for hidden lock
ancazamfir May 13, 2025
28b17e1
chore(code): Send rebroadcast votes to the liveness topic (#1012)
ancazamfir May 13, 2025
8e9cba6
Re-use `HIDDEN_LOCK_ROUND` constant from liveness test
romac May 13, 2025
2a330c3
Update BREAKING_CHANGES.md
ancazamfir May 13, 2025
8628753
Cleanup debugs and consensus traces
ancazamfir May 14, 2025
0d7321e
Enable the rebroadcast wal tests
ancazamfir May 14, 2025
f7bd600
Merge branch 'main' into anca/gossip
ancazamfir May 14, 2025
f5926ec
Disable again the rebroadcast mode tests
ancazamfir May 14, 2025
6f2c5a5
Use a single rebroadcast timer
ancazamfir May 15, 2025
e2127c8
Try fix for round_certificate_rebroadcast test
ancazamfir May 15, 2025
f8324b8
Merge branch 'main' into anca/gossip
ancazamfir May 15, 2025
265ad5e
Store the enter_round with the certificate, check it matches current
ancazamfir May 16, 2025
35b4604
Check in test broadcast of round certificate only, no rebroadcast
ancazamfir May 16, 2025
5ca73e4
feat(code): Implement Solution 2 for the RoundSync (#1032)
ancazamfir May 16, 2025
3f5cba6
Apply suggestions from code review
ancazamfir May 16, 2025
fae6219
Apply suggestions from code review
ancazamfir May 16, 2025
a1dd443
Apply suggestions from code review
ancazamfir May 16, 2025
e0c3353
Update comments
ancazamfir May 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions BREAKING_CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,26 @@

## Unreleased

### `malachitebft-core-consensus`
- Added new variants to `Input` enum: `PolkaCertificate` and `RoundCertificate`
- Added new variant to `Effect` enum: `PublishGossipMessage`

### `malachitebft-engine`
- Changed the reply channel of `GetValidatorSet` message to take an `Option<Ctx::ValidatorSet>` instead of `Ctx::ValidatorSet`.
- Added new variant to `Msg` enum: `PublishGossipMsg`
- Added new variants to `NetworkEvent` enum: `PolkaCertificate` and `RoundCertificate`
- Changed `PartStore::all_parts` to `PartStore::all_parts_by_stream_id`:
- Renamed method to clarify that, when a new part is received, the contiguous parts should be queried by stream id
- Added required `StreamId` parameter
- Added new public API `PartStore::all_parts_by_value_id` to be used instead of `PartStore::all_parts` when a decision is reached
- Added `&StreamId` parameter to `part_store::PartStore::store`
- Added `&StreamId` parameter to `part_store::PartStore::store_value_id`

### `malachitebft-network`
- Added new variant to `Channel` enum: `Gossip`
- Renamed `Event::Message` variant to `Event::ConsensusMessage`
- Added new variant to `Event::GossipMessage`

## 0.2.0

### `malachitebft-core-types`
Expand Down
Loading
Loading