#dusk $DUSK
@Dusk_Foundation i used to assume a privacy chain meant every transaction was shielded by default, no exceptions.
then i read what Moonlight actually does on Dusk.
Dusk runs two native transaction models on the same settlement layer. Moonlight is account-based, public, sender and recipient and amount all visible. Phoenix is note-based, shielded, funds sitting as encrypted notes instead of a running balance, closer to spendable units than an account total. #dusk
thats the "by default" that changed how i read this, and i went back to reread that section twice just to be sure.
a single transfer picks one model or the other, never a blend. send DUSK through Moonlight and its fully transparent, built for flows that need to stay observable, some treasury or reporting scenario is the kind of example the docs point to. send it through Phoenix and the amount, the sender, and which specific notes moved all stay hidden, proven correct through zero-knowledge proofs instead of shown outright, though a viewing key can reveal that same hidden data to whoever the staker chooses to show it to. $DUSK
one Transfer Contract handles both, routing each payload to the right verification logic, keeping global state consistent either way.
so privacy here isnt binary at the protocol level either, its a choice per transfer, and even the shielded choice has a documented way to become visible again on request.
that choice sits with the sender, not the protocol.
does giving users a public option undercut the privacy pitch, or is optional, revocable privacy actually the more honest design for regulated markets?
is optional privacy still privacy?
@Dusk_Foundation i used to assume a privacy chain meant every transaction was shielded by default, no exceptions.
then i read what Moonlight actually does on Dusk.
Dusk runs two native transaction models on the same settlement layer. Moonlight is account-based, public, sender and recipient and amount all visible. Phoenix is note-based, shielded, funds sitting as encrypted notes instead of a running balance, closer to spendable units than an account total. #dusk
thats the "by default" that changed how i read this, and i went back to reread that section twice just to be sure.
a single transfer picks one model or the other, never a blend. send DUSK through Moonlight and its fully transparent, built for flows that need to stay observable, some treasury or reporting scenario is the kind of example the docs point to. send it through Phoenix and the amount, the sender, and which specific notes moved all stay hidden, proven correct through zero-knowledge proofs instead of shown outright, though a viewing key can reveal that same hidden data to whoever the staker chooses to show it to. $DUSK
one Transfer Contract handles both, routing each payload to the right verification logic, keeping global state consistent either way.
so privacy here isnt binary at the protocol level either, its a choice per transfer, and even the shielded choice has a documented way to become visible again on request.
that choice sits with the sender, not the protocol.
does giving users a public option undercut the privacy pitch, or is optional, revocable privacy actually the more honest design for regulated markets?
is optional privacy still privacy?