Thing is that our demurrage takes a very small fraction and raises it to a power of block since the coin last moved. This needs a consistent rate of demurrage to compute correctly.
You are correct, I blew it on that one. I had a nagging suspicion I was forgetting something.
Variable rates of demurrage is something we discussed at FRC for economic reasons, but no technical implementation has been presented yet. My only though is that older periods of demurrage can be merged such that an aggregate rates can be found and tracked. Say two periods with rates X and Y can be calculated to have had a cumulative rate of Z. Then calculations can be done on these larger chunks of time if they are entirely within the holding period of the coin, a bit like how we drive across country by first doing down small streets and then along highways and once again down our neighborhood streets, its a tree traversal which should be fast and accurate enough for even a long span of time.
But the correct solution just struck me, we just separate the demurrage 'block height' from the underlying blocks. Demurrage block height would just be a logical field on the block and after 10 minutes of block finding the next block increments that value. Changes in the block finding rate can just be accommodated by changing how many real blocks it takes before the logical block field increments (and if blocks are taking longer then 10 minutes we can increment by 2 or more to maintain the real time rate). And that number can be decided by the current time-stamp and difficulty code, but difficulty just represents a ratio between block finding rates and our arbitrary targeted 'logical' blocks.
Sounds reasonable, I think it can still be subject to some manipulation, but it's fairly vague and requires a lot of investment to save money with a depreciating currency.
No more then current time-stamp falsification by nodes should have as it would fundamentally be using the same source data as current difficulty. If Ripple is based on node consensus it seems you have to control more then half of all nodes to control the blocks, and as I've heard you have minimum balances this means it is a quasi proof of Stake system.