Public and private transactions usually require different systems but Dusk puts both models into the same network.

Moonlight is Dusk’s public account based transaction model. A transaction identifies the sender and recipient through their public keys while fields such as value nonce gas limit gas price and signature help the network verify and process it. The model also provides protections such as unforgeability double spending prevention non malleability and replay attack prevention.

Phoenix takes a different approach. It is based on the UTXO architecture similar to Bitcoin but adds privacy mechanisms. Instead of exposing which specific note was spent, the network tracks nullifiers to prevent double spending without publicly identifying the exact note within the Merkle tree.

There is also an important difference in verification. Phoenix transactions include a zero knowledge proof allowing the network to verify that the transaction follows the rules without relying on the same type of direct checks used by Moonlight.

So Moonlight and Phoenix aren’t competing versions of Dusk. They provide different transaction models for different visibility requirements.

@Dusk_Foundation $DUSK #dusk