Nano is an interesting cryptocurrency, but it’s very benefits are attack vectors. Currently Nano has no way of dealing with a precomputed PoW attack which means a single attacker has the ability to effectively ‘DDOS’ the network. This is briefly discussed in their white paper, and AFAIK I’m the only one to have proposed a complete comprehensive solution to their problem, but the implementation appears to be so complex and would require a network split that the nano team has moved on to less comprehensive mitigations. Currently any actor, including myself with my trivial resources could easily DDOS the entire network, which is a major concern I hold to the cryptocurrency and cannot advocate its usage at least until this has been appropriately addressed.
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
The current mitigation enables attackers to raise the difficulty at whim and effectively disables any cached PoW's by large entities. This hurts Nano's primary feature - speed - for the end user. Also, while it certainly makes it harder for an individual attacker to attack the network, it is still very doable given enough time and resources. My proposal (which was shortly after the blog post you've cited came out) included a concept of leniency while making any possible attack exponentially more difficult both to plan and execute over a period of time while maintaining a constant ability for entities to precompute PoWs. However the biggest issue would be the introduction of synchronicity in an asynchronous network through probability and is not exactly trivial to implement. I've since moved on as I don't have the time or motivation to further pursue this (I am not exactly very hyped on the idea of cryptocurrency anymore).