Attack

是什麼阻止了礦工/節點謊報一個區塊的開採時間?

  • October 17, 2012

據我了解,比特幣工作量證明所需的難度是區塊歷史的函式,特別是最近約 2000 個區塊之間的平均時間,其意圖是徘徊在 10 分鐘左右。

該函式依賴於創建塊時的時間戳。我突然想到,當節點計算區塊時,它們有誇大時間戳的動機(因為隨後將重新計算難度以允許更快地探勘新區塊,這將導致該節點獲得更高的比特幣獎勵率)。

協議規定節點應該拒絕時間戳看起來無效的區塊(例如太遠的未來),但它再次依賴於節點的誠實。

簡而言之,礦工不誇大時間戳的動機是什麼?我是否認為如果大多數礦工/節點串通誇大+不拒絕無效時間戳,那麼整個比特幣網路將開始更快地生成比特幣?

注意:在我看來,隨著比特幣總池增加 + 獎勵率每 4 年減半,這種比特幣塊生成的“加速”影響越來越小。

如果時間戳大於前 11 個區塊的中位時間戳,並且小於網路調整時間 + 2 小時,則時間戳被視為有效。“網路調整時間”是連接到您的所有節點返回的時間戳的中值。

每當一個節點連接到另一個節點時,它都會從中獲取一個 UTC 時間戳,並儲存它與節點本地 UTC 的偏移量。網路調整時間是節點本地 UTC 加上所有連接節點的中值偏移量。但是,網路時間不會從本地系統時間調整超過 70 分鐘。

  • <http://en.bitcoin.it/wiki/Block_timestamp>

因此,如果您希望您的塊被其他節點接受,您不會弄亂任何接近與目前時間偏差兩個小時的事情。

但是該協議並不關心正在開採多少塊,它只會使用過去 2,016 個塊的持續時間來調整週期性事件發生時的難度。

礦池的主要因素是,如果他們這樣做,他們的區塊可能會被網路和誠實節點拒絕。這不僅意味著礦池和礦工的利潤損失,還意味著信心的喪失。這兩個因素都可能導致礦池失去其礦工和算力。

引用自:https://bitcoin.stackexchange.com/questions/5076