Just spent some time going through Dusk’s Phoenix again and the part that keeps feeling slightly weird is how little information a validator actually needs.
With a normal transaction, I’m used to the network seeing enough data to work out who spent what and where it went. Phoenix takes a different route. The transaction is built around shielded UTXOs and a zero-knowledge proof, so the network can verify that the spend is valid, the input hasn’t already been spent, and the value is sufficient without learning the sender, recipient or amount.
That sounds obvious after you read it twice. The interesting bit is what disappears from the validator’s job. It doesn’t need to reconstruct my financial history just to verify one state transition.
There is a cost, though. The private information doesn’t magically make computation disappear. The client has to generate the proof before the transaction reaches the network, and ZK proving can be much heavier than signing a normal transaction.
That’s probably the part I’d worry about more in practice.
A validator can stay relatively ignorant while still checking the rules, which is useful. But if generating those proofs becomes painful on ordinary hardware, privacy starts becoming a hardware requirement.
I like the architecture more once I look at it this way. The network gets to verify the rule without turning the user’s account into public infrastructure. The question I’d want a benchmark for is simple: what is the actual proving time and memory footprint for a Phoenix transaction on commodity client hardware?
#dusk $DUSK @Dusk $HEMI $ACE #BNBChain #satoshiNakamato #SaudiArabia #the
With a normal transaction, I’m used to the network seeing enough data to work out who spent what and where it went. Phoenix takes a different route. The transaction is built around shielded UTXOs and a zero-knowledge proof, so the network can verify that the spend is valid, the input hasn’t already been spent, and the value is sufficient without learning the sender, recipient or amount.
That sounds obvious after you read it twice. The interesting bit is what disappears from the validator’s job. It doesn’t need to reconstruct my financial history just to verify one state transition.
There is a cost, though. The private information doesn’t magically make computation disappear. The client has to generate the proof before the transaction reaches the network, and ZK proving can be much heavier than signing a normal transaction.
That’s probably the part I’d worry about more in practice.
A validator can stay relatively ignorant while still checking the rules, which is useful. But if generating those proofs becomes painful on ordinary hardware, privacy starts becoming a hardware requirement.
I like the architecture more once I look at it this way. The network gets to verify the rule without turning the user’s account into public infrastructure. The question I’d want a benchmark for is simple: what is the actual proving time and memory footprint for a Phoenix transaction on commodity client hardware?
#dusk $DUSK @Dusk $HEMI $ACE #BNBChain #satoshiNakamato #SaudiArabia #the