我在卡拉奇港口追蹤的一次清關,在門戶上一直停留在“待審覈”三天,隨後沒有顯示中間任何步驟,直接跳到“已清關”。我原以爲 Dusk 區塊的最終性會以類似方式運作:先 pending、再 final、一次跳轉就結束。但事實並非如此;滾動最終性根本不是這樣運作的。

一個區塊會經歷四種彼此不同的狀態,它們之間的跳轉完全取決於此前迭代發生了什麼。若該輪中之前的迭代都爲零且未失敗,那麼該區塊一開始就以“已證明/attested”(attested)爲起點,意味着沒有其他候選者可能在共識上擊敗它。若任何先前迭代確實失敗過,且沒有失敗證明(fail attestation),那麼該區塊就改爲“已接收/accepted”(accepted)開始,因爲理論上更低迭代的區塊仍可能替換它。

真正改變我思路的是:confirmed(已確認)和 final(最終)並不主要是關於區塊自身的狀態。一個已證明的區塊,只要出現並證明(attested)或確認(confirmed)了某一個後繼區塊,它就會變爲 confirmed。不過,一個已接收的區塊需要在其上連續疊加 2×n 個 attested 或 confirmed 區塊,其中 n 是該區塊之前的“非已證明”迭代次數。也就是說,兩筆年齡相近的區塊,可能因爲它們的迭代歷史有多“乾淨”,而在到達同一置信度水平所需的時間上完全不同。

白皮書沒有給我的,是在真實的 Dusk 在線基礎設施上,從 accepted 到 final 平均需要多少秒或多少區塊的時間。我無法憑空編造這個數字。

對 DUSK 的真正檢驗在於:這種通往最終性的可變路徑,對日常需要轉移資金的用戶來說,是否依然足夠快、足夠順暢。

有沒有人追蹤過,一筆真實交易在 Dusk 上多久纔會達到最終(final)狀態?
#dusk $DUSK @Dusk