L1 blocks cannot be fudged by validators. It is a value that can be safely used by apps.
Can that be said about the value of block.timestamp
on a L2 like Arbitrum?
L1 blocks cannot be fudged by validators. It is a value that can be safely used by apps.
Can that be said about the value of block.timestamp
on a L2 like Arbitrum?
The block timestamp cannot be trusted to the same degree on a L2 like Arbitrum, but it is not fully gameable.
Whenever a batch settles on the L1, it sends the latest timestamp to the L2.
From the Arbitrum docs:
to limit the degree to which the sequencer can adjust timestamps, some boundaries are set, currently to 24 hours earlier than the current time, and 1 hour in the future
Kudos to Fred for helping me understand how this works.