Questo articolo copre i concetti fondamentali dell'identità decentralizzata, l'evoluzione dell'identità su Internet, una panoramica livello per livello dello stack dell'infrastruttura di identità Web3 e i relativi sviluppi nelle primitive della privacy. La prova della personalità, la conformità e i livelli di applicazione saranno trattati negli articoli futuri.

L'identità è un attributo emergente costituito da dati associati a una persona, entità o oggetto. Nel mondo fisico, conserviamo questi dati nel nostro cervello sotto forma di reputazioni astratte e associazioni psicologiche. Nel mondo digitale l’identità è formalizzata in due componenti:

  • Identificatore: un insieme univoco di caratteri o numeri che identifica un soggetto (ad esempio, numero di passaporto, ID Twitter, ID studente).

  • Dati relativi all'argomento (ad esempio cronologia dei viaggi, tweet e follower, risultati accademici).

Creare un livello di identità per Internet è difficile perché manca il consenso su cosa dovrebbe essere e come dovrebbe funzionare. L’identità digitale è contestuale e sperimentiamo Internet attraverso una varietà di contenuti che esistono almeno in molti contesti diversi. Oggi, gran parte della nostra identità digitale è frammentata e sotto il controllo di una manciata di stakeholder il cui interesse è impedirci di fuoriuscire dal loro ambiente e spostarci altrove.

  • Le aziende considerano le relazioni con i clienti come risorse critiche e non sono disposte a rinunciare al controllo di queste relazioni. Finora non esiste alcun metodo che possa servire da incentivo a farlo. Anche un’identità temporanea una tantum è migliore di una struttura su cui non hanno alcun controllo.

  • Settori specifici come quello finanziario hanno esigenze uniche (come la conformità) quando si tratta di mantenere relazioni digitali con clienti e fornitori.

  • I governi hanno esigenze distinte da altri tipi di organizzazioni. Ad esempio, la giurisdizione su patenti e passaporti.

Questo modello crea un’asimmetria di potere tra gli individui e le parti che gestiscono le nostre identità e i nostri dati. Limita la nostra autonomia, impedendoci di dare il consenso, di divulgare selettivamente informazioni su noi stessi e di trasferire le nostre identità attraverso contesti per esperienze coerenti online e offline.

Prima dell’ascesa di Crypto e web3, l’identità decentralizzata era uno sforzo collettivo. L’obiettivo generale è che gli individui riconquistino l’autonomia sulla propria identità senza fare affidamento su un unico custode centralizzato. L’uso improprio dei dati dei clienti e l’erosione della fiducia nelle grandi aziende hanno reso la decentralizzazione centrale nella prossima era dell’identità Internet.

1 Il concetto centrale di identità decentralizzata

Gli identificatori decentralizzati (DID) e le prove sono i principali elementi costitutivi dell'identità decentralizzata. I DID vengono pubblicati e archiviati in un registro dei dati verificabili (VDR) come uno "spazio dei nomi" autonomo che non è gestito centralmente. Oltre alla blockchain, anche l’infrastruttura di storage decentralizzata e le reti P2P possono fungere da VDR.

Qui, le entità (individui, comunità, organizzazioni) possono utilizzare l'infrastruttura a chiave pubblica (PKI) decentralizzata per autenticare, dimostrare la proprietà e gestire il proprio DID. A differenza della tradizionale PKI di rete, non si basa su un'autorità di certificazione (CA) centralizzata come radice Fiducia.

I dati sulle identità sono scritti come prove, cioè la "rivendicazione" di un'identità nei confronti di un'altra (o di se stessi). La verifica delle affermazioni viene effettuata tramite firme crittografiche implementate dalla PKI.

Gli identificatori decentralizzati hanno 4 proprietà principali:

  • Decentralizzazione: creazione senza dipendenza da istituzioni centralizzate. Le entità possono essere create come preferiscono, mantenendo separate le identità, i ruoli e le interazioni desiderati in contesti diversi.

  • Persistenza: una volta creato, viene assegnato in modo permanente a un'entità. (Sebbene alcuni DID siano progettati per identità effimere).

  • Analizzabile: può essere utilizzato per rivelare informazioni aggiuntive sull'entità.

  • Verificabile: le entità possono dimostrare la proprietà di un DID o rivendicazioni su di esso (credenziali verificabili) senza fare affidamento su terzi, grazie a firme e attestazioni crittografiche.

Queste proprietà distinguono i DID da altri identificatori come nomi utente (non verificabili), passaporti (non decentralizzabili) e indirizzi blockchain (non persistenti, risolvibilità limitata).

Il World Wide Web Consortium (W3C) è una comunità internazionale di organizzazioni, personale e pubblico che lavorano insieme per sviluppare standard web. Le specifiche DID del W3C definiscono 4 parti principali:

  • Scenario: il prefisso "did" indica ad altri sistemi che sta interagendo con un DID anziché con un altro tipo di identificatore, come un URL, un indirizzo e-mail o un codice a barre del prodotto.

  • Metodo DID: specifica ad altri sistemi come interpretare l'identificatore. Esistono oltre 100 metodi DID elencati sul sito web del W3 C, spesso associati alla propria VDR e con diversi meccanismi per la creazione, l'analisi, l'aggiornamento e la disattivazione degli identificatori.

  • Identificatore univoco: un identificatore univoco specifico per un metodo DID. Ad esempio, un indirizzo su una blockchain specifica.

  • File DID: le 3 sezioni precedenti vengono analizzate in un file DID, che contiene il modo in cui l'entità può autenticarsi, eventuali proprietà/attestazioni sull'entità e puntatori alla posizione di dati aggiuntivi sull'entità (l'"endpoint del servizio").

