Validators add to specific validations an indicator of what they think the transaction fee should be.
Right. We have good pseudo-code for "how" the fee is changed. But no examples for what criteria are used to calculate "what they think the transaction fee should be." For example, how does a gateway implement this function:
int desiredFeePerTransaction (NetworkState s);
Do they raise the fee if "too many" transactions go through? Or do they raise if a lot of spam is coming through? For that matter, how do you identify a transaction as spam? The rationale given for the necessity of XRP is that it is "to prevent spam." I agree that spam is an issue. The first thing I would want to do is create a thousand self issued currencies called "BIGDIK" with an incrementing numbed appended to the end. How do we prevent this? How does a gateway recognize this as spam? Is it a manual process performed by the gateway operator poring over server logs? Is there a community website that gateway operators visit to hear the latest and greatest on how to combat spam?
A lot of talk has been given on the consensus model and the need for XRPs to prevent spam but nothing has been said on the exact methodology that a gateway will use to determine what an appropriate transaction fee will be, or even if the fee needs to change.
There is no specific check for spammy transactions. If it has the correct fee, it will be processed. If the network is overloaded, slow nodes will bow out of the consensus process and the transaction fee will rise to maintain stability.
Are you saying that bandwidth is the sole criteria for determining the fees? I don't see how that prevents spam at all.