Proprietà da considerare in un portafoglio
Sicurezza. Grado di protezione contro attacchi da semplici a sofisticati. Una ""buona gestione delle chiavi"" oggi implica la scelta di una combinazione di soluzioni i cui costi operativi e di onboarding corrispondano alla natura delle attività sulla catena e all'importo in gioco.
Costo. Quanto è costoso creare account, gestire l'accesso ed eseguire transazioni.
UX e flessibilità. La granularità della gestione del controllo degli accessi, le politiche di spesa, i limiti e le autorizzazioni.
Recuperabilità. La capacità di recuperare le risorse e gli accessi in caso di compromissione o perdita di vite umane.
Estensibilità. L'ecosistema di prodotti e servizi che possono apportare nuove funzionalità e integrazioni al prodotto principale.
Privacy. La facilità con cui gli indirizzi possono essere collegati alle persone e la misura in cui i portafogli rivelano le procedure operative delle organizzazioni.
Portafogli convenzionali
I portafogli convenzionali utilizzano una frase seme e una struttura gerarchica deterministica (HD) per ricavare le chiavi private, le corrispondenti chiavi pubbliche e gli indirizzi della catena. Questi portafogli consentono agli utenti di generare le chiavi private utilizzate per firmare le transazioni e di recuperare tutte le chiavi utilizzando la frase seme.
I portafogli convenzionali sono stati finora il principale punto di ingresso per gli utenti che hanno scelto di autodepositare i propri beni e di interagire con le applicazioni blockchain. Estensioni per il browser come MetaMask e applicazioni mobili come Rainbow hanno fatto entrare milioni di utenti nell'ecosistema. Gli utenti con maggiori interessi possono poi optare per portafogli hardware come Ledger e Trezor, che offrono una maggiore sicurezza in quanto proteggono le chiavi private offline.
Sebbene il settore abbia compiuto un enorme sforzo collettivo per educare gli utenti sull'importanza di mantenere al sicuro le frasi e le chiavi di seme, questo singolo punto di fallimento rimane un ostacolo significativo a una più ampia adozione. Oltre a perdere tutte le proprie risorse in caso di smarrimento delle chiavi private, gli utenti devono tenere traccia manualmente di più indirizzi, approvazioni di token e compromettere la privacy dovendo finanziare nuovi indirizzi per il gas.
La velocità dell'innovazione a livello applicativo ha fatto sì che oggi stringhe irrevocabili di caratteri possano non solo dare pieno accesso ai risparmi di una persona, ma siano sempre più associate a storie sulla catena che contribuiscono alla sua identità online. L'incentivo a ottenere l'accesso alle chiavi private è così grande che tutti, dai dilettanti agli hacker sponsorizzati dallo Stato, dedicano risorse illimitate per eseguire attacchi sempre più creativi. Oggi non è più sufficiente affidarsi all'opsec dell'utente: è necessario eliminare completamente questo singolo punto di fallimento.
I portafogli MPC (Multi-Party Computation) e i portafogli di contratti intelligenti ci aiutano a raggiungere questo obiettivo, ed esiste già un ecosistema di prodotti e servizi in entrambe le categorie che sono stati adottati da istituzioni, individui criptati e DAO. Sebbene entrambi i tipi di portafogli rimuovano il singolo punto di fallimento, presentano alcune differenze tecniche fondamentali che danno origine a diverse serie di compromessi. La prossima sezione fornirà una panoramica di entrambi.
Portafogli MPC
In generale, il calcolo multi-party (MPC) consente a un insieme di parti che non si fidano l'una dell'altra di calcolare congiuntamente una funzione sui loro input mantenendo tali input privati. In crittografia, questo è particolarmente utile per preservare la chiave privata utilizzata per decifrare i dati o generare firme digitali.
I portafogli MPC eliminano il singolo punto di fallimento utilizzando uno schema di firma a soglia (TSS). In questo paradigma, creiamo e distribuiamo quote di una chiave privata in modo che nessuna singola persona o macchina controlli interamente la chiave privata - questo processo è chiamato Distributed Key Generation (DKG). Possiamo quindi generare congiuntamente una chiave pubblica combinando le quote senza esporre le quote tra le parti.
Per firmare messaggi e transazioni, ogni parte inserisce la propria quota segreta insieme a un input pubblico (il messaggio da firmare), generando una firma digitale. Da qui, chiunque (ad esempio i nodi validatori) sia a conoscenza della chiave pubblica dovrebbe essere in grado di verificare e convalidare le firme. Poiché le quote delle chiavi sono combinate e la firma è generata fuori dalla catena, una transazione generata da un portafoglio MPC è indistinguibile da quella di un portafoglio a chiave privata convenzionale.
Ciò conferisce agli utenti dei portafogli MPC un certo grado di privacy. Per le organizzazioni che desiderano mantenere i propri schemi di firma e le attività dei firmatari al di fuori degli occhi del pubblico, questa funzione è disponibile in quanto questi processi avvengono fuori dalla catena. Le organizzazioni possono quindi tenere un registro interno di chi ha partecipato alla firma senza che questo venga reso pubblico agli estranei.
La rotazione delle chiavi private è un altro protocollo MPC che prende in input le quote segrete e produce un nuovo set di quote segrete. Le vecchie azioni segrete possono essere eliminate e sostituite con altre nuove che possono essere utilizzate allo stesso modo senza modificare la chiave pubblica e l'indirizzo corrispondenti.
Portafogli MPC: Punti di forza
Nessun singolo punto di fallimento. Un'intera chiave privata non è mai concentrata su un solo dispositivo in qualsiasi momento. Inoltre, non esiste una frase seme.
Schemi di firma regolabili. I quorum di approvazione possono essere modificati in base all'evoluzione delle esigenze individuali e organizzative, pur mantenendo lo stesso indirizzo. Le organizzazioni possono adattare dinamicamente gli schemi di firma senza dover informare ogni volta le controparti di un nuovo indirizzo.
Controllo granulare degli accessi. Gli utenti istituzionali possono assegnare un numero illimitato di approvatori di transazioni a una policy e delegare autorizzazioni che riflettono in modo preciso i ruoli organizzativi e le misure di sicurezza (timelock, MFA, monitoraggio delle frodi). I privati possono scegliere la via semi-custodiale con un MPC wallet-as-a-service, in cui una terza parte detiene una delle quote della chiave.
Riduzione dei costi di transazione e di recupero. I portafogli MPC sono rappresentati sulla blockchain come un unico indirizzo, per cui i costi di gas sono gli stessi dei normali indirizzi a chiave privata. Questo può essere importante per gli utenti che effettuano centinaia di transazioni al giorno, ad esempio in un caso d'uso B2C. Il recupero di quote di chiavi perse può essere condotto anche fuori dalla catena.
Agnostico alla blockchain. La generazione e la firma delle chiavi si basano sulla crittografia pura fuori dalla catena. L'estensione della compatibilità a nuove blockchain è semplice, poiché il portafoglio deve semplicemente essere in grado di generare firme utilizzando l'algoritmo riconosciuto da quella catena.
Portafogli MPC: Svantaggi
Responsabilità fuori catena. Le politiche di autorizzazione alla firma e i quorum di approvazione sono gestiti fuori dalla catena, quindi queste regole personalizzate sono ancora soggette a fallimenti centralizzati. Le quote delle chiavi sono ancora segreti crittografici che dovrebbero essere gestiti come le chiavi private intere. Le regole e la firma fuori dalla catena ostacolano la trasparenza e richiedono verifiche operative più rigorose.
Incompatibile con la maggior parte dei portafogli convenzionali come Ledger e Trezor, poiché non esiste una frase seme o chiavi private intere memorizzate su un singolo dispositivo, ma sono disponibili opzioni di portafogli hardware MPC come Cypherock (anch'esso open source). Gli algoritmi MPC non sono standardizzati e quindi le implementazioni personalizzate non sono supportate in modo nativo da dispositivi sicuri di livello istituzionale come iPhone SEP e HSM. Tuttavia, vale la pena ricordare che Qredo implementa le librerie MPC open source Apache Milago e gli utenti possono firmare con un iPhone.
Prodotti per lo più isolati e su misura. Molte librerie e soluzioni MPC non sono open-source, quindi non esiste un modo semplice per l'ecosistema di verificarle e integrarle in modo indipendente e di condurre un'autopsia se qualcosa va storto. Un'eccezione degna di nota è rappresentata dalle librerie MPC/TSS open-source di ZenGo per gli algoritmi di firma più diffusi, come BLS ed ECDSA.
Oggi le soluzioni basate su MPC si rivolgono principalmente a clienti istituzionali come fondi, family office, borse e depositari. I fornitori di tecnologia MPC come Qredo* e Fireblocks consentono ai clienti di definire i propri flussi di lavoro per diversi tipi di transazioni che consentono loro di rimanere conformi e sicuri. Qredo decentralizza la propria soluzione MPC con una blockchain L2, in cui ogni nodo detiene una quota di chiave e produce collettivamente una firma una volta raggiunte le soglie di approvazione. Dfns offre un'API che consente agli istituti di creare portafogli senza semi, protetti da una rete MPC.
La base degli investitori al dettaglio, tuttavia, continua a dipendere in larga misura dalla ricerca indipendente e dai portafogli a chiave privata. Ma anche questo sta cambiando, con ZenGo attualmente leader nella categoria dei portafogli MPC per i consumatori. Web3Auth ha recentemente rilasciato un SDK MPC che consente a qualsiasi portafoglio o dapp di sfruttare questo sistema per i propri utenti come ""MFA web3-nativo"", utilizzando iCloud o l'e-mail come backup. Protocolli di custodia decentralizzati come Entropy stanno costruendo strumenti open source per i consumatori e le DAO per archiviare gli asset online e definire le precauzioni di sicurezza per le transazioni tramite MPC.
Notevoli sviluppi in corso nell'MPC: Coppie di chiavi programmabili
Lit* è un protocollo decentralizzato che memorizza le quote di chiavi sui nodi della rete Lit. Le coppie di chiavi pubbliche/private sono rappresentate da un PKP (Programmable Key Pair) NFT, il cui proprietario è l'unico controllore della coppia di chiavi. Il proprietario della PKP può quindi far sì che la rete aggreghi le quote di chiavi per decrittare un file o firmare messaggi per suo conto, quando vengono soddisfatte condizioni arbitrariamente definite.
Questo ha potenti implicazioni per il controllo decentralizzato degli accessi, la gestione delle risorse e le interazioni automatizzate sulla catena. Concedendo i privilegi di firma a una Lit Action (codice immutabile distribuito su IPFS), i PKP possono essere utilizzati come un MPC o un portafoglio cloud decentralizzato che utilizza qualsiasi metodo di autenticazione esprimibile in javascript.
Il Minting di un PKP NFT è il processo di Generazione Distribuita di Chiavi basato su MPC che rende il proprietario del NFT il proprietario principale del PKP. Pertanto, trasferire questo NFT equivale a scambiare una chiave privata, il che di fatto rompe la nozione di token ""legato all'anima"" (SBT), nel senso che un SBT è legato a un particolare proprietario, poiché il portafoglio stesso può ora essere scambiato in modo sicuro (quindi forse ""token legato al portafoglio"" è un nome più appropriato per gli NFT non trasferibili).
Portafogli di contratti intelligenti
Ethereum ha attualmente 2 tipi di account:
conti di proprietà esterna (EOA) - controllati da chiavi private
Conti di contratti intelligenti - controllati dal codice
Gli smart contract wallet ("portafogli intelligenti") non sono altro che contratti intelligenti che si comportano come un portafoglio, ossia un'interfaccia che consente agli utenti di gestire i propri fondi, di effettuare l'accesso con web3 e di interagire con le dapp. A differenza dei portafogli a chiave privata, i portafogli intelligenti comportano un costo iniziale di creazione, in quanto uno smart contract deve essere distribuito sulla catena.
I portafogli a firma multipla sono portafogli di contratti smart che richiedono la firma di M di N chiavi per eseguire una transazione. Mentre l'MPC crea una sola firma, indipendentemente dal numero di chiavi condivise, il multisig utilizza firme distinte generate da chiavi private distinte per firmare le transazioni. Questo lo rende compatibile con i portafogli a chiave privata esistenti e si colloca un livello sopra gli indirizzi dei portafogli HD come Ledger o Metamask.
Gli standard per i conti dei contratti intelligenti come Safe* forniscono un livello fondamentale su cui costruire un ecosistema di prodotti e servizi di gestione patrimoniale. Le funzionalità vengono aggiunte tramite moduli, che consentono agli utenti di definire la logica delle chiavi di amministrazione, i limiti di spesa, le transazioni ricorrenti, l'automazione del conto, l'accesso gerarchico e altro ancora. L'insieme più prolifico di moduli per Safe oggi è costruito dal team di Zodiac.
Portafogli di contratti intelligenti: Punti di forza
Nessun singolo punto di errore. Per eseguire una transazione sono necessarie più firme.
Controllo dell'accesso programmabile. Gli utenti si possono definire diverse politiche, impostare blocchi temporali, limiti di spesa, automazioni (ricompense per l'agricoltura del raccolto, ordini limite).
Il batching delle transazioni può essere implementato per risparmiare sui costi. Ad esempio, il ""batching"" di azioni comuni come l'approvazione di token e scambi in un'unica transazione. Sebbene le singole azioni di un multisig costino di più in termini di gas rispetto a quelle degli MPC, il batching delle transazioni può aiutare a risparmiare sui costi nel lungo periodo.
Estensibile. Grazie alla componibilità dei contratti intelligenti, gli sviluppatori di portafogli possono creare un ecosistema di moduli che gli utenti possono scegliere di aggiungere al proprio portafoglio, creando un app store per nuove funzionalità come i framework di prestito NFT, i moduli di voto DAO e i servizi di gestione degli asset non custodiali.
Recupero programmabile. I portafogli possono offrire diverse opzioni per recuperare i fondi nel contratto smart stesso. Ad esempio, recupero sociale, deadman switch o un approccio ibrido (un fornitore di servizi può tenere una chiave di backup).
Responsabilità sulla catena. Le politiche di autorizzazione e aggregazione delle firme sulla catena rendono esplicito quali chiavi sono state utilizzate per firmare una transazione, rendendo le operazioni più trasparenti e semplici per verificare chi ha partecipato a una transazione nel caso in cui qualcosa vada storto.
Permette la migrazione a schemi di firma alternativi. I portafogli di contratti intelligenti possono cambiare il loro schema di firma con uno più semplice, più efficiente dal punto di vista dei consumi o più resistente ai quanti. Possono anche utilizzare enclavi sicure sui dispositivi iOS e Android (trasformando i telefoni in un portafoglio hardware) o abilitare Ed25519 per consentire l'uso della biometria iOS e WebAuthn.
Open Source. Le implementazioni dei portafogli intelligenti e le estensioni delle funzionalità possono essere verificate da chiunque, consentendo un approccio ecosistemico alla risoluzione delle vulnerabilità e all'aggiunta di nuove funzionalità.
Portafogli di contratti intelligenti: Svantaggi
Commissioni più elevate. I portafogli intelligenti comportano commissioni più elevate rispetto alle normali transazioni a indirizzo singolo, poiché è necessario verificare più firme. Anche azioni come l'aggiunta/rimozione di proprietari e la modifica della soglia richiedono una transazione sulla catena.
Non sono supportati universalmente. Mentre i portafogli intelligenti possono essere implementati su qualsiasi catena EVM allo stesso indirizzo, necessitano di un'implementazione personalizzata su catene non EVM.
Recupero più costoso. Sebbene la logica di recupero sia programmabile, è necessario pagare le commissioni sulla catena per eseguirla.
Incompatibile con i contratti non aggiornabili. Sebbene l'EIP-1271 consenta alle applicazioni di firmare per conto dei portafogli di contratti, non è ancora universalmente supportato e non può essere aggiunto ai contratti non aggiornabili.
Notevoli sviluppi in corso nei portafogli di contratti intelligenti: Astrazione dell'account
Gli smart wallet svolgono un ruolo cruciale nello sforzo dell'ecosistema di abbandonare completamente gli EOA e le chiavi private, altrimenti noto come astrazione dell'account. Secondo questo paradigma, tutti gli account sono contratti intelligenti con una propria logica che stabilisce cosa sia una transazione valida, consentendo agli utenti di personalizzare gli account in base alle proprie esigenze specifiche.
L'astrazione degli account è stata discussa fin dal 2016, ma l'ecosistema ha tardato ad allinearsi sulla soluzione. Le L2 hanno accelerato notevolmente la consapevolezza e l'adozione di questa soluzione, ad esempio Starkware ha già reso tutti i conti Starknet smart wallet in modo nativo, e anche zkSync 2.0 sarà lanciato con AA.
Su Ethereum, esistono diversi EIP per realizzare le tappe fondamentali della roadmap per rendere l'astrazione dei conti una realtà.
ERC-4337 sposta la verifica della firma, il pagamento del gas e la protezione replay dal protocollo principale all'EVM, consentendo agli utenti di utilizzare portafogli intelligenti contenenti una logica di verifica arbitraria al posto degli EOA come conto principale senza alcuna modifica del livello di consenso. Questo EIP introduce una mempool UserOperations che esiste in parallelo alla mempool esistente. I bundler (validatori, ricercatori MEV o l'applicazione stessa) prelevano le transazioni dal pool UserOperations, le inoltrano alla blockchain e pagano la tariffa. I paymaster sono un passo opzionale per la sponsorizzazione delle transazioni. In questo caso, il portafoglio iniziatore non paga direttamente la benzina, ma le applicazioni possono aggregare e sponsorizzare i pagamenti della benzina per i loro utenti utilizzando modelli di abbonamento a pagamento.
EIP-3074 consente agli EOA di delegare il controllo a un contratto, permettendo agli EOA esistenti di inviare operazioni che vengono pagate da terzi.
EIP-5003 aggiorna gli EOA esistenti ai contratti e consente la migrazione da ECDSA a schemi di firma più efficienti o quantum-resistant.
Sfide in corso per l'ecosistema di sviluppo dei portafogli
Sfruttamenti tecnici
L'hack di Parity Multisig e, più recentemente, l'exploit di Rabby Swap dimostrano che anche i migliori mezzi concettuali per memorizzare i fondi hanno poco significato se l'implementazione è difettosa. Con il software open source e un approccio ecosistemico per l'aggiunta di funzionalità, è più probabile che le vulnerabilità vengano trovate e risolte più rapidamente rispetto al codice in una scatola nera. Possiamo prevedere che ci saranno standard per i conti dei contratti intelligenti, come le implementazioni di OpenZeppelin di ERC-20 e ERC-721, e che Lindy crescerà e gli sviluppatori potranno costruirci sopra con maggiore sicurezza man mano che l'ecosistema matura.
Superfici di attacco sociali
I meriti di una determinata soluzione tecnica non neutralizzano ancora il rischio a livello sociale. L'exploit del Ronin Bridge, costato 600 milioni di dollari, non era dovuto a un difetto tecnico, ma a un attacco di social engineering a uno dei dipendenti di Sky Mavis che ha permesso agli aggressori di accedere alle chiavi di convalida. Oltre a prendere decisioni responsabili su quali portafogli utilizzare per gestire le proprie risorse, le organizzazioni devono assicurarsi che ogni componente di questo sistema critico sia veramente indipendente a livello sociale e tecnico.
Costo della sicurezza e della migrazione
La migrazione da un account a un altro non è né divertente né economica. Nonostante le solide alternative di portafoglio presenti oggi sul mercato, la migrazione dei conti correnti esistenti ha un costo reale per gli utenti: commissioni di transazione, chiusura/apertura di posizioni DeFi, implicazioni fiscali, errori dell'utente, tempo ed energia.
Sicurezza operativa
L'autocustodia è una prospettiva spaventosa per la maggior parte degli utenti, poiché il miglioramento della sicurezza operativa personale richiede uno sforzo consapevole che può essere scoraggiante. La maggior parte dei dati delle transazioni non sono leggibili dall'uomo (anche se la situazione sta cambiando) e gli errori sono irreversibili. Molti siti web di portafogli riportano qualcosa del tipo ""sei il proprietario della tua criptovaluta, se perdi la tua frase seed non possiamo aiutarti"", il che non è una buona idea per una parte significativa di potenziali utenti. Le configurazioni ibride (ad esempio un fornitore di servizi come Casa come firmatario nel vostro multisig) aiutano a fornire un percorso di ricorso e supporto senza la possibilità di gestire male i fondi degli utenti. Come per l'educazione alle criptovalute, questo problema non può essere risolto da un solo team e richiede che l'ecosistema sviluppi strumenti e modelli UX che vadano di pari passo con le migliori pratiche di sicurezza.
Conclusione
Nonostante l'immagine comune di "questo contro quello", MPC e smart wallet non sono in competizione, ma piuttosto complementari nel lungo termine. L'MPC offre una sicurezza condivisa a livello di generazione e gestione delle chiavi, mentre gli smart contract apportano estensibilità e un approccio ecosistemico allo sviluppo di funzionalità e applicazioni. Ad esempio:
L'MPC potrebbe aumentare uno schema multi-firma esistente dividendo una o più chiavi private in parti. Se si utilizzano tre persone per proteggere un multisig 2 su 3, ciascuno di questi tre utenti potrebbe suddividere le proprie chiavi private individuali utilizzando MPC e memorizzare le proprie parti di chiave MPC su macchine indipendenti, ossia rendere un account MPC proprietario di una cassaforte.
Le comunità o le DAO possono essere firmatarie di un multisig che possiede un PKP NFT che gestisce un portafoglio decentralizzato nel cloud, che può essere utilizzato per investimenti automatizzati o interazioni DEX.
Quest'anno, la criptovaluta è stata danneggiata in molti modi dal comportamento sconsiderato di entità centralizzate che hanno eroso la fiducia nel settore, sollecitato un controllo normativo e, soprattutto, perso i fondi degli utenti e, in alcuni casi, i risparmi di una vita. Le tecnologie e i progetti evidenziati in questo articolo aprono la strada a un futuro in cui tutti potranno partecipare all'economia decentralizzata senza lasciare il proprio destino nelle mani di pochi.
Questo articolo è di Nichanan Kesonpat: link all'articolo originale
Commenti
0 commenti
Accedi per aggiungere un commento.