Eu continuava errando uma coisa ao pensar sobre Moonlight e Phoenix: eu estava tratando a forma do estado como se ela também determinasse a finalização.
Essa suposição começou a me incomodar.
Moonlight chega em #DuskVM carregando um modelo de conta pública: Saldos, Remetente, Destinatário, Valor e Progressão do Nonce.
Phoenix é construída em torno de uma trilha completamente diferente: Notas Criptografadas, Saídas Protegidas, Anuladores e Estado Privado.
Meu primeiro instinto foi que dois sistemas tão diferentes provavelmente precisariam de dois caminhos diferentes para se tornarem finais.
Mas talvez seja aí que eu estava adicionando complexidade que na verdade não existe.
Moonlight pode permanecer com formato de conta. Phoenix pode permanecer com formato de nota. #DuskVM não precisa achatar nenhum dos dois em algum formato universal de estado só para decidir quando a execução termina.
Isso também me fez repensar #DuskDS .
Eu vinha assumindo que ele precisava criar um único estado compartilhado $DUSK por baixo dos dois modelos. Agora estou menos convencido disso.
A lógica de execução pode continuar especializada enquanto o Dusk L1 ainda fornece ao estado resultante um único limite determinístico de finalização.
E, honestamente, essa separação é mais interessante para mim do que os modelos individuais de estado.
Formas diferentes de representar o estado não necessariamente exigem respostas diferentes para a pergunta de quando aquele estado está finalmente concluído.
A questão que eu ainda estou ponderando é o quão bem essa separação se mantém à medida que Moonlight e Phoenix ficam mais complexos.
#dusk $DUSK @Dusk
Essa suposição começou a me incomodar.
Moonlight chega em #DuskVM carregando um modelo de conta pública: Saldos, Remetente, Destinatário, Valor e Progressão do Nonce.
Phoenix é construída em torno de uma trilha completamente diferente: Notas Criptografadas, Saídas Protegidas, Anuladores e Estado Privado.
Meu primeiro instinto foi que dois sistemas tão diferentes provavelmente precisariam de dois caminhos diferentes para se tornarem finais.
Mas talvez seja aí que eu estava adicionando complexidade que na verdade não existe.
Moonlight pode permanecer com formato de conta. Phoenix pode permanecer com formato de nota. #DuskVM não precisa achatar nenhum dos dois em algum formato universal de estado só para decidir quando a execução termina.
Isso também me fez repensar #DuskDS .
Eu vinha assumindo que ele precisava criar um único estado compartilhado $DUSK por baixo dos dois modelos. Agora estou menos convencido disso.
A lógica de execução pode continuar especializada enquanto o Dusk L1 ainda fornece ao estado resultante um único limite determinístico de finalização.
E, honestamente, essa separação é mais interessante para mim do que os modelos individuais de estado.
Formas diferentes de representar o estado não necessariamente exigem respostas diferentes para a pergunta de quando aquele estado está finalmente concluído.
A questão que eu ainda estou ponderando é o quão bem essa separação se mantém à medida que Moonlight e Phoenix ficam mais complexos.
#dusk $DUSK @Dusk
