讓我在 DuskVM 上終於明白 Moonlight 和 Phoenix 的一點是:不同的狀態模型並不需要不同的最終性模型。

Moonlight 帶着一條公開的賬戶賬本路徑:餘額、發送方、接收方、金額、nonce。

Phoenix 則通過加密筆記(encrypted notes)、受保護的輸出(shielded outputs)以及 nullifiers 來到達。

我之前一直以爲這兩種形態會在 DuskVM 之後某種程度上需要兩種不同的方式來達到最終性。

但這並不是 DuskDS 的職責。

Moonlight 可以保持賬戶形態。Phoenix 可以保持筆記形態。DuskVM 可以同時接受兩者,而無需強迫其中一個變成另一個,同時 Dusk L1 仍會爲最終結果狀態提供一個確定的最終性邊界。

所以錯誤在於:假設不同的狀態表示需要不同的結尾。

它們不需要。

Dusk 既可以讓 Moonlight 和 Phoenix 在底層保持本質上的不同,又能在最後仍然對“唯一重要的問題”給出同樣的答案:

這個狀態何時算最終?
#dusk $DUSK @Dusk