Hi all. Given the ongoing (presumed) ledger bloat attack, I submit the following for consideration:
Discard dust addresses once their frontier block reaches an age threshold.
Based on three principles:
1.The network must function indefinitely, irrespective of usage history.
2. Dust addresses of sufficient age will never be re-used and are thus already lost.
3. No harm is caused by discarding that which is already lost.
Age: Measured by elapsed blocks or by timestamps. Asynchronous discarding acceptable given addresses are dormant.
Discard: Irreversibly prune from all copies of the ledger.
Dust Address: An address whose balance is below the dust threshold. Not to be confused with truncating of larger balances.
Addresses with less than 100 raw are discarded from the ledger after ~5 years of inactivity.
-Existing microtransaction use-cases not affected.
-Rate of discarding can be proportional to rate of new blocks.
-Negligible effect on circulating supply (effects are proportional to cost of attack)
-Controversial. Discussion required.
-Determining how much is 'Dust' and how old is "Old".
-Fiat value changes with time. Important to ensure that only values with negligible probability of recovery are affected.
Strategies to Address Challenges
Balances discarded must be so small and so old that there is negligible likelihood a user would have 'bothered' to keep the keys. Some ways to arrive at acceptable values include:
-Model the relationship between address age, balance, and frequency of re-use.
-Backtest values on existing ledger and/or simulations of higher network use / rapid fiat value appreciation.
-Simulate effects of relational thresholds (ie: a function of balance and age, up to set max values)
The ledger need not be small, but it must be finite. Thank you for reading, just trying to do my part.