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

Gossip Layer for Heterogeneous Paxos Transactions #8

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

Gossip Layer for Heterogeneous Paxos Transactions #8

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

Comments

@isheff
Copy link
Collaborator

isheff commented Oct 11, 2021

Arguably, we can break down Typhon into layers, which include:

  • Transaction dissemination from Clients to Storage (probably on validators, who may also be orderers) (This Issue)
  • Mempool Organization, wherein organized portions of the transactions are identified for consensus to decide on.
  • Consensus, which chooses an ever-growing sub-dag from the mempool representing "ordered" transactions.
  • Execution, wherein state "after" each transaction is calculated and published.

This will have to incorporate / reference sub-transactions in each of the state machines involved, and efficiently disseminate transaction data to relevant parties. This gossipping should happen before consensus.

Ultimately, we want this design formalized in something like TLA+, and integrated with the Mempool Spec. We may even want to prove some safety or liveness (or even fairness) properties along the way.

@cwgoes cwgoes transferred this issue from another repository Oct 14, 2021
@ghost
Copy link

ghost commented Dec 9, 2021

Just to comment from the crypto side on this, currently the distributed key generator incurs O( # validators * # key shares) communications overhead, primarily because we wanted to use the existing Tendermint gossip layer unchanged (for now), the performance is probably acceptable, and it's simpler to implement.

This can be improved to O(# key shares * log(# validators)) if DKG messages are aggregated in the gossip layer, so if the gossip layer is redesigned, we should build in the DKG. This will be much more concretely efficient at 100 validators and also allow scaling to many more validators.

@isheff
Copy link
Collaborator Author

isheff commented Apr 7, 2022

We will ultimately need some system whereby quorums of validators can verify that they've stored (perhaps erasure-coded) a transaction such that it can eventually be ordered and executed. Perhaps something like Kadcast can help here.

@FatemeShirazi
Copy link

FatemeShirazi commented Apr 19, 2022

Can break this issue down into smaller issues? Like clear todos such as

  • learn about Kadcast
  • spec a small scheme for tx dissemination
  • ...

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

3 participants