Nano implemented Dynamic Proof-of-Work in V19 to mitigate spam attacks causing congestion on the network [1]. When the network gets congested due to a spam attack (or other reasons) the PoW required to send a transaction is dynamically raised. This should prioritize real transactions that will do the new, higher PoW, while the spam transactions that have a lower precomputed PoW have to wait to get processed until the network's PoW requirement dynamically lowers. Doesn't this mitigate the precomputed PoW attack vector? This tweet [2] also shows this dynamic PoW feature in action.
[1]https://medium.com/nanocurrency/dynamic-proof-of-work-priori...
[2] https://twitter.com/GenMeasures/status/1149855971457454081