2 Impatto delle criptovalute

Sebbene l’infrastruttura a chiave pubblica (PKI) esista da molto tempo, Crypto ne ha accelerato l’adozione attraverso il meccanismo di incentivazione della rete di token. Ciò che una volta veniva utilizzato principalmente dagli esperti di tecnologia focalizzati sulla privacy, ora è un prerequisito per partecipare alla nuova economia. Gli utenti devono creare portafogli per custodire autonomamente le risorse e interagire con le applicazioni web3. Spinti dal boom delle ICO, dalla DeFi Summer, dalla NFT mania e dalla community di tokenizzazione, gli utenti hanno più chiavi in ​​mano che mai. Quello che segue è un vivace ecosistema di prodotti e servizi che rendono la gestione delle chiavi più semplice e sicura. Le criptovalute sono state il cavallo di Troia perfetto per l’infrastruttura e l’adozione dell’identità decentralizzata.

Cominciamo con i portafogli. Sebbene i portafogli siano ancora pensati principalmente nel contesto della gestione patrimoniale in senso finanziario, la tokenizzazione e la storia della catena ci hanno permesso di rappresentare i nostri interessi (raccolte NFT), lavoro (Kudos, 101) e opinioni (voto sulla governance). Perdere le tue chiavi private sta diventando sempre più come perdere il tuo passaporto o il tuo account sui social media. Le criptovalute offuscano il confine tra ciò che possediamo e chi siamo.

Tuttavia, le nostre attività e partecipazioni on-chain forniscono una visione limitata di chi siamo (e non tutelano la privacy). La blockchain è solo uno strato dello stack di identità decentralizzato. Anche altri stack aiutano a risolvere problemi importanti, come:

  • Come ci identifichiamo e autentichiamo all’interno delle reti e degli ecosistemi?

  • Come dimostriamo le nostre qualità (reputazione, unicità, conformità) mantenendo la privacy?

  • Come concediamo, gestiamo e revochiamo l'accesso ai nostri dati?

  • In un mondo in cui controlliamo le nostre identità e i nostri dati, come interagiamo con le applicazioni?

Le soluzioni a questi problemi avranno un profondo impatto su come apparirà Internet per le generazioni a venire.

Le sezioni seguenti esaminano lo stack di identità Web3 livello per livello. Ovvero registrazione dei dati verificabili, archiviazione decentralizzata, mutabilità e componibilità dei dati, wallet, autenticazione, autorizzazione e attestazione.

3 Stack di identità Web3

Blockchain come registro di dati verificabili

La natura distribuita e immutabile della blockchain la rende adatta come registro di dati verificabili su cui emettere DID. Infatti diverse blockchain pubbliche dispongono dei metodi DID di W3 C, come ad esempio:

  • In Ethereum, did:ethr:public key rappresenta l'identità dell'account Ethereum.

  • Cosmos, did:cosmos:chainspace:namespace:unique-id rappresenta risorse compatibili tra le catene Cosmos.

  • Bitcoin, dove did:btcr: btcr-identifier rappresenta un ID di transazione codificato TxRef che fa riferimento alla posizione della transazione nella blockchain Bitcoin basata su UTXO.

Degno di nota è did:pkh:address – un approccio DID generativo indipendente dal registro progettato per consentire l’interoperabilità nelle reti blockchain. Secondo lo standard CAIP-10, si tratta di un ID account, utilizzato per l'espressione di coppie di chiavi incrociate.

Fractal è un protocollo di fornitura e verifica dell'identità progettato per applicazioni che richiedono livelli KYC unici e variabili per gli utenti. Al termine dei controlli di validità e/o KYC, il DID Fractal viene pubblicato sull'indirizzo Ethereum corrispondente e aggiunto all'elenco corrispondente. La registrazione DID di Fractal è un contratto intelligente su Ethereum, in base al quale le parti della transazione possono interrogare il DID di Fractal e il suo livello di verifica.

Kilt, Dock e Sovrin sono blockchain specifiche per l'applicazione per l'identità auto-sovrana. Al momento della stesura di questo documento, vengono utilizzati principalmente dalle aziende per rilasciare identità e credenziali agli utenti finali. Per partecipare alla rete, i nodi devono mettere in staking token nativi per elaborare transazioni come l'emissione di DID/credenziali, definire schemi di credenziali ed eseguire aggiornamenti di revoca.

Archiviazione decentralizzata dei dati

Sebbene le blockchain generiche possano anche servire come fonte di dati utente immutabili, come la proprietà delle risorse e la cronologia delle transazioni (come i tracker di portafoglio e le applicazioni "punteggio DeFi"), potrebbero non essere adatte per archiviare la maggior parte dei dati sugli utenti, perché scrivere e aggiornare regolarmente grandi quantità di informazioni è costoso dal punto di vista operativo e compromette la privacy perché i dati sono visibili per impostazione predefinita.

