Had a bit of thinking of how nano should convey its message to the world and I don't think being a free-to-use network is the best one. The main reason for why that is bad is because it's intercepted as spam sensitive, and for good reasons. Data storage and bandwidth cost money, even if it is an extremely efficient protocol like Nano. That is why PoW was introduced as the first layer of resistance, also why the PoW threshold now is increased, for good and bad. Nano is NOT a free-to-use network. Pay the PoW, whatever it is, and build the services to handle it. If users have to wait for PoW, then so be it. It's not that different from fee-based cryptocurrencies in the end. It's all about introducing a cost of using the network, and Nano doing it a bit different but with many advantages. I think the static PoW change is fair while we are waiting for even more advanced DDOS protection to be built-in as a second layer of protection. Sure I also would like Nano to be free/effortless to use, with ultra-fast PoW for everyone but that's not the reality. We have to accept the fact that if Nano is going to be scaled significantly, so will the PoW, wherever it's in the protocol or not. If Nano gains serious traction, this WILL happen, either from evil actors trying to shut it down OR from genuine use. It's also not that difficult to solve increased work cost for transaction providers (wallets, exchanges, etc) using pooled PoW services and perhaps offer premium features to pay for it.
Now, how about this proposal as another layer of protection.
The dynamic PoW that was introduced to allow transactions with a higher level get prioritized was a good solution but it's not perfect. For this to happen the network has to first be saturated and at that point, the network does no longer operate under optimal circumstances. For example, the confirmation speed is slower compared to when slightly below the saturation level. What if the required minimum PoW would increase as a function of network load, and drop blocks that don't follow the rule? So as an example if cps is 10 the pow become 2x, 20 -> 4x, 40 -> 8x. This method would invalidate pre-computed chunks of spam blocks and it would be really expensive to live spam. Some regular pow could become invalid as well, like in wallets but maybe it's worth it? They can always re-compute. I'm thinking this minimum PoW level could be based as an average of last 1h CPS performance (or longer). Then pre-computed work won't break because of peaks in network load, but would be during prolonged stress or general increase of network utilization. In the end, the network "use cost" would self-balance as a function of ledger data storage rate and node bandwidth.