Doublespend

在給定的契約中,“LockTime”時間戳是否應該包括額外的一小時確認以防止雙重支出?

  • December 20, 2012

任何時候交易都附有時間戳,並且有已簽名但未送出的交易在起作用,未送出的交易的持有者是否應該考慮到期時間的確認?

即在這個關於契約的維基頁面的範例 7 中,我認為如果 AP 等到接近午夜(幾乎是 tx 到期時),那麼就有可能發生雙重支出,並且 AP 可能無法獲得報酬。這意味著 AP 必須提早送出 tx 6 確認……將近一小時。

  • 這是對與雙花攻擊相關的鎖定時間的正確理解嗎?
  • 當網路在區塊生成中快速增加(並且難度尚未調整)時,應該如何處理?現在正在通過 GPU-> ASIC 轉換發生這種情況

nLockTime 是礦工可以將該交易包含在一個塊中的最早時間。這並不意味著雙方可以假設最終和解已經發生的確切時間。

您得出的結論是正確的,即有可能廣播另一筆交易(nLockTime = 0)並與原始 nLockTime > 0)交易同時競爭。

但這不一定是雙花,因為稍後看到的 nLockTime = 0 的交易必須由雙方簽署。

如果發生“雙花”情況,任何一方都不會感到意外。

這種情況可能發生在兩方認為 nLockTime = 0 交易將是已確認的交易,並且無論出於何種原因,它都沒有足夠快地得到確認。取而代之的是,在原始交易的 nLockTime(粗略地說,就時間戳而言,礦工有幾個小時的餘地)該交易確認,因此稍後送出的交易(其中 nLockTime = 0)將永遠不會確認。

因此,就最終結算而言,正常的確認級別門檻值(例如,六次確認)仍然適用於這些交易。

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