Suggestion / Discussion of Network Spam Protection

Hi all,
here an suggestion / discussion of Network Spam Protection:

First some questions:
how do we want to protect against transaction spam (flooding the network)?
how should nodes by default propagate transactions?
what should be best practices for writers (the one who create new blocks) which transactions to include?
should some propagation rule be enforced? if so on node / network level, and / or on writer level?

one solution would be to take the destroyed coin age divided through the transaction size as transaction priority.

for example one transaction that transfers 10 coins that have not moved 10 days and with 1KB size has a priority of 100

networknodes and writers that create blocks could simply prioritize transactions with high coin age priority by default.

still it would not be enforced!, only the block size limit for block n would be enforced at writer / and or node level, but thats another topic

lets say we would use this outlined transaction policy.
In this case we have three questions:
ifirst, if there should be an minimal required priority to be not considers as spam for an transaction, and if so how high?

second how to handle other transactions like certifications that have no coin value?
third, what do we do if someone wants to make an transaction that is important to him to make, but he cannot because his transaction priority is too low to be included in blocks?

to the first question one solution would be, that a transaction must reach x% (lets say 10%) of the average priority* counted in the last y days (lets say 10).

  • more even it would be to use the average to calculate the priority of one transaction:
    transpriority = transpriority + transpriority / averageTransPriority + transPriority
    with this the priority of an transaction would be between 0 and 2 and 1 if a transaction has the average priority.