Timestamp
交易是否按時間順序進行驗證?
我已經看到塊包含“每隔幾秒”更新的時間戳,但誰更新時間戳,時間戳是否用於按時間順序驗證交易?
如果將具有特定時間戳的塊添加到區塊鏈中,是否會拒絕任何具有較早時間戳的塊?
協議如何使用時間戳?
根據wiki,新塊的接受時間戳存在一些容差:
如果時間戳大於前 11 個區塊的中位時間戳,並且小於網路調整時間 + 2 小時,則時間戳被視為有效。“網路調整時間”是連接到您的所有節點返回的時間戳的中值。
正如對相關問題的回答所解釋的那樣,原因是“沒有中央權威,就不可能確定目前時間是多少”(從某種意義上說,雖然可能存在設定“正確時間”的標準“,你無法證明發生在世界某個地方的電腦上的操作確實發生了它所說的時間)。
所以,回答你的疑問:
- 誰更新時間戳?
生成區塊的礦工分配時間戳,網路中的其他對等方對其進行背書。
- 時間戳是否用於按時間順序驗證交易?
重要的是區塊鏈中塊的順序,而不是時間戳的順序(因為要產生一個塊,您需要前一個塊“完成”,因此該塊中的交易發生在前一個交易之後)。
- 如果將具有特定時間戳的塊添加到區塊鏈中,是否會拒絕任何具有較早時間戳的塊?
僅當它超出上述公差範圍時。
- 協議如何使用時間戳?
我不確定它存在的所有原因,但您可以從查看這個和這個問題開始。我的理解是,確切地知道交易發生的時間是不可行的,但您至少仍然需要大致了解時間,原因有幾個。