archethic-foundation / archethic-foundation/archethic-node
Balanced replication tree
- Dominant language
- Elixir
- Stars
- 82
- Forks
- 24
- PR merge metrics
- No merged PRs in 30d
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
Contributor guide
Research direction
The issue names no files, tests, or entry points. Start by locating the current replication-tree implementation and read epic #212 for context; done would require a balanced, multi-level tree that considers path length and validator load while preserving confirmations and fault tolerance.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- blockchain, elixir
- Domain
- blockchain, distributed-systems, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100