Blockchain
為什麼區塊鏈中的時間戳不總是增加?
從塊 145044 開始的時間戳是:
145044: 2011-09-12 15:46:39 145045: 2011-09-12 16:05:07 145046: 2011-09-12 16:00:05 // ~5 minutes before prior block 145047: 2011-09-12 15:53:36 // ~7 & ~12 minutes before 2 prior blocks 145048: 2011-09-12 16:04:06 // after 2 prior blocks but still before 145045
這是怎麼發生的?
從維基:
如果時間戳大於前 11 個區塊的中位時間戳,並且小於網路調整時間 + 2 小時,則時間戳被視為有效。“網路調整時間”是連接到您的所有節點返回的時間戳的中值。
每當一個節點連接到另一個節點時,它都會從中獲取一個 UTC 時間戳,並儲存它與節點本地 UTC 的偏移量。網路調整時間是節點本地 UTC 加上所有連接節點的中值偏移量。但是,網路時間不會從本地系統時間調整超過 70 分鐘。
這種時間戳記方式沒有任何問題並不明顯。請參閱博文 Timejacking & Bitcoin以及關於它的討論。