Detto questo, esistono alcune blockchain specifiche per l’applicazione, come Arweave*, progettate per l’archiviazione permanente. Arweave paga ai minatori premi per blocchi e commissioni di transazione in cambio di copie delle informazioni archiviate sulla rete. I minatori devono fornire una "prova di accesso" per poter aggiungere nuovi blocchi. Una parte delle commissioni viene anche versata in un fondo di dotazione permanente che verrà pagato ai minatori in futuro quando i costi di stoccaggio non potranno essere coperti dall’inflazione e dalle commissioni.

Ethereum e Arweave sono esempi di approcci basati su blockchain alla persistenza dei dati. Su Ethereum, ogni nodo completo deve archiviare l'intera catena. Su Arweave, tutti i dati necessari per elaborare nuovi blocchi e nuove transazioni vengono registrati nello stato di ogni singolo blocco, consentendo ai nuovi partecipanti di unirsi alla rete semplicemente scaricando il blocco corrente dai loro peer fidati.

La persistenza basata sul contratto significa che i dati non possono essere copiati e archiviati in modo permanente da ciascun nodo. Invece, i dati vengono persistenti attraverso contratti con più nodi, che accettano di conservare un blocco di dati per un certo periodo di tempo e devono rinnovarsi ogni volta che scadono per mantenere la persistenza dei dati.

IPFS consente agli utenti di archiviare e trasmettere dati verificabili e indirizzati al contenuto all'interno di una rete peer-to-peer. Gli utenti possono salvare i dati che desiderano sui propri nodi IPFS, sfruttare gruppi di nodi dedicati o utilizzare servizi "pinnin" di terze parti come Pinata, Infura o web3.storage. Finché esiste un nodo che memorizza i dati, i dati esistono nella rete e sono disponibili per altri nodi quando li richiedono. Oltre a IPFS ci sono livelli criptoeconomici come Filecoin e Crust Network, progettati per incentivare l’archiviazione dei dati per la rete creando un mercato distribuito per la persistenza dei dati a lungo termine.

Per le informazioni di identificazione personale (PII), l'IPFS autorizzato può essere utilizzato per rispettare il diritto all'oblio GDPR/CCPA in quanto consente agli utenti di eliminare i propri dati archiviati sulla rete. Il portafoglio di identità Nuggets adotta questo approccio e lo decentralizza ulteriormente consentendo a commercianti e partner di gestire nodi dedicati.

Altre soluzioni di archiviazione decentralizzata basate su contratto includono Sia e Storj, che crittografano e dividono singoli file su più nodi della rete. Entrambi utilizzano la codifica di cancellazione (che richiede solo un sottoinsieme di nodi di archiviazione per servire i file) per garantire la disponibilità dei dati anche se alcuni nodi vanno offline. Hanno anche una struttura di incentivi integrata e utilizzano token nativi per l'archiviazione.

Modifiche dei dati e componibilità

Universal Blockchain, Arweave e IPFS garantiscono tutti l'immutabilità, una proprietà utile per dati come grafica NFT statica e record permanenti. Tuttavia, le nostre interazioni con la maggior parte delle applicazioni oggi aggiornano costantemente i nostri dati. Il protocollo Web3 progettato per i dati volatili fa questo, sfruttando il livello di archiviazione decentralizzato sottostante.

Ceramic è un protocollo per la mutabilità e componibilità dei dati decentralizzata che funziona trasformando file immutabili in reti di archiviazione dati persistenti come IPFS o Arweave in strutture di dati dinamiche. Su Ceramic, questi "flussi di dati" sono come un registro mobile. I dati privati ​​possono essere archiviati off-chain, con il relativo schema indicizzato su Ceramic, collegato a un archivio dati DID che porta all'archiviazione privata esterna.

Quando gli utenti aggiornano il proprio profilo in un'applicazione basata su Ceramic, il protocollo convalida tali aggiornamenti come un flusso, trasformandolo in un nuovo stato mantenendo traccia delle modifiche di stato precedenti. Ogni aggiornamento su Ceramic è autenticato da un DID che può essere mappato su più indirizzi, aprendo la strada agli utenti per aggiornare i propri dati senza un server.

Oggi, le entità Web2 possiedono l'interfaccia utente e il backend, dove archiviano e controllano i dati dell'utente. Google e Facebook utilizzano questi dati per personalizzare algoritmicamente la nostra esperienza sulle loro piattaforme, producendo ulteriormente i dati che raccolgono. Le nuove applicazioni devono essere create da zero e non possono fornire un’esperienza personalizzata fin dall’inizio, rendendo il mercato meno competitivo.

Web3 democratizza i dati, livella il campo di gioco per nuovi prodotti e servizi e crea un ambiente aperto per la sperimentazione e mercati competitivi per le applicazioni. In un mondo in cui gli utenti possono trasferire dati da una piattaforma all'altra, gli sviluppatori di app non hanno bisogno di iniziare da zero: possono personalizzare immediatamente le loro esperienze. Gli utenti possono accedere con il proprio portafoglio e autorizzare l'applicazione a leggere/scrivere su un "database" di cui hanno il pieno controllo.

