L'altro ieri, Nocturne ha appena annunciato di aver raccolto 6 milioni di dollari e di aver ricevuto investimenti da Vitalik. Perché la chiamo una startup per Vitalik? Perché la tecnologia principale di questo progetto sono gli indirizzi privati. Il 20 gennaio di quest'anno, Vitalik ha pubblicato un post speciale sul suo blog. Per esplorare la fattibilità degli indirizzi privati, ho anche condotto uno smantellamento e un'analisi di questo articolo il giorno successivo. Puoi leggerlo per la revisione.

La prima volta che l'account Twitter di Nocturne ha pubblicato un post è stato nel maggio di quest'anno, cinque mesi dopo che Vitalik aveva discusso degli indirizzi privati, e poi altri cinque mesi dopo aver ricevuto l'investimento di Vitalik, quindi è stato un caso piuttosto riuscito di avviare un'attività per Vitalik.

Parliamo separatamente degli indirizzi privati, cosa fa esattamente, come implementarlo e qual è l'effetto.

Il nucleo di un indirizzo sulla privacy è raggiungere l'anonimato nel processo di trasferimento dei token, che è l'effetto ottenuto prima del tornado cash. Il trasferimento anonimo è un argomento eterno in Crypto ed è anche una richiesta molto rigida. Spiegherò la privacy in modo semplice e dettagliato nel modo più possibile. Come viene implementato l'indirizzo e in cosa differisce dal tornado cash.

Ma prima di tutto deve essere chiaro che gli indirizzi sulla privacy non sono sicuramente un concetto nuovo. Esistono da molto tempo e sono stati prodotti molti progetti e protocolli derivati. Monero ha in realtà lo stesso principio, di cui Vitalik è un importante promotore la sua teorizzazione nell’ecosistema Ethereum. Nel forum dei ricercatori di Ethereum del 22 agosto, Nerolation ha chiesto se ZK ed ERC721 possono essere combinati per inviare e ricevere NFT in modo anonimo. Vitalik ha risposto che secondo te è troppo problematico e forse può essere implementato in un modo più semplice e chiamarlo temporaneamente ERC721S

Quindi Nerolation e Vitalik hanno proposto EIP5564, promuovendo completamente la standardizzazione.

Ma in realtà c'era già un progetto per produrre indirizzi sulla privacy prima, almeno in termini di maturità, ha raggiunto uno stato utilizzabile, ma non so perché non ha ottenuto il favore di Vitalik... Invece ci sono voluti un anno, Nocturne, arrivato in ritardo, fu favorito

In poche parole, il principio di un indirizzo privato è quello di generare un nuovo indirizzo una tantum per ogni transazione. Il pagatore trasferisce il denaro al nuovo indirizzo e il nuovo indirizzo può essere controllato solo dal beneficiario ed è richiesta un'operazione manuale. È equivalente a che A generi un nuovo indirizzo e quindi comunichi a B la chiave privata dell'indirizzo. A gli trasferisce 10U. Poiché solo B conosce la chiave privata di questo indirizzo, B può controllarlo e inserisci 10U nello scambio, quindi dalla catena pubblica possiamo solo vedere che A ha trasferito 10U a un indirizzo vuoto, e quindi questo indirizzo ha trasferito 10U allo scambio, ma nessuno sa chi ha trasferito specificamente 10U allo scambio.

Tuttavia, il processo di cui sopra si basa su molte operazioni manuali e comporta il trasferimento di chiavi private. Non è solo problematico ma anche rischioso. Esiste un modo per commercializzare questo processo? L'idea è come realizzare automaticamente "A genera un indirizzo "processo che solo B può controllare.

Questo è il compito che devono svolgere gli indirizzi sulla privacy e anche qui vengono utilizzate le idee di ZK.

Tornando all'esempio precedente, ad esempio, A vuole trasferire 10U a B. A conosce già l'indirizzo pubblico di B, ma A non vuole che altri conoscano il collegamento della transazione tra A e B, quindi A genera una coppia di chiavi private temporanee e la chiave pubblica e combina la chiave privata temporanea con l'indirizzo pubblico di B per generare un indirizzo privato, quindi A trasferisce 10U all'indirizzo privato.

A giudicare dalla catena, A ha trasferito 10U a un nuovo indirizzo a questo punto. Innanzitutto, come fa B a sapere che questo nuovo indirizzo privato è stato creato da A per B? Forse A ha anche inviato 10U ad altre persone come C, D, E, ecc. In secondo luogo, anche se B sa che l'indirizzo privato è stato creato da A per lui, come può B ottenere le 10U di questo nuovo indirizzo o come controllare il nuovo indirizzo?

Ho appena detto che quando A lo utilizza per generare un indirizzo privato, genererà prima una coppia di chiave privata temporanea e chiave pubblica. La chiave privata temporanea + indirizzo pubblico B = indirizzo privato, e anche la chiave privata B + chiave pubblica temporanea uguale all'indirizzo privato, quindi A è presente Quando si invia 10U all'indirizzo privato, anche la chiave pubblica temporanea verrà pubblicata sulla catena. B effettuerà la scansione del registro delle chiavi pubbliche. Per ogni chiave pubblica temporanea appena scoperta, B combinerà la sua chiave privata per generare un indirizzo privato. Se contiene denaro, significa che A glielo ha dato.

Quindi la chiave privata di B può essere utilizzata per calcolare la chiave privata dell'indirizzo privato, e la chiave privata dell'indirizzo privato può essere utilizzata per controllare l'indirizzo privato per la successiva transazione di trasferimento.

L'effetto dal punto di vista della catena è che A ha trasferito 10U a un nuovo indirizzo e quindi 10U sono stati trasferiti all'exchange. Tuttavia, chi ha manipolato il nuovo indirizzo per trasferirlo non si riflette sulla catena. Il nuovo indirizzo è come un burattino sulle corde. Controllato da un paio di mani da dietro.

Quanto sopra è il principio degli indirizzi privati. Finora, la rete di prova di Nocturne e la rete principale non sono state online e non esiste una tabella di marcia, quindi resta da vedere se Nocturne può ottenere l'effetto del tornado cash.