Exploiting the smoothed step would look like this:
An attacker with money to burn has 3 options each block:
- Fill the block
- Don’t send anything
- Fill the block to target
The first thing they’ll do to get the fee to respond is fill the block, paying just over 10.24 PPC to do so at a slightly higher fee than the minimum fee (say 0.01001). As the fee still doesn’t respond because of window averaging, they’ll fill the next block or two as well, spending another 10 or 20 PPC. Now they have pushed the fee up and set the process in motion.
If they keep filling the blocks, the fee will keep rising and it will become extremely costly to do so, increasing at a rate of something like ~20 PPC/block (so it would cost 30, then 50, then 70, then 90, etc. to keep filling blocks). Therefore, they will eventually either lower the attack to filling at target, or not putting funds in the block. At that point, the attack has successfully been repelled. The window average will keep increasing the fee for a couple blocks and then begin lowering, more slowly than it shot up (we’re assuming a TFF of ~0.35 here) by about 4x or so. If the attacker comes back before it fully relaxes, the process will start over with the increased minimum fee and the attacker will waste a good bit of resources. The relaxation may take a while, 100 blocks or so. All these numbers are dependent upon a fair number of assumptions about how the network behaves and what the TFF and x voters are doing.
The end result is that the attacker spends a couple hundred PPC spiking the fee up to like 0.1 PPC/KB for a day or so, with very little blockchain bloat. At that point, I am of the opinion of “go ahead and try”, which is where we should be with this. We are essentially profiting off of pointless spam attempts, and it’s excellent.