ComposeDB on Ceramic è un database a grafo decentralizzato che consente agli sviluppatori di applicazioni di scoprire, creare e riutilizzare modelli di dati componibili utilizzando GraphQL. I nodi nel diagramma sono account (DID) o file (flussi di dati). Gli spigoli nel grafico rappresentano le relazioni tra i nodi.

Un DID rappresenta qualsiasi entità che può scrivere dati nel grafico, ad esempio un utente finale, un'organizzazione, un'applicazione o qualsiasi tipo di servizio di autenticazione.

I modelli sono flussi Ceramic che archiviano metadati sulla struttura dei dati del documento, sulle regole di convalida, sulle relazioni e sulle informazioni di rilevamento. Gli sviluppatori possono creare, combinare e rimescolare i modelli in combinazioni di dati che fungono da database per le loro applicazioni. Ciò sostituisce la tabella utente tradizionale con un UID centralizzato e dati correlati. Le applicazioni possono essere create su un set di dati comune controllato dagli utenti, anziché gestire le proprie tabelle indipendenti.

Poiché le applicazioni possono definire liberamente i modelli che utilizzeranno in contesti specifici, il mercato della curation diventa importante perché fornisce un segnale per i modelli di dati più utili (schema definito per grafici sociali, post di blog, ecc.). Con un mercato per questi modelli di dati, le applicazioni possono segnalare questi modelli per renderli più facili da utilizzare. Ciò stimolerà i set di dati pubblici a produrre analisi e infografiche migliori in modo che i prodotti possano innovarsi ulteriormente su questa base.

Tableland è un'infrastruttura per dati relazionali strutturati e mutabili in cui ogni tabella è coniata come NFT su una catena compatibile con EVM. Il proprietario dell'NFT può impostare la logica di controllo dell'accesso per la tabella, consentendo a una terza parte di eseguire aggiornamenti sul database se tale parte dispone delle autorizzazioni di scrittura appropriate. Tableland gestisce una rete di validatori fuori catena che gestiscono la creazione di tabelle e le successive modifiche.

Gli aggiornamenti on-chain e off-chain sono gestiti da contratti intelligenti, che puntano alla rete Tableland utilizzando baseURI e tokenURI. Con Tableland, i metadati NFT possono essere modificati (utilizzando il controllo degli accessi), interrogati (utilizzando SQL) e combinati (con altre tabelle su Tableland).

Gli standard dei contratti intelligenti come ERC-20 e ERC-721 forniscono ai dapps un linguaggio condiviso su come creiamo e trasferiamo i token, mentre gli standard dei modelli di dati forniscono ai dapps una comprensione condivisa di profili, reputazioni, proposte DAO e grafici sociali. Questi dati possono essere riutilizzati da più applicazioni attraverso una registrazione aperta che chiunque può inviare.

Il disaccoppiamento dell'applicazione dal livello dati consente agli utenti di trasferire i propri contenuti, il grafico sociale e la reputazione tra le piattaforme. Le applicazioni possono accedere allo stesso database ed essere utilizzate nel loro contesto, consentendo agli utenti di acquisire una reputazione componibile in contesti diversi.

portafoglio

In generale, un portafoglio comprende le interfacce e l’infrastruttura sottostante per la gestione delle chiavi, la comunicazione (scambio di dati tra detentori, emittenti e validatori) e la presentazione e verifica delle richieste.

Vale la pena distinguere tra portafogli crittografici (MetaMask, Ledger, Coinbase Wallet, ecc.) e portafogli di identità. I portafogli crittografici memorizzano chiavi crittografiche uniche per la rete blockchain e sono progettati per inviare/ricevere monete e firmare transazioni. I portafogli di identità memorizzano le identità e consentono agli utenti di creare e fornire attestazioni in modo che possano fornire dati di identità attraverso applicazioni e servizi.

Esempi di portafogli di identità includono ONTO, Nuggets e Polygon ID Wallet. Alcuni portafogli di identità, come Fractal, includono controlli di validità e KYC come parte del processo di onboarding, in modo che gli utenti possano avere un diritto da inviare alle applicazioni che presentano tali requisiti. Questo è molto meno comune nei portafogli crittografici. Inoltre, è più probabile che i portafogli di identità supportino DID approvati dal W3C, credenziali verificabili e implementazioni di DIDComm, nonché casi d'uso al di fuori di web3.

WalletConnect è un protocollo di comunicazione che collega portafogli a portafogli e dapp. Essendo un protocollo minimalista e imparziale che già serve milioni di utenti crittografici, WalletConnect potrebbe rivelarsi una potente alternativa a DIDComm nell'accelerare l'adozione di un'infrastruttura di identità auto-sovrana. A differenza di DIDComm, che richiede a un fornitore di servizi di fornire un'infrastruttura di mediazione ospitata, WalletConnect archivia le informazioni in una "casella di posta cloud" sulla rete di inoltro, che viene inviata al portafoglio quando il portafoglio torna online.

Certificazione

L'autenticazione è la conferma dell'identità di un utente in base a uno o più fattori di autenticazione. I fattori di autenticazione possono essere qualcosa che l'utente possiede (firma digitale, ID, token di sicurezza), qualcosa che conosce (password, PIN, risposta segreta) o biometrico (impronta digitale, voce, scansione della retina).

