tl;dr: Wallets don't last forever. They are often compromised or lost. When this happens, the addresses generated from those wallets become a form of toxic data: funds sent to those addresses can be easily lost forever. All Bitcoin addresses have this problem. But at least existing Bitcoin addresses aren't supposed to be reused. Silent Payments are: the whole point is to have a single address that you can safely pay to multiple times, without privacy concerns. Failing to make Silent Payment addresses eventually expire in a reasonable amount of time is thus a particularly harmful mistake. Fixing this is easy: add a 3 byte field to silent payments addresses, encoding the expiration date in terms of days after some epoch. 2^24 days is 45,000 years, more than enough. Indeed, 2 bytes is probably fine too: 2^16 days is 180 years. We'll be lucky if Bitcoin still exists in 180 years. Wallets should pick a reasonable default, eg 1 year, for newly created addresses. Attempts to pay an expired address should just fail with a simple "address expired". Lightning invoices are a good example here: while invoices does not require expiration from a technical point of view, they do expire for similar UX reasons as applies to silent payments. -- https://petertodd.org 'peter'[:-1]@petertodd.org