I thought it would be useful to share this comment from Amaury,
It is his view on changing the DAA, replying to me on how to fix it.
There are definitively DAA that would perform better on the issue of oscillations. There are no doubts about this.
One obvious issue is how well they hold in the face of absurd timestamps. Right there, you lose most of the traditional low pass filter techniques. For instance, a solution that perform better in the face of oscillations is to use exponential decays instead of a moving average. But this solution start producing absurd results in the face of negative timestamps, which definitively happens. So making it viable require to add some mechanism to ensure timestamps are somewhat accurate. Because for all consensus rules, the blockchain itself is the clock, that means it needs to live in the pre/post consensus world – so we are already facing something way bigger than changing the DAA. In addition to that rule, you’d need a consensus rule to prevent negative times between block, but the block headers only have 32 bits to grind, which is very small for ASICs, so in practice, ASICs also grind the lowers bits of the timestamp, which means they will produce negative times once in a while. So, how many ASICs does this break? Does it break them at the hardware level or a firmware update can fix it? These questions are left unanswered, and to be frank, the fact I have to raise them is a red flag to begin with.
Another source of concern is selfish mining. Some DAA allow a selfish miner to mine in such a way that gamma pretty much equals 1 (the worst possible case). Today gamma is very close to zero in practice. Do we want to change this? Once again, pre/post consensus can help bringing gamma down even in the face of a vulnerable DAA, but once again, we are talking about something much bigger. The exponential decay solution also has this problem.
In addition, the problem statement…