-
Notifications
You must be signed in to change notification settings - Fork 4
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
Mempool Communication and Design #31
Comments
@heindel I just extended the original text with some sub-tasks and DoD. Do you agree? |
DoD is great
|
Layered architecture and some brief elaboration : https://hackmd.io/_LxxCSAmRwW28fNquMW81A |
@isheff a few questions you might have an answer to regarding the problem of "which worker receives what transaction?" :
Perhaps we can use a scheme where some distance function is leverages to decide which worker gets what transaction? For example, imagine we have a distance function XOR(a, b) where a is a (hashed) transaction and b is the pk of the worker. Then, the worker for which this distance is smallest could be selected as the receiver of this transaction. This will also later help the execution engine to locate the transaction (which is by then in some batch) in worst case O (log n ) time. |
Task description
Arguably, we can break down Typhon into layers, which include:
In order to order transactions that have been stored, we need to organize them into a partially-ordered DAG structure from which Consensus can choose an ever-growing non-conflicting closed sub-DAG. I suspect that something similar to Narwhal can help us here, but we have to adapt it for the Heterogeneous setting.
Ultimately, we want this design formalized in something like TLA+, and integrated with the Heterogeneous Paxos spec. We may even want to prove some safety or liveness (or even fairness) properties along the way.
Sub-tasks (no particular order)
Definition of Done
The text was updated successfully, but these errors were encountered: