Please describe your proposed solution
We propose to implement an alternative version of transaction ordering in the Cardano node mempool, based on transaction fees and execution budgets.
Key points of the proposal:
- Flexible Configuration: SPOs will be able to switch between the current First-In-First-Out (FIFO) and the new Generous-In-First-Out (GIFO) ranking mempool.
- Mempool Behavior:
- The mempool will collect and hold N*Blocksize of transactions needed for a block.
- A portion of these transactions will be ordered by fees, with lower execution budgets used as a tiebreaker for equal fees.
- Fairness Parameter:
- A configurable "Fairness" parameter will determine the balance between fee-ordered and FIFO transactions.
- 100% fairness means pure FIFO ordering (current system).
- 0% fairness means full fee-based ordering.
- SPOs can adjust this parameter to find an optimal balance.
- Benefits:
- Improved throughput for high-priority (high-fee) transactions.
- Deprioritization of transactions with overly high execution budgets.
- More optimal block filling.
- Implementation:
- This mempool transaction ordering functionality is not part of Cardano consensus.
- No hardfork will be required for implementation.
This solution aims to create a more dynamic and efficient transaction processing system while allowing SPOs to maintain a desired level of fairness in transaction ordering.