Confirmations
確認是否有任何差異?
例如,是否存在某些比特幣客戶認為交易有 3 個確認而另一個比特幣客戶(或網站)認為交易有 4 個確認的情況?
是的,有幾種不同的方式會發生這種情況,而且在幾乎所有情況下,這種情況的發生都沒有多大意義。
首先是最常見的情況:當客戶端收到一個塊時,它首先會在中繼之前驗證該塊。緩慢執行此操作的節點(尤其是在執行 v0.8 之前的軟體時)可能比其他節點晚很多秒。因此,雖然一個節點可能會驗證一個區塊並增加交易的確認次數,但另一個節點仍將致力於驗證它並顯示更少的確認。在幾秒鐘內,兩個節點上的事務計數應該相等。
另一種情況更為罕見 - 區塊鏈已經分叉,並且交易將顯示多個確認,這些確認在分叉一側的計數與另一側的確認數量之間變化。 這種情況實際上發生在 2013 年 3 月 11 日,執行 v0.8 客戶端的節點會將交易顯示為具有一定數量的確認,同時執行 v0.8 之前的客戶端的節點可能會顯示較低數量的確認. 當分叉收斂時,在 pre-v0.8 端獲得“最長鏈”狀態後,兩個客戶端版本顯示相同的計數。
如果在一個節點上顯示交易的多個確認但在另一個節點上沒有確認,則存在問題的可能性。這可能意味著交易資金可能容易受到雙花攻擊,或者這種攻擊已經發生。但是您描述的場景,在兩個節點上都至少有一個確認,很可能只是傳播延遲。
在 99% 的情況下,這是因為礦工探勘了一個已傳播到網站的區塊,但尚未到達客戶端。在另外 1% 的時間裡,是因為有一個區塊鏈分叉,並且有兩個有效的區塊鏈。這兩種可能性都是暫時的(幾乎總是),並且會在下一個區塊被開採時或更早時自行修復。