Nimiq block timestamps and their resolution

#1

By design, the current Nimiq protocol allows timestamps of mined blocks to be 15 minutes before or after the current time. Resulting into confusing looking blockchain explorers when for example a block is mined on a system that has the system time set to the time after the actual time:

And if someone finds a block ‘in the future’, other miners set their timestamp +1 sec until the time is in sync again.

Why block timestamps are allowed +/- 15 min?
The problem with smaller numbers is that the system time might be off a bit. (Just a few days ago I had my phone off by two minutes due to poor mobile network connectivity while syncing the time). 15 minutes is safe in that it doesn’t influence the network difficulty too much if an attacker intentionally chooses a wrong timestamp (~10%). The only use case (protocol-wise) of the timestamp is difficulty adjustment.

Will the timestamp resolution be increased for Albatross with faster block times?
With increased resolution you mean sub-second resolution? An interesting point is that we might not need the timestamp anymore (but we probably will have it nonetheless), as we don’t have difficulty adjustment anymore. Instead we might want to use the timestamp for contracts which will require higher accuracy (= less than 15 min allowed offset) but probably also not higher resolution. Moving to a 64-bit ms-resolution timestamp will solve the year 2106 problem, but we don’t really need to care about that right now…

Stated by Sören and Marvin, both from Team Nimiq