In his “Best Difficulty Algorithm, Timestamp Rules, Selfish Mining, Selecting N” post, independent DAA researcher zawy is suggesting following changes:
To summarize this section, to prevent all the attacks related to difficulty algorithms, time, and timestamps, Lamport’s ancient distributed consensus requirements on time and timestamps should be applied to Nakamoto consensus. Nakamoto consensus is a distributed consensus mechanism and Lamport’s derivations were independent of the algorithm. See “Timestamp Attacks” for a history of all the difficulty algorithm, time, and timestamp attacks on Nakamoto consensus due to Satoshi et al not following Lamport’s requirements. These requirements are:
- Peer time should not be used, only independent local time.
- Monotonic timestamps should always be used, not the median of the past 11 timestamps (MTP).
- Future Time Limit (FTL) should be reduced to a fraction of block time
- Timespan limits and other methods of changing what a correct difficulty algorithm calculates should not be used.
So far, with ASERT, we have implemented only 4.
Did we consider implementing 1.-3. before?