celestiaorg / celestiaorg/celestia-core
Gossip txs based on priority
- Dominant language
- Go
- Stars
- 552
- Forks
- 369
- Avg merge
- 23h 9m
- Merged PRs (30d)
- 57
Description
Currently, while mempools like CAT and v1 have the ability to reap prioritized transactions from the mempool, they add transactions to be gossiped to a queue in a FIFO way. When under high load, this could result in not being able to get a high priority transaction included as it would take too long to gossip.
The idea proposed by @musalbas was to insert the transactions in some flavor of a sorted queue. I say some flavor as there were a few different proposals to avoid the overhead of having to always maintain a separate perfectly sorted queue.
One of the suggested solutions was to utilize the existing sorted queue inside the v1 and CAT mempools. Here we would keep track of which transactions are gossiped already and iterate through the queue of sorted un-gossiped transactions periodically or after some trigger.
Another of the suggestions was to add some conditions that must be met before any form of sorting only occurred, for example large high priority transactions or some threshold of very high priority.
Contributor guide
Research direction
The issue names no files, tests, or entry point. Start by locating the CAT and v1 mempool implementations, their FIFO gossip queues, and their existing sorted transaction queues. Before coding, clarify which sorting strategy and trigger are accepted; done means the chosen design is implemented and high-priority transactions are gossiped promptly under load.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100