O que finalmente fez sentido para mim sobre o Moonlight e o Phoenix na DuskVM é que modelos de estado diferentes não precisam de modelos de finalidade diferentes.

O Moonlight chega com um rastro público de conta: saldos, remetente, destinatário, valor, nonce.

O Phoenix chega por meio de notas criptografadas, saídas blindadas e nullifiers.

Eu continuei presumindo que essas duas formas de alguma maneira exigiriam duas maneiras diferentes de chegar à finalidade após a DuskVM.

Mas esse não é realmente o trabalho da DuskDS.

O Moonlight pode continuar com formato de conta. O Phoenix pode continuar com formato de nota. A DuskVM pode aceitar ambos sem forçar um a virar o outro, enquanto a Dusk L1 ainda fornece àquele estado resultante uma fronteira de finalidade determinística.

Então o erro foi assumir que representações de estado diferentes precisam de finais diferentes.

Elas não precisam.

A Dusk pode permitir que o Moonlight e o Phoenix permaneçam fundamentalmente diferentes por baixo, enquanto ainda entrega para ambos a mesma resposta para a única pergunta que importa no final:

quando é que esse estado fica final?
#dusk $DUSK @Dusk