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

Message Passing for Heterogeneous Paxos #9

Open
isheff opened this issue Oct 11, 2021 · 6 comments
Open

Message Passing for Heterogeneous Paxos #9

isheff opened this issue Oct 11, 2021 · 6 comments
Assignees

Comments

@isheff
Copy link
Collaborator

isheff commented Oct 11, 2021

This issue may well be combined with our existing ledger projects.

Ultimately, our Heterogeneous Paxos implementation will need to send messages (1b, 2a, etc).

  • How do we format these?
  • How do we disseminate them?
    • While Gossip is efficient in terms of per-node bandwidth and connections, just sending UDP packets to all destinations might be faster, although we'd have to be clever about filling in messages that some recipients missed.
  • what, if any, signature aggregation do we use?
    • trees of signature aggregation have in the past been fruitfully combined with gossip trees.
@cwgoes cwgoes transferred this issue from another repository Oct 14, 2021
@isheff
Copy link
Collaborator Author

isheff commented Nov 18, 2021

Schemes like Kauri (SOSP 2021) use combination signature-aggregation/gossip trees.

@isheff
Copy link
Collaborator Author

isheff commented Nov 18, 2021

HotStuff effectively does all-to-all communication with O(n) overhead by sending everything through a leader which aggregates signatures.

@isheff
Copy link
Collaborator Author

isheff commented Feb 10, 2022

It currently seems likely that DKG will be a bottleneck on the number of validators before all-to-all messaging in consensus becomes impractical. We may be able to delay on message-aggregating cleverness for a while.

@isheff isheff assigned heindel and nzarin and unassigned isheff and FatemeShirazi Apr 7, 2022
@isheff
Copy link
Collaborator Author

isheff commented Apr 7, 2022

We may be able to usefully combine some consensus messages here with mempool messages, like Tusk does.

@isheff
Copy link
Collaborator Author

isheff commented Apr 7, 2022

Similarly, we may want to take into account message pipelining when formatting these messages.

@isheff
Copy link
Collaborator Author

isheff commented Apr 7, 2022

We may want to leave message content, aside from the layer containing transactions fairly abstract (mostly messages carry signatures, timestamps, and references to other messages), the way it is in Heterogeneous Paxos Reference Implementation.

We don't want, for instance, the Mempool and the Consensus layer to both send independent messages to a quorum of validators at the same time, when they could just send one message.

Perhaps each orderer / validator should (internally) maintain a "messaging service," which signs, broadcasts, receives, and validates messages as efficiently as possible, and then distributes internal "logical messages" to components of the orderer / validator.

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

4 participants