Skip to content

Dynamic committee #347

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

Closed
wants to merge 10 commits into from
Closed

Dynamic committee #347

wants to merge 10 commits into from

Conversation

twittner
Copy link
Contributor

@twittner twittner commented May 14, 2025

Lays the groundwork for having a sequence of Committees, mostly in in the multisig crate. The type CommitteeSeq<I> represents such a sequence, consisting of non-overlapping intervals $$[i, j)$$ each mapped to one Committee, where $$i, j : I$$ and $$I$$ is any type that is an instance of Indexed. Adding a new committee from $$[k, \infty)$$, will move the current committee to the end of the previously active committees and makes $$k$$ it's exclusive upper bound.

The class of types that implement Indexed have a way to provide an index value which is used to select the committee that covers it. The canonical example for an index type would be RoundNumber and types such as Vertex can implement Indexed by returning their current round.

Work in progress ...

twittner added 10 commits May 14, 2025 13:30
The max. number of vertices per round depends on the committee size and
with potentially multiple committees the check needs to take the
relevant one into consideration. Now the consensus module contains the
debug assertions.
For the time being we assume the exact round number is already known and
focus on the actual handling of a committee change:

- For Sailfish consensus the node information needs to be updated
  because it depends on the committee size and keys.
- RBC just needs to add the committee to the committee sequence. It will
  be selected by producers of messages.

TODO: network changes, decryption phase changes and block building.
@twittner
Copy link
Contributor Author

Superseded by #360.

@twittner twittner closed this May 28, 2025
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

Successfully merging this pull request may close these issues.

1 participant