Impact of PoW Removal

So, we don't use PoW for block prioritization inside the AEC anymore.
Last talk we had about this was more than 6 months ago.

Some XRP chillers kept harassing me about how you can't say Nano transactions are free or feeless as they see that PoW as a hidden cost and the term "feeless" as a lie. (I know it's "the dirty complaining about the poorly washed" (pt-BR)... maybe "the pot calling the kettle black"? I don't know English)

About the impact:

  1. Would an attacker be able to generate sequential blocks faster?
    1a. How faster?

  2. Would we need to discard transactions after a timeout?
    2a. And if that's the case wouldn't that affect scale in our future as a global currency (lose legitimate transactions)?


Much of the crypto space views fees as the only way to prioritize transactions though this simply isn’t true.

The biggest issue is there’s no provable way to know what the cost of running a validator is. If the cost of running a node can’t be calculated, how can the network set the fee rate efficiently?

This creates a perverse incentive for validators to keep the network throughput low in order to collect more fees.

Removing the option of fees entirely removes this issue.


Imo, to discard PoW completely I think we'd need some or all of the following:

  • Prioritization in the AEC, not just the election scheduler

  • A "Bounded Block Backlog" to tie ledger growth to bandwidth limits

  • Possibly a true mempool version of the BBB to reduce disk IO issues during heavy network usage and/or fork spam attacks

  • Possibly a more robust balance/LRU prioritization implementation (aka TaaC/P4Q with signed timestamps and global rules based on that) to reduce perceived time variations from causing compounded issues at saturation/during AEC overflows

  • Pruning for PRs, which might require some form of "top-down" (frontiers->genesis) bootstrapping straight to a pruned state

  • Bad node/account rules/timeouts: Systematic process to ban malicious nodes

  • Real world testing of the implementation on the mainnet, at or near saturation for a meaningful amount of time