Blocks

礦工可以在多長時間內操作 block.timestamp?

  • July 9, 2021

礦工可以在多長時間內操縱block.timestamp?他們可以操縱它 10 分鐘、5 秒、2 小時……嗎?

從這裡我可以看到乙太坊區塊鏈上的平均阻塞時間是 13 秒。

這個引用這個github執行緒的答案說:

礦工可以在時間戳中作弊 900 秒的容差。所以如果你在這個間隔之外檢查你是安全的

然後從consensys 文件中他們談到了十五秒規則。它認為,由於 的約束block.timestamp

  1. 它必須在前一個區塊時間戳之後。
  2. 未來不會太遠。

那麼,礦工可以在多長時間內操作 block.timestamp?他們可以操縱它 15 秒還是 15 分鐘?

我正在嘗試創建一個具有開始時間和結束時間的夾具智能合約。您只能將燈具的狀態設置為ended比賽開始時間後 2 小時。在這種情況下使用 block.timestamp 是否安全?

對此沒有書面規定,礦工和全節點可以自行設置他們容忍什麼樣的區塊時間戳偏差。

在實踐中,從來沒有任何明顯的時間戳偏差。阻塞時間本身約為 15 秒(我猜這是誤解的產生),所以我的經驗法則是精確到一分鐘。

引用自:https://ethereum.stackexchange.com/questions/103205