Blocks
礦工可以在多長時間內操作 block.timestamp?
礦工可以在多長時間內操縱block.timestamp?他們可以操縱它 10 分鐘、5 秒、2 小時……嗎?
從這裡我可以看到乙太坊區塊鏈上的平均阻塞時間是 13 秒。
這個引用這個github執行緒的答案說:
礦工可以在時間戳中作弊 900 秒的容差。所以如果你在這個間隔之外檢查你是安全的
然後從consensys 文件中他們談到了十五秒規則。它認為,由於 的約束
block.timestamp
是
- 它必須在前一個區塊時間戳之後。
- 未來不會太遠。
那麼,礦工可以在多長時間內操作 block.timestamp?他們可以操縱它 15 秒還是 15 分鐘?
我正在嘗試創建一個具有開始時間和結束時間的夾具智能合約。您只能將燈具的狀態設置為
ended
比賽開始時間後 2 小時。在這種情況下使用 block.timestamp 是否安全?
對此沒有書面規定,礦工和全節點可以自行設置他們容忍什麼樣的區塊時間戳偏差。
在實踐中,從來沒有任何明顯的時間戳偏差。阻塞時間本身約為 15 秒(我猜這是誤解的產生),所以我的經驗法則是精確到一分鐘。