L'astrazione dell'account è a blockchain proposta che può rivoluzionare il modo in cui le persone effettuano transazioni con i portafogli su Web3. Consente agli utenti di utilizzare contratti intelligenti come portafogli anziché account di proprietà esterna come Metamask. Gli utenti eseguiranno quindi transazioni tramite contratti. Questa proposta apre un nuovo mondo di possibilità per semplificare le transazioni blockchain.
sfondo
Gli smart contract sono linee di codice che operano sulla blockchain. A differenza degli account di proprietà esterna (EOA), che un utente controlla tramite una chiave privata, gli account smart contract non richiedono in alcun modo una chiave privata e pubblica; invece, il codice definisce il loro comportamento.
Questa disposizione garantisce ai contratti intelligenti un potere immenso e offre molta flessibilità poiché consente agli sviluppatori di creare qualsiasi tipo di contratto possano immaginare e adattare secondo necessità. D'altra parte, gli EOA possono essere utilizzati solo per firmare transazioni e non offrono la stessa versatilità. È importante ricordare che quando si utilizzano le blockchain, gli utenti controllano le EOA con chiavi private, mentre gli smart contract sono controllati esclusivamente dalla logica codificata al loro interno.
Come funzionano oggi i portafogli Web3
Sebbene l'esecuzione di azioni sulla blockchain oggi sia in genere lenta e noiosa, molte persone non possono ancora resistere al potenziale di entrare in questo spazio all'avanguardia. Dopo aver acquisito familiarità con la firma delle transazioni da un EOA, le transazioni diventano molto più gestibili.
Tuttavia, l'interazione iniziale può essere difficile, frustrante e decisamente scoraggiante per i nuovi utenti. Cercare di capire come impostare un'applicazione web3 per la prima volta è sufficiente per far riflettere chiunque voglia unirsi a questa rivoluzione.
Limitazioni dei portafogli EOA
Questi tipi di account hanno la loro giusta dose di limitazioni:
- Se gli utenti perdono l'accesso alla loro chiave privata, non possono accedere o controllare l'account.
- Possono essere vulnerabili ad attori malintenzionati che potrebbero tentare di rubare fondi o dati associati all'account.
- Gli EOA hanno capacità limitate e non possono eseguire funzioni di smart contract.
- Hanno una scarsa interfaccia UX che potrebbe limitare l'adozione di massa.
- Non possono gestire facilmente più account.
Conti EOA vs contratti
Controllo autorizzato
Con gli account EOA, la chiave privata garantisce l'accesso completo a tutto ciò che è associato a quell'account. Al contrario, gli account a contratto consentono agli utenti di definire un elenco di livelli di autorizzazione a più livelli. Ad esempio, puoi richiedere a 3 firmatari su 5 di approvare una transazione prima che venga eseguita.
Transazioni in lotti
Gli account EOA richiedono una firma separata per ogni azione intrapresa sulla blockchain, mentre gli account a contratto possono raggruppare le transazioni insieme. Quindi, ad esempio, un utente può approvare un trasferimento di token e quindi scambiarlo con un altro token in un'unica operazione con il proprio account contrattuale. Questa funzione rende gli utenti più efficienti quando si tratta di DeFi.
Recupero dell'account
Sebbene i portafogli EOA ti diano il controllo diretto sui fondi, significa anche che si affidano esclusivamente al detentore della chiave privata per accedervi: se questo viene perso, può comportare una perdita totale del controllo. D'altra parte, gli account Contract utilizzano il codice scritto al loro interno per evitare problemi di accesso. Anziché fare affidamento su una singola chiave privata come fattore di sicurezza, la logica codificata su misura fornisce un ulteriore livello di protezione ed elimina i singoli punti di errore. Di conseguenza, gli account a contratto sono più adatti per coloro che hanno bisogno di accedere alle proprie criptovalute senza preoccuparsi di potenziali perdite dovute all'esposizione o al posizionamento errato.
Limiti di transazione
Con i conti EOA, si verificherà qualsiasi transazione firmata dal tuo portafoglio. Gli account a contratto ti consentono di scrivere una logica personalizzata che controlla il modo in cui i fondi vengono trasferiti, ad esempio una funzione per interrompere tutte le transazioni verso altri indirizzi mentre recuperi l'accesso al tuo account. Questa differenza di funzionalità offre agli utenti una maggiore flessibilità nel garantire che i loro fondi siano sicuri e accessibili solo a loro.
Proposte di astrazione dell'account sull'ecosistema Ethereum
I Ethereum community ha proposto di implementare l'astrazione dell'account nell'ecosistema Ethereum.
Queste proposte includono:
- EIP 86 del 2016 - Questa proposta suggeriva uno strato astratto tra l'utente e il suo portafoglio, consentendo a più firmatari di utilizzare un singolo account.
- EIP 2938 del 2020 – ha suggerito un nuovo tipo di transazione chiamato "transazioni AA".
- EIP 3074 del 2020 – proposta di delegare l'autorità dell'account utente agli smart contract.
- EIP 4337 del 2021 - ha suggerito un oggetto di "pseudo transazione" che definiva il modo in cui i contratti intelligenti potevano effettuare una transazione per conto dell'utente.
Tutte queste proposte sono attualmente in fase di stallo.
Perché l'astrazione dell'account è importante
L'astrazione dell'account è emersa come uno sviluppo cruciale che porta un miglioramento tanto necessario all'esperienza utente complessiva di Web3.
L'astrazione ha generato una pletora di opportunità innovative, come:
- Generazione di portafogli per conto degli utenti quando si registrano per utilizzare un'app.
- Consenti giochi senza rischi con chiavi di sessione e portafogli di squadra con sistemi di autorizzazione a più livelli.
Astraendo gli aspetti complessi della tecnologia blockchain, gli utenti possono godere dei vantaggi associati alle applicazioni decentralizzate: anche chi non ha familiarità con la blockchain può raccogliere NFT senza problemi tecnologici. Gli account a contratto possono rivoluzionare il modo in cui gli appassionati non tecnologici interagiscono con il web3.
Esempi di casi d'uso dell'astrazione dell'account nel mondo reale
Uno dei casi d'uso più popolari per l'astrazione dell'account è sotto forma di portafogli multi-firma. Questi portafogli consentono di collegare più firmatari a un singolo portafoglio. Di conseguenza, ogni transazione deve passare attraverso varie approvazioni da parte dell'utente prima di poter essere eseguita sulla blockchain, creando un modo efficiente e sicuro per gestire ingenti somme di risorse digitali.
Altri casi d'uso di esempio includono
- Con un'astrazione dell'account configurata con Netflix o Disney Plus, ogni membro della famiglia può avere un account secondario che il titolare dell'account principale può configurare e controllare. Tale controllo delle autorizzazioni può aiutare i genitori a garantire che gli utenti possano accedere a contenuti adatti all'età mentre si godono i loro programmi preferiti senza preoccuparsi che i loro figli guardino materiale non approvato.
- Una famiglia che visita un parco a tema può sperimentare la comodità dell'astrazione dell'account con i propri account, dando ai genitori il controllo sulle attrazioni a cui i loro figli possono accedere.
Tali esempi dimostrano l'incredibile potenziale dell'astrazione dell'account e consentono una maggiore trasparenza e sicurezza per le transazioni digitali. Con più applicazioni come questa, non c'è dubbio che l'astrazione degli account aprirà interessanti possibilità per i casi d'uso della tecnologia blockchain.
Limitazioni dell'astrazione dell'account con contratti intelligenti
L'astrazione dell'account è uno strumento potente con il potenziale per rivoluzionare il modo in cui le persone interagiscono con il web3. Tuttavia, comporta anche alcuni rischi/limitazioni che dobbiamo considerare prima dell'implementazione.
- La scalabilità limitata di alcuni contratti intelligenti: sebbene l'astrazione dell'account possa fornire agli utenti una maggiore flessibilità nella gestione dei propri fondi, potrebbe non essere adatta a casi d'uso più complessi.
- Esiste la possibilità che attori malintenzionati sfruttino contratti intelligenti per rubare fondi o ottenere l'accesso ai dati personali. Tali exploit sono particolarmente pertinenti per quanto riguarda i portafogli multi-firma, in quanto gli hacker possono prendere di mira account vulnerabili e utilizzarli a proprio vantaggio.
- La complessità dell'astrazione dell'account e dei contratti di codifica: i nuovi utenti potrebbero non avere le conoscenze tecniche per comprendere le complessità della configurazione e della gestione dell'astrazione dell'account, rendendoli vulnerabili alle truffe.
- L'astrazione dell'account può portare a violazioni della privacy se utilizzata in modo improprio: mentre gli sviluppatori possono configurare gli account in modo da oscurare l'identità dell'utente, ciò dipende da buone pratiche di sicurezza come le modifiche regolari della password.
- Esiste il rischio che gli utenti non utilizzino correttamente l'astrazione dell'account a causa della mancanza di comprensione: transazioni configurate in modo errato possono causare perdite di fondi o ritardi.
Pertanto è essenziale essere consapevoli di questi rischi quando si implementa l'astrazione dell'account. L'adozione di misure come regolari controlli di sicurezza e la formazione degli utenti sulle migliori pratiche per la gestione dei propri account può aiutare a ridurre la possibilità che si verifichino problemi.
Conclusione
L'astrazione dell'account è uno strumento potente che può rivoluzionare il modo in cui le persone interagiscono con il Web3 e offrire agli utenti un maggiore controllo sulle proprie risorse digitali. Tuttavia, come con qualsiasi tecnologia, è essenziale comprendere i rischi associati e adottare misure per garantire che siano minimi. Tuttavia, con un'adeguata pianificazione e istruzione sulle migliori pratiche, l'astrazione degli account può aprire nuove entusiasmanti possibilità per utenti esperti di tecnologia e non.
Fonte: https://www.cryptopolitan.com/account-abstraction-explained-web3-use-cases/