Block
如何驗證挖礦時間?
新目標是根據 T(new_block-1) - T(new_block-2016) 計算得出的。這裡 T 是礦工開採區塊的時間。
礦工自己為區塊設置這個時間。
因此礦工這次可以偽造。
這次我看到了一條規則:
必須嚴格大於前 11 個區塊的中位時間。完整節點不會根據他們的時鐘接受未來超過兩個小時的區塊。
這是用於防止時間偽造(因此是目標偽造)的機制嗎?
這個機製本身就夠了嗎?如果是,怎麼會?
在比特幣中,過去的中位時間(如您的報價)用於時鐘重要的所有操作,這限制了任何給定礦工時間戳的影響。礦工可以嚴重扭曲其區塊的時間戳,而不會對網路產生不良影響,之前的一些探勘優化涉及將時間戳向前傾斜,以避免需要執行昂貴的操作來載入新的 merle 根。
有一個例外可能會發生一些討厭的事情,這是難度視窗計算中的一個錯誤,這意味著單個塊的時間戳落在計算視窗之外。這通常被稱為時間扭曲攻擊,但在現實世界中並不是一個重大威脅,但是如果它太高,它對於在測試網路上濫用重置難度很有用。