In un paradigma di identità decentralizzata, gli utenti possono autenticarsi utilizzando i propri portafogli. Dietro le quinte, il portafoglio utilizza le chiavi memorizzate per produrre firme digitali che servono come "prova" che il titolare possiede le chiavi private associate all'account. Poiché i portafogli crittografici possono generare firme, le applicazioni che offrono l'accesso web3 possono consentire agli utenti di autenticarsi con Metamask o WalletConnect.

Per anni, gli utenti crypto hanno interagito con le dapps tramite portafogli connessi. Il dapp non ha memoria degli utenti connessi e li tratta come una tabula rasa ogni volta che visitano un sito web.

Oggi gli utenti hanno modelli di interazione più profondi con le dapps. L’identità decentralizzata diventa utile in questo caso perché consente alle applicazioni di acquisire più contesto attorno all’utente, consentendo alle persone di mantenere il controllo dei propri dati offrendo al contempo un’esperienza personalizzata.

Per interazioni contestuali più ricche, come il caricamento delle preferenze dell'utente, dei profili o dei messaggi di chat privati, l'applicazione deve prima assicurarsi di parlare con l'effettivo detentore delle chiavi dietro l'account. Sebbene i portafogli connessi non offrano questa garanzia, gli standard di certificazione lo fanno. L'autenticazione stabilisce una sessione con l'utente e consente alle applicazioni di leggere e scrivere in modo sicuro i propri dati.

Sign-In with Ethereum (SIWE) è uno standard di autenticazione introdotto da Spruce, ENS e Ethereum Foundation. SIWE standardizza un formato di messaggio (simile a jwt) per consentire agli utenti di utilizzare un servizio di accesso all'account basato su blockchain. Sign-In with X (CAIP-122) si basa su queste basi, rendendo SIWE un'implementazione SIWx incentrata su Ethereum, generalizzando lo standard per operare su blockchain.

Per gli individui, ciò significa potersi registrare o accedere con il proprio portafoglio web3 senza dover creare un nome utente e una password, con un’esperienza utente “solo pochi clic” che imita l’accesso social mantenendo il controllo sulla propria identità online. Le applicazioni possono utilizzarlo come strategia di marketing per rivolgersi al pubblico nativo di Web3 e soddisfare le esigenze degli utenti.

A medio termine, la possibilità di accedere a dapps e ad altri servizi web2 utilizzando un portafoglio crittografico diventerà un miglioramento dell’esperienza utente nativo di web3. Tuttavia, ciò esporrà gli utenti a problemi di correlazione e tracciamento che diventano molto dannosi in web2. L'autenticazione tramite Peer DID o identificatori autocertificati può fungere da soluzione alternativa.

A differenza dei DID "normali" descritti sopra, i DID Peer sono progettati per l'uso tra 2 o N soggetti conosciuti. Possono essere utilizzati come identificatore univoco per ciascun servizio e/o interazione. L'indirizzo del portafoglio crittografato in questa identità digitale può essere archiviato presso la VC come prova di verifica per ogni interazione del commerciante o del servizio.

Autorizzazione e controllo degli accessi

L'autenticazione conferma l'identità di un utente, mentre l'autorizzazione determina a quali risorse un'entità dovrebbe essere in grado di accedere e cosa gli è consentito fare con tali risorse. Questi due processi sono indipendenti, ma spesso vanno di pari passo nel processo di esperienza dell’utente. Dopo aver effettuato l'accesso ad un servizio di terze parti utilizzando il social login, all'utente potrebbero essere presentate alcune richieste di autorizzazione, come mostrato nella figura seguente:

Nel modello di identità federata, autorizzi le applicazioni di terze parti a visualizzare o aggiornare i tuoi dati archiviati presso il provider di identità (come Google) e loro mantengono un elenco e le relative autorizzazioni che hai autorizzato per queste applicazioni. Anche l'infrastruttura e gli standard di autorizzazione Web3 aiutano a raggiungere questo obiettivo, tranne per il fatto che si dispone di dati auto-sovrani e si può garantire a ogni terza parte il diritto di decrittografare/leggere/aggiornare i dati senza la necessità di un intermediario centralizzato.

Con la crescita della comunità di tokenizzazione, sono cresciuti anche i prodotti di token-gating web3 come Collab.Land, Guild e Tokenproof. Un utilizzo principale di questi strumenti è il controllo dell'accesso per i canali Discord riservati ai soli membri, con un accesso più granulare basato sul ruolo e sulla reputazione. Invece di assegnare manualmente l'accesso, le comunità possono concedere l'accesso in modo programmatico in base al possesso di token, all'attività sulla catena o alla verifica sociale.

Lit è un protocollo decentralizzato di gestione delle chiavi e controllo degli accessi che utilizza la tecnologia MPC per distribuire "condivisioni" di chiavi private tra i nodi della rete Lit. Una coppia di chiavi pubblica/privata è rappresentata da un NFT PKP (Programmable Key Pair), il cui proprietario è l'unico controllore della coppia di chiavi. Quando vengono soddisfatte condizioni definite arbitrariamente, i proprietari PKP possono attivare la rete per aggregare le condivisioni di chiavi per decrittografare file o firmare messaggi per loro conto.

