A TL/DR to NANO Spam Attack, What Worked and What Didn’t
Most of the network kept working fine, reaching 1000 confirmations per second at some point. And that become issue for lower end nodes – they lagged behind, having thousands of spam transactions queued before legit transactions.
To fight this exact situation there was designed Dynamic PoW system. Which did not work. Here some context: to keep network feeless but not free to spam nano transaction requires small amount of PoW done per each transaction. Dynamic PoW means transaction can increase PoW difficulty on the fly to get prioritized by nodes. To trigger difficulty increase it was looking at confirmation time. And since most network was doing fine and confirmation (more than 50% of voting power approved) was reached without issues – DPoW did not kick in.
Only nodes with lower end bandwidth got choked, about 20% of network. Unfortunately among them was Natrium wallet node – the most popular/shiny NANO wallet out there. Since it that amount of complaints by users. Nault wallet was doing just fine, and it provides ability to use other nodes to communicate with network.
So what could have been done better? The DPoW condition should probably depend on number of network nodes voted, scaling from amount less than 100%, instead of time until 50% approved. But honestly, i don't think there were much chances to figure it until directly facing it live. That's fine, imagine Musk abandoning SpaceX because of a failed launch. There some amazing new propositions to fight spam in discussion, it will be solved. And ledger bloat will be solved too.
Since Natrium is so valuable to NANO community, probably it should call for donations to upgrade Natrium node.