We had a good number of proposals to tackle the spam problem: TaaC, PoS4QoS, bounded backlog and others. Going forward, I think all (or some) of these proposals could be consolidated into a single priority number, that would determine the order of the transactions into the (bounded) backlog.
Meaning that, for every transaction, the node would do a calculation weighting several factors like, for example:
- Time since the last tx/period (TaaC).
- Balance of the sending account (PoS2QoS) or even the receiving account.
- Amount in the transaction.
- Age or number of blocks in the sending and/or receiving accounts.
- Whitelisting of accounts (for tipbots, exchanges, fountains, et cetera).
- ...and others.
Every node operator could modify, starting from default values, how each factor is weighted into the final priority value that would determine it's order (or non inclusion) of insertion into the bounded backlog. Thus, the network could adapt with flexibility to specific attacks, changing how the nodes evaluate all this to make the vectors used by the spammer have less priority.
if (txamount < 0.00000000000000000000001) priority -= 1000
If, to avoid this, the spammer switch to send 0.001+random amounts back and forth between 1000 accounts he would be heavily hit by the TaaC factor whose weight the operators could temporarily increase in the priority calculation.