Nel contesto del controllo degli accessi, Lit consente agli utenti di definire condizioni on-chain che garantiscono l'accesso alle risorse off-chain. Ad esempio, un DAO potrebbe caricare un file su Arweave o AWS, crittografarlo con Lit e definire una serie di condizioni (come la proprietà NFT). I portafogli qualificati firmano e trasmettono un messaggio ai nodi del protocollo, che controllano la blockchain per garantire che il firmatario sia idoneo e, in tal caso, aggregano le condivisioni di chiave affinché il firmatario possa decrittografare il file. Questa stessa infrastruttura può essere utilizzata anche per sbloccare esperienze web2 come sconti Shopify, stanze Zoom bloccate e spazi Gathertown, streaming live e accesso a Google Drive.

Keplero organizza i dati attorno a database controllati dagli utenti ("Orbite"), che rappresentano un elenco designato di host per i dati e, come contratto intelligente, solo le loro chiavi possono controllarli. Questi database possono essere gestiti da parti fidate, meccanismi di consenso tra host, proprietari di risorse e validità delle autorizzazioni. Chi utilizza SIWE può usufruire fin da subito di un database privato dove archiviare le proprie preferenze, certificati digitali e file privati. Con il supporto "porta il tuo spazio di archiviazione" per più backend di archiviazione, gli utenti possono eseguire l'hosting autonomo o utilizzare una versione gestita.

Alcuni esempi di come le applicazioni possono utilizzare combinazioni degli elementi costitutivi precedentemente menzionati:

  • Orbis è un'applicazione di social network ("web3 Twitter/Discord") che utilizza Ceramic per l'archiviazione dei dati e gli aggiornamenti. I messaggi privati ​​vengono prima crittografati con Lit prima di essere archiviati.

  • Utilizza Lit come sistema di crittografia decentralizzato per delegare chi può decrittografare i tuoi dati Tableland.

  • Keplero può utilizzare i documenti ceramici come faro da indirizzare verso negozi privati.

  • Crea Lit PKP che consentano alle applicazioni di "possedere" un flusso Ceramic e concedono a Lit Actions (codice su IPFS) la possibilità di firmare e aggiornare il database se vengono soddisfatte condizioni arbitrarie.

CACAO è uno standard per esprimere funzionalità di oggetti indipendenti dalla catena (OCAP), creato utilizzando Sign-in-With X. Definisce un metodo per registrare i risultati delle operazioni di firma SIWx come Object Capabilities (OCAP) basate su IPLD, creando non solo accettazioni di eventi autenticati, ma anche ricevute di autorizzazione componibili e riproducibili per autorizzazioni verificabili.

I metodi di autorizzazione consentono agli utenti di concedere alle applicazioni la capacità granulare, ben mirata e verificabile di visualizzare/aggiornare i propri dati. Inoltre, può essere basato sulla sessione in modo che non debbano firmare il messaggio a ogni aggiornamento, ma abbiano invece interazioni avanzate sull'applicazione e firmino una volta alla fine della sessione.

Certificati e credenziali

Qui raggiungiamo il vertice dello stack dell'infrastruttura di identità decentralizzata, come mostrato nella figura.

Alcuni termini:

  • L'attestazione si riferisce all'attestazione che una dichiarazione e una firma sono valide e nasce dalla necessità di una verifica indipendente degli eventi registrati.

  • Un voucher è qualsiasi documento che dettaglia le informazioni su un'entità, scritto e firmato da un'altra entità o da se stessi. Le credenziali sono a prova di manomissione e verificabili crittograficamente e possono essere archiviate in un portafoglio.

Le credenziali verificabili (VC) sono il modello di dati standard e il formato di rappresentazione per le credenziali digitali crittografabili come definito dalla specifica delle credenziali verificabili del W3C:

  • L'emittente è la parte che ha rilasciato la credenziale (come un'università)

  • Il titolare è titolare della credenziale (es. studente)

  • Il verificatore verifica il certificato (come un potenziale datore di lavoro)

  • La presentazione verificabile avviene quando gli utenti condividono i propri dati con una terza parte che può verificare che la credenziale sia stata effettivamente firmata dall'emittente

Si tenga presente che qui "emittente", "titolare" e "verificatore" sono relativi. Ognuno ha il proprio DID e le credenziali che raccoglie.

Le credenziali sono la pietra angolare della reputazione e la reputazione è un fenomeno sociale che cambia con il mutare delle circostanze. Una o più credenziali possono essere utilizzate come proxy per le qualifiche, le capacità o l'autorità di un'entità. Chiunque può dire a se stesso di essersi laureato con lode in un'università prestigiosa, ma questo non significa niente per nessun altro. I certificati posseduti dalle università sono considerati legittimi o prestigiosi.

