I. Conoscenza Zero (ZK) | da Learning Bits
Londra
E se potessi dimostrare a un amico che hai più di 5 pantaloni nel tuo guardaroba, senza dirgli il numero esatto o mostrare alcuna foto? Bene, immagina un mondo in cui le persone possono dimostrare i fatti l'un l'altro senza sapere nient'altro oltre al fatto reale. Per quanto utopica, siamo in un'epoca che tende, per fortuna, a uno scenario del genere.
Il concetto che consente la situazione di cui sopra si chiama Zero-Knowledge (ZK), perché puoi condividere zero attributi su te stesso oltre a ciò che hai già dichiarato. Esempio: se vuoi acquistare del vino, puoi creare una prova a conoscenza zero (ZKP) che hai più di 18 anni. Invia questa prova all'azienda vinicola e, attraverso un po' di matematica e magia, l'azienda verifica la prova e ti vende il vino. Non dovevi condividere il tuo nome, la tua cittadinanza, nemmeno la tua data di nascita. Sembra bello, vero?
Buona lettura!
COSÌ... cosa sono gli ZKP?
Fondamentalmente, le ZKP sono un metodo mediante il quale una persona (il dimostratore) può dimostrare a un'altra persona (il verificatore) che una particolare affermazione è vera senza fornire ulteriori informazioni oltre al fatto che l'affermazione è vera. L'effettiva generazione e verifica della prova coinvolge algoritmi crittografici.
In altre parole, le ZKP sono un modo molto elegante per condividere il minor numero possibile di informazioni da A (il dimostratore) a B (il verificatore)¹.
Oppure, ancora più semplice, diverse parti possono verificare la veridicità di una tua affermazione senza che abbiano effettivamente accesso ai dati che compongono la tua affermazione.
Lo sapevi..?
Un fattore essenziale per il funzionamento delle ZKP è la presenza di un'autorità/fonte attendibile. Una fonte attendibile è una parola chiave perché, per creare le prove, hai bisogno di un posto affidabile per verificare la veridicità delle tue affermazioni.
Ad esempio , se vuoi dimostrare ai tuoi amici che hai più di 1k follower su Twitter, il passaggio successivo è creare un ZKP sul numero totale di follower del tuo account e condividerlo con i tuoi amici. I tuoi amici sapranno che il risultato è corretto perché la prova viene generata su un'informazione innegabilmente vera
- Non puoi falsificare/inventare il numero di follower su Twitter che hai,
- Le informazioni provengono da una fonte attendibile (ad es. Twitter) e non solo dalla mente di qualcuno.
Più casi d'uso
Di seguito sono riportati solo alcuni modi in cui le prove a conoscenza zero possono essere utilizzate nella vita reale:
✔️ Finanza: ING Bank³ desidera utilizzare le ZKP per consentire ai propri clienti di dimostrare determinati fatti su se stessi senza rivelare i propri dati effettivi. Ad esempio, se qualcuno vuole contrarre un prestito, può farlo dimostrando che il proprio reddito rientra in una fascia accettata dalla banca.
✔️ Votazione online: puoi votare in modo anonimo e verificare se il tuo voto è stato incluso nel conteggio finale.
✔️ Rendi Internet sicuro. Utilizzando ZKP combinato con la verifica dell'identità, gli utenti possono dimostrare di essere un essere umano unico ai siti Web che visitano, senza inviare loro alcuna informazione personale. Questo può fare molto per combattere la disinformazione, i bot nei social media (puoi prendere Twitter come esempio⁴), le campagne sponsorizzate dallo stato e altri.
✔️ Controllo delle informazioni personali . Se seguiamo l'esempio del vino sopra, immaginiamo ora che tu voglia andare in un club e c'è un limite di età - non può entrare nessuno sotto i 25 anni. Normalmente, andresti dalla guardia del corpo e gli mostreresti la tua carta d'identità che contiene più oltre alla tua età, ma anche la tua foto, anno di nascita, probabilmente il tuo indirizzo dove vivi e così via. Invece, utilizzando ZKP, puoi creare la prova che hai un documento che è tuo e che la tua età supera i 25 anni. Mostri questa prova, che può essere un codice QR, ad esempio, l'addetto alla sicurezza esegue la scansione del codice e lo schermo diventa verde se soddisfi i requisiti di età. Questo è tutto.
In poche parole, ecco alcuni altri esempi di ciò che puoi e non puoi fare con gli ZKP:
In che modo OutDID utilizza gli ZKP
L'esempio di cui sopra può riflettere la nostra soluzione come segue: utilizziamo passaporti (fonti autenticate come Twitter), che forniscono dati come data di nascita, cittadinanza, ecc. (come il numero di follower su Twitter), sulla base dei quali tu può creare prove come avere più di 18 anni, essere cittadino statunitense, ecc. (o avere più di 1.000 follower su Twitter).
In modo più concreto, la nostra applicazione utilizza ZKP per dimostrare di soddisfare i requisiti utente di un particolare progetto Web3 senza fornire ulteriori dettagli. Ad esempio, se vuoi registrarti per un airdrop, devi dimostrare di non essere un cittadino statunitense. Con OutDID, puoi creare una prova nella nostra applicazione (come quel codice QR nell'esempio con il ragazzo della sicurezza) che hai un'altra cittadinanza. Successivamente, puoi inviarlo alla dApp. Il progetto può verificare che la prova che hai inviato sia corretta e puoi ricevere l'airdrop.
Piccola sfida
Ora che sai cosa sono gli ZKP, dicci nei commenti perché non possiamo applicare questa tecnologia nell'esempio con i pantaloni dall'introduzione. :)
E non dimenticare...
Teniamoci in contatto
Una volta privato, per sempre privato. Ci stai?
Sito web | Telegramma | Linkedin | Cinguettio | Medio ❤
Risorse:
- https://link.springer.com/content/pdf/10.1007/BF02351717.pdf
- https://www.blockchain-council.org/blockchain/zero-knowledge-proof-protocol/
- https://www.ingwb.com/en/insights/distributed-ledger-technology/ing-launches-major-addition-to-blockchain-technology
- https://www.rand.org/blog/2022/09/elon-musk-may-have-a-point-about-bots-on-twitter.html
- https://www.youtube.com/watch?v=fOGdb1CTu5c
- https://ethereum.org/en/zero-knowledge-proofs/
- https://polygon.technology/blog/a-gentle-introduction-to-zero-knowledge-proofs

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































