La linea che ha cambiato la mia lettura di @MidnightNetwork oggi non riguardava nascondere un utente dalla catena. Era lo standard più silenzioso nascosto all'interno del design del commitment e del nullifier: l'emittente non dovrebbe essere in grado di riconoscere la spesa successivamente.
Questo è un livello di privacy molto più difficile di quanto la maggior parte delle persone assuma casualmente.
La mia affermazione è semplice. Un permesso privato su Midnight è più debole di quanto sembri se la parte che ha emesso il diritto può ancora collegare l'emissione all'uso successivo. La privacy pubblica non è sufficiente da sola.
La ragione a livello di sistema è nella logica dei documenti riguardanti i commitment, i nullifier, la separazione dei domini e la conoscenza segreta. Midnight non sta solo cercando di fermare l'uso doppio. Sta anche cercando di fermare l'autorizzatore iniziale dal riconoscere quale permesso è stato esercitato successivamente. Questo cambia completamente il confine di fiducia. Una prova può verificare pulitamente. Il pubblico può rimanere cieco. Ma se l'emittente può ancora riconoscere il modello, allora l'app non ha realmente prodotto una forte autorizzazione privata. Ha solo spostato chi può osservare.
Ecco perché penso che i costruttori dovrebbero smettere di trattare "uso protetto" come una frase finita. In alcuni flussi di Midnight, la seria promessa di privacy non è semplicemente che gli estranei non possono vedere la spesa. È che l'emittente non può mantenere silenziosamente una traccia di riconoscimento.
La mia implicazione è brusca: se i team costruiscono permessi privati su @midnightnetwork senza proteggere l'unlinkability dal lato dell'emittente, commercializzeranno una privacy più forte di quanto il meccanismo realmente offre. $NIGHT #night