Anche se i badge nativi Web3 e i progetti di certificazione X non aderiscono tutti agli standard VC del W3C, possiamo trarre somiglianze dai sistemi sopra descritti.

  • L’esempio più diretto sono i badge NFT non trasferibili, che possono essere coniati solo dai portafogli che hanno completato alcune attività on-chain. Poiché tutta la cronologia delle transazioni è on-chain, è verificabile e a prova di manomissione fin dall'inizio. DegenScore quantifica gli attributi della tua scimmia aggregando le tue interazioni con i protocolli DeFi e genera un punteggio utilizzando le regole su un contratto intelligente. Puoi coniare monete e conservarle come "credenziali DeFi" nel tuo portafoglio crittografico. Se ci fosse un DAO Degen limitato a quelli con un certo punteggio, allora potresti presentare questo NFT al DAO, e quindi il protocollo di gating dei token potrebbe verificare che lo possiedi e potresti entrare in questo DAO - Proof of Degen .

  • POAP * Prova che hai partecipato a un evento o hai incontrato qualcuno nella vita reale: prova di partecipazione/prova di incontro.

  • Laddove Otterspace consente a un DAO di decidere cosa costituisce un lavoro significativo e di rilasciare badge ntNFT ai suoi membri, Proved richiede a un DAO di "firmare" un reclamo - una prova di contributo - prima che i suoi membri coniino badge NFT specifici per DAO.

  • 101 Al termine dei corsi online, una volta superato il test, gli studenti rilasciano ntNFT – Certificate of Learning.

  • Kleoverse rilascia badge di competenza Typescript, Rust o Solidity - prova delle competenze - agli utenti sulla base dei dati GitHub.

  • Oltre ai casi d'uso del controllo degli accessi descritti sopra, i Lit PKP possono anche fungere da notaio crittografico che Lit Actions controlla prima di firmare un certificato. Ad esempio, una piattaforma educativa decentralizzata potrebbe consentire ai creatori di corsi di definire ciò che conta come superamento di un test e implementare tali condizioni come azioni illuminate per emettere VC a livello di programmazione utilizzando il loro PKP in base a tali condizioni.

Qui sorgono due domande: quali di questi dati di certificazione sono significativi e come li aggreghiamo per ottenere reputazione?

Il protocollo Orange fornisce una soluzione a questo problema: integrando questi punti dati in modelli ben definiti tramite fornitori di modelli. Su Orange i parlamentari si riferiscono generalmente a piattaforme che dispongono di misure di valutazione della reputazione all'interno dei loro sistemi. I "fornitori di dati" consentono che i loro dati vengano utilizzati come input per modelli progettati dai fornitori di modelli. I parlamentari poi aggiungono metodi di calcolo e assegnano indicatori di reputazione a diverse entità e rendono questi modelli disponibili affinché altri possano utilizzarli. Le Dapp possono curare e integrare questi modelli di reputazione per i loro casi d'uso.

Finora Aave, Gitcoin, Snapshot, DAOHaus ecc. hanno fornito i loro dati a Orange. Questi dati sono modellati da loro e da altri progetti come Dework, talentDAO e Crypto Sapiens per fornire ntNFT ai membri, il che sblocca un'ampia gamma di opportunità dal miglioramento delle autorizzazioni Discord utilizzando CollabLand e Guild, alla governance ponderata per la reputazione di Snapshot.

privacy

Nessuna discussione sull’infrastruttura dell’identità è completa senza considerare le preoccupazioni sulla privacy e le primitive tecniche che consentono la privacy. La privacy è un fattore a tutti i livelli. Negli ultimi dieci anni, l'adozione della blockchain ha accelerato lo sviluppo di primitive crittografiche forti come zk-proof, oltre alla sua applicazione in tecnologie di scalabilità come i rollup che consentono alle identità di apportare sottili modifiche alle informazioni pubblicamente verificabili e all'informativa sulla privacy.

Le garanzie sulla privacy ci aiutano a evitare le esternalità negative che derivano dall’utilizzo di dati completamente trasparenti per produrre affermazioni affidabili. Senza queste garanzie, terzi possono avviare interazioni esterne all'ambito (ad esempio pubblicità, molestie) che non sono correlate alla transazione originale. Sfruttando la crittografia e le tecnologie zk, possiamo costruire sistemi di identità in cui le interazioni e la condivisione dei dati sono “sandboxed” entro confini chiaramente definiti e sensibili al contesto.

Le credenziali verificabili "normali" sono generalmente disponibili in formato JSON-JWT o JSON-LD e ciascuna credenziale ha un'attestazione esterna o incorporata (firma digitale), che la rende verificabile e a prova di manomissione, creata dall'emittente.

Le prove Zk e i nuovi schemi di firma migliorano le funzionalità di protezione della privacy di W3 C VC, come:

  • Resistenza alla correlazione: ogni volta che un titolare condivide una credenziale, questo identificatore viene condiviso, quindi ogni volta che viene presentata una credenziale significa che è possibile per i validatori colludere e vedere dove il titolare ha presentato la propria credenziale e triangolerà una persona identificata . Con Signature Braille, puoi condividere ogni volta una prova unica della tua firma senza condividere la firma stessa.

  • Divulgazione selettiva: condividi solo gli attributi necessari di un VC e nascondi il resto. Sia le credenziali JSON-JWT che le credenziali JSON-LD firmate LD richiedono che il titolare condivida l'intera credenziale con il verificatore: non esiste una condivisione "parziale".

  • Prova composita: combina le proprietà di più VC in un'unica prova senza la necessità di rivolgersi all'emittente o generare una nuova VC.

  • Predizione: consente l'utilizzo di valori nascosti nelle operazioni, con un valore fornito dal validatore. Ad esempio, il saldo del conto del titolare di un buono supera una determinata soglia senza rivelare il saldo o, come spesso viene citato, dimostrando che hai l'età legale per bere alcolici senza rivelare la tua data di nascita.

