Protocol should export quality metrics for transactions
- The protocol should export a list of natural integers representing "quality metrics" for a transaction.
- The node should have a list of integers in a configuration file and drop transactions who fall below the quality metrics
These transactions are valid, the metrics are provided as a hint to the node to manage its mempool.
e.g.
let rec pass config quality = match (config, quality) with
| ([], _) -> true
| (_, []) -> true
| (h1::t1, h2::t2) -> (h2 < h1) && (pass t1 t2)
Those quality metrics could be anything, it's up to the nodes to make a smart use of them. In practice, the quality metric can be a single number, the fee attached to the transaction.