Let’s assume there’s no transaction cap, allowing nodes to add transactions to a momentum until it reaches the size or time limit.
Now, if someone saturates a momentum with 100K QSR worth of plasma, due to the global dynamic plasma variable multiplier, saturating the next momentum will cost them 200K QSR of plasma. The subsequent cost will double with each saturation attempt. (Note: The numbers used are just placeholders and don’t necessarily need to be exponential either.)
For the attacker, it’s a losing battle, but for the average user, the impact might not be very noticeable.
Consider a user with only 5% of the maximum 5000 fusion units available for an account. This gives them 250 fusion units, providing 525,000 plasma to work with.
Assuming the transaction is 200B at nil dynamic multipliers, it should cost 34,600 plasma. At this rate, the user could make 15 transactions to a Momentum if desired.
However, when the attacker starts saturating, our user can now only add 7.5 transactions, then the next 3.75, and so on. For light to medium user this would be hardly noticeable considering a Momentum occurs every 10 seconds.
An exponential multiplier simplifies the example, but one could use an equation to create a J curve or something along those lines.
This system seems very flexible, performing it’s purpose whether the network has 5K tps or 500K tps. While it makes sense to me, there might be potential logical errors that need consideration though.
Nano, for instance, addresses this issue through ledger pruning.
I believe our advantage lies in the MetaDag. While I’m not certain, if I were to guess, I’d say this design decision is partly intended to address that problem.
Sentinels are highly incentivized, particularly as the ZNN and QSR values, compared to BTC, increase substantially. I estimate that in the future, there will be up to thousands of trustless Sentinel nodes and potentially many millions of trusted Sentry nodes that sync very rapidly with zk-proofs.