Un approccio promettente è lo schema di firma BBS, originariamente proposto da MATTR nel 2020. La proposta consente di utilizzare le firme BBS con il formato JSON-LD comunemente utilizzato dai VC. I titolari possono facoltativamente divulgare le dichiarazioni contenute nel certificato originariamente firmato. La prova prodotta da questo schema è una prova a conoscenza zero della firma, il che significa che il verificatore non può determinare quale firma è stata utilizzata per produrre la prova, eliminando così una fonte comune di correlazione.

Iden3 è un protocollo di identità nativo ZK che fornisce un framework ZK programmabile e librerie open source per primitive di identità ZK, autenticazione e attestazioni generate da attestazioni. Il protocollo genera coppie di chiavi per ciascuna identità utilizzando le curve ellittiche di Baby Jubjub, progettate per funzionare in modo efficace con zk-SNARK utilizzati per dimostrare la proprietà e le rivendicazioni dell'identità in modo da preservare la privacy. PolygonID attualmente utilizza il protocollo per il suo portafoglio di identità.

L'applicazione di zkp è un'area attiva di ricerca e sperimentazione che ha suscitato molto entusiasmo nella comunità crittografica negli ultimi anni. In web3 lo abbiamo visto utilizzato nelle seguenti applicazioni:

  • Lancio aereo privato: Stealthdrop

  • Prove affidabili ma che preservano la privacy: Sismo (proprietà), Semaphore (appartenenza)

  • Messaggi anonimi: heyanon

  • Voto/voto anonimo: Melo

4. Conclusione

Alcune implicazioni generali di questo studio:

  • Proprio come Crypto ha catalizzato lo sviluppo e l'adozione di DPKI, la reputazione componibile che garantisce l'accesso online/IRL sarà il catalizzatore per l'infrastruttura di identità decentralizzata. Attualmente, i protocolli di emissione di credenziali (x-proof) sono frammentati tra diversi casi d’uso e reti blockchain. Nel 2023, vedremo il livello di aggregazione di questi (come i profili) maturare e ottenere l'adozione come interfaccia unificata, soprattutto se può essere utilizzato per sbloccare esperienze al di fuori delle criptovalute, come l'accesso a eventi o sconti sull'e-commerce.

  • La gestione delle chiavi rimane un punto di attrito e soggetto a singoli punti di fallimento. Questa è un'esperienza scomoda per la maggior parte degli utenti cripto-nativi e un'esperienza completamente inaccessibile per la maggior parte dei consumatori. La federazione è un miglioramento dell'esperienza utente rispetto al modello web1.0 che consente il Single Sign-On con un nome utente e una password per applicazione. Anche se l'esperienza utente per l'autenticazione web3 sta migliorando, fornisce ancora un'esperienza utente scarsa, richiede una frase seed e offre possibilità di ricorso limitate in caso di smarrimento della chiave. Vedremo miglioramenti in quest’area man mano che la tecnologia MPC maturerà e diventerà più diffusa tra gli individui e le istituzioni.

  • L'infrastruttura crittografica soddisfa le esigenze degli utenti nel web2. Le primitive Web3 stanno iniziando a integrarsi con applicazioni e servizi web2, portando l'identità decentralizzata alle masse, come Collab.Land che si integra con Nuggets, consentendo agli utenti di Reddit di utilizzare la propria reputazione di VC per sbloccare l'accesso. Il middleware di autenticazione e autorizzazione Auth0 integra SIWE come provider di identità e i loro clienti aziendali possono ora fornire l'accesso al portafoglio al di fuori di SSO.

  • Man mano che i dati diventano democratizzati, i meccanismi di purificazione devono essere convalidati. Proprio come il protocollo di indicizzazione The Graph utilizza una rete di curatori e delegati per segnalare i sottografi più utili (API per dati on-chain), i modelli di dati sugli utenti e la reputazione di protocolli come Ceramic e Orange richiedono tempo e coinvolgimento della comunità Per maturare oltre DAO e casi d'uso delle criptovalute.

  • Considerazioni sulla privacy. I progetti dovrebbero considerare attentamente l'impatto dell'archiviazione pubblica o persistente quando scelgono il proprio stack. Rispetto a una combinazione di VC che preserva la privacy, effimeri e P&DID nonché ZKP per attività on-chain/off-chain, gli NFT di dati pubblici “puri” possono essere adatti per casi d’uso limitati (ad esempio, alcune astratte di on-chain attività) che prevedono Funzionalità quali l'informativa selettiva, la rotazione delle chiavi, l'anticorrelazione e la revocabilità.

  • Nuovi strumenti crittografici come zkSNARKs saranno una parte importante della prossima generazione di infrastrutture di identità. Sebbene zkp sia attualmente implementato in casi d'uso isolati, richiederà uno sforzo collettivo di ricerca e sviluppo dal basso verso l'alto per concentrarsi su modelli di progettazione delle applicazioni, implementazioni di circuiti ZK per primitive crittografiche, strumenti di sicurezza dei circuiti e strumenti di sviluppo. Questo è qualcosa da tenere d'occhio.

L’identità decentralizzata è un grande progetto e richiede gli sforzi dell’intero ecosistema per convergere su standard, ripetere i primitivi e controllarsi reciprocamente l’impatto delle decisioni di progettazione.