Skip to content

Balanced replication tree #1360

Open
Open

Description

Is your feature request related to a problem?

Currently, to distribute replication during transaction's validation we have a replication tree which is designed to distribute replication nodes from validation nodes being the closest and deliver messages faster in terms of latency.
The problem is this is based on shorter path strategy, however, it doesn't take in account the bandwidth and the load of validation nodes.
Actually, the tree is a tree with only one nested level.

Hence, the load of validation nodes to replicate to many nodes is not efficient, and require only high bandwidth nodes (for example with fibre)

Describe the solution you'd like

To resolve this problem and embrace more validation nodes with ADSL connection for instance, I propose to use a balanced tree combining shorter path and load balancing.
This way each validation nodes (i.e. at minima 3 nodes), will send a transaction to replicate to a given set of nodes, which will in return send this transaction to a given set of nodes, etc…

To avoid the issue of acknowledgement, fault tolerance and blocking, the leaf nodes of the replication tree will be able to send confirmation right away to the validation node in charge of this branch of the tree.
Hence, the behavior would be like today, but with more load balancing capability and reducing pressure from validation nodes.

Additional context

No response

Epic

#212

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions