3 ms·
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 atta
by onelastjob 6y ago
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-prioritization-4618b78c5be9 https://medium.com/nanocurrency/dynamic-proof-of-work-priori...
[2] https://twitter.com/GenMeasures/status/1149855971457454081 https://twitter.com/GenMeasures/status/1149855971457454081
- manjalyc 6y agoThe 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).