Un detalle al que seguí volviendo mientras estudiaba @Dusk es lo diferente que manejan Moonlight y Phoenix la unicidad de las transacciones.

Moonlight usa nonces para la protección contra replays. Una cuenta avanza a través de una secuencia de transacciones. Así que, una vez que se consume un nonce, no se puede simplemente volver a reproducir una transacción antigua.

Es limpio y predecible. Pero hay un intercambio operativo: los monederos, los intercambios y los custodios necesitan una gestión precisa de nonces cuando se firman o transmiten múltiples transacciones.

Phoenix aborda el problema de manera distinta.

Sus notas protegidas usan nullifiers para prevenir el doble gasto. Cuando una nota se gasta, su nullifier queda registrado por la red. Un segundo intento usando esa misma nota puede rechazarse entonces sin revelar la propia nota privada.

Eso crea una distinción que me resulta útil.

Moonlight protege el orden de las transacciones.

Phoenix protege el consumo de notas privadas.

No son modelos de seguridad en competencia. Están diseñados a partir de diferentes supuestos de información.

Lo interesante es dónde se desplaza la complejidad. Moonlight necesita una coordinación fiable del estado de la cuenta, mientras que Phoenix necesita una detección fiable de notas privadas y el seguimiento de nullifiers.

A escala, ¿qué se vuelve más difícil de gestionar sin comprometer la seguridad o la privacidad?

#dusk $DUSK #Dusk #DUSK