Setting deadlines with a random clock
Smart contracts on Ethereum often want to set deadlines for clients to act. For example, Layer 2 protocols like Arbitrum give parties a time window in which they can challenge some claim by another party. To enforce a deadline, the only reliable clock available is…