我讀到SA共識這段的時候,第一反應是去找它的最終性時間參數。白皮書寫了"數秒內實現最終性",但沒寫精確是幾秒。這個模糊讓我有點不舒服,但也讓我更想搞清楚它背後的邏輯。

先看對比。比特幣$DUSK 的最終性靠的是概率,6個區塊確認大概1小時,你等得越久越確信交易不會被回滾。以太坊的PoS最終性靠Casper協議,需要兩個epoch,大概12.8分鐘。Dusk說它只要數秒,憑什麼。

關鍵在它的確定性分配機制。白皮書說,每輪開始前,DS算法已經提前選出了誰來做區塊生成者,誰來做投票委員會。這個"提前知道"意味着投票者在區塊被生成之前就已經準備好了,不需要臨時拉人、不需要全網廣播找共識。通信成本被大幅壓縮。

我拆解了一下它的流程。每輪包含多個迭代,每個迭代有三個階段,提案、投票、確認。投票委員會只由被選中的那組驗證者參與,不是全網一起投。參與投票的節點數被控制在一個較小的範圍內,所以投票過程的通信量很小,幾輪信息交換就能完成@Dusk

但這裏有一個我沒想通的地方。白皮書提到了"滾動最終性"這個詞,但具體機制沒有展開。我的理解是,它可能指最終性不是一次性鎖定的,而是隨着新區塊不斷生成,前一區塊的最終性概率逐步提高。如果是這樣,那"數秒"可能指的是第一層確認,不是最終不可逆。#dusk

而且我注意到,白皮書沒有給出精確的秒數。3秒和9秒都叫數秒,但對金融場景來說,意義完全不同。這個問題我暫時沒法從白皮書裏找到答案,可能得等主網上線後的實際測試數據。