Il nuovo standard Ethereum ERC-4337 cerca di consentire la creazione di portafogli più flessibili e potenti per gli utenti di questa blockchain e dei suoi diversi servizi.
Uno degli aggiornamenti più recenti all'interno di Ethereum è noto come Astrazione dell'account o astrazione dell'account, che è stato implementato seguendo lo standard, ERC-4337.
Cos'è esattamente l'Account Abstraction o l'Account Abstraction rivendicato da ERC-4337? Spiegheremo in modo semplice e comprensibile cos'è questo nuovo standard e quali funzionalità offre alla rete Ethereum.
Account Abstraction o Account Abstraction, il nuovo miglioramento di Ethereum
Account Abstraction o Account Abstraction è un miglioramento di Ethereum che è stato presentato da Vitalik Buterin, Yoav Weiss, Kristof Gazso, Namra Patel, Dror Tirosh, Shahaf Nacson e Tjaden Hess, il 29 settembre 2021, sotto la EIP-4337 (EIP o Ethereum Improvements Proposals, meglio conosciuta come Ethereum Improvement Proposal).
Il suo obiettivo è consentire la creazione di un'infrastruttura in grado di offrire account intelligenti controllati da smart contract. In questo modo, gli utenti di questi account possono godere di funzionalità uniche come:
- Recupero chiavi.
- Sistema di pagamento automatico e ricorrente.
- Tariffe gas "sponsorizzate" (a costo zero per l'utente).
Il tutto in modo semplice, utilizzando un unico standard e senza rinunciare al decentramento nel controllo degli account.
L'idea dell'astrazione dell'account non è una novità. Infatti, l'idea originale è in costruzione da più di 9 anni e ha avuto la partecipazione di player importanti come VISA.
Tuttavia, non è stato fino al 22 febbraio 2023 che gli sviluppatori hanno deciso di implementare questo miglioramento su Ethereum, attraverso il rilascio di undici (11) contratti intelligenti che danno origine a ciò che è noto come Punto d'entrata.
Come funziona l'ERC-4337?
Per capire come funziona ERC-4337, dobbiamo prima capire come vengono impostati gli account all'interno di Ethereum. Sulla rete, abbiamo due tipi di account:
- Account di proprietà esterna (EOA o account di proprietà esterna). Sono quelli che normalmente usiamo in borse come MetaMask. Cioè, sono account gestiti da un portafoglio, che si occupa di generare le chiavi private, le chiavi pubbliche e si occupa anche di interagire con la rete (richiesta di saldi, interazione con contratti intelligenti, invio di pagamenti, ecc. ).
- Account a contratto (CA) o Smart Account. Una CA è un tipo di account gestito da uno smart contract. Ad esempio, i conti di a piscina di picchettamento di Uniswap. Lo stesso vale per DAI Vaults o qualsiasi altro tipo di account gestito da contratti intelligenti.
Sapere questo rende più facile capire come funziona l'ERC-4337. Il miglioramento mira a consentire agli utenti di utilizzare un portafoglio che supporti questo standard per generare account che possono gestire. Tuttavia, questi account sono controllati da un contratto intelligente.
Pertanto, l'utente deve solo interagire con lo smart contract per recuperare il suo accesso e l'accesso ai suoi token contenuti in detto smart contract. È proprio come accade attualmente nei pool di staking, solo che questa volta ERC-4337 è stato sviluppato per essere molto più facile e sicuro utilizzare e implementare.
funzionamento a basso livello
Per fare ciò, l'ERC-4337 replica la funzionalità della transazione mempool in un sistema di livello superiore utilizzando contratti intelligenti.
Prima di tutto, le operazioni dell'utente insieme alle firme e ad altri dati vengono prese per la verifica. Questo processo è possibile grazie al lavoro congiunto tra i validatori e i Flashbot, che si occupano di raggruppare queste operazioni in «una singola transazione in bundle“, che viene successivamente incluso in un blocco Ethereum.
La tariffa del gas viene pagata da questi attori, che a loro volta ricevono un compenso da tutte le singole operazioni raggruppate, come accade nel mempool. Lo stesso criterio viene utilizzato per prioritizzare le operazioni, solo in questo caso entrano in gioco altre variabili quali:
- Conoscenza del mittente o del portafoglio che esegue l'operazione.
- Nonce e firma, che sono parametri passati alla funzione di verifica del portafoglio, affinché una transazione possa essere verificata.
- initCode, che è un codice init con cui creare il portafoglio se non esiste già.
- callData, ovvero i dati della chiamata del portafoglio per la fase di esecuzione effettiva.
- I restanti giacimenti riguardano la gestione e le commissioni del gas; l'elenco completo dei campi è disponibile nella specifica ERC 4337.
In questo modo un wallet con supporto ERC-4337 diventa un wallet gestito da uno smart contract.
Funzionalità avanzate dell'ERC-4337
Quali vantaggi offre l'implementazione di ERC-4337 in Ethereum e nei suoi portafogli?
Recupero dell'account
Uno dei fatti più comuni all'interno dell'ecosistema è il perdita di accesso ai nostri account. perdere dati come frase del seme in un incidente o la perdita di una borsa fisica (portafoglio hardware) sono eventi abbastanza frequenti. Normalmente una perdita di questo tipo è irrecuperabile e con essa si perdono milioni di euro di valore. Ma se potessimo cambiarlo?
È qui che entra in gioco l'ERC-4337. Poiché l'account è controllato da un contratto intelligente, è possibile pianificare le condizioni di ripristino dell'account. Ad esempio, se l'account ha avuto una certa quantità di inattività, possiamo programmarlo per restituire i token a un indirizzo precedentemente fornito, che ci consentirebbe di recuperare quel saldo.
O meglio ancora, possiamo programmare il portafoglio con una serie di condizioni che ci permettano di guadagnare più direttamente il recupero del denaro. Ad esempio, se firmiamo una transazione con un determinato messaggio (il nostro segreto) e un indirizzo di destinazione e la inviamo all'indirizzo, lo smart contract può rilevarlo ed eseguire un trasferimento del saldo all'indirizzo precedentemente fornito, consentendoci di recuperare il saldo di quella borsa.
In breve, l'ERC-4337 consente schemi di recupero dell'account che sarebbero impossibili con un account tradizionale.
Utilizzo di 2FA nei nostri account
Un'altra funzione avanzata che possiamo abilitare grazie all'ERC-4337, è l'esecuzione di transazioni a condizioni che devono essere soddisfatte. Immagina per un attimo di avere un conto condiviso e di averlo limitato a fare spese di 1000 euro al mese.
Nel caso in cui il limite venga superato, sarebbe necessario applicare un 2FA in cui tu e il tuo partner dovete firmare la transazione per renderla valida.
Bene, l'ERC-4337 può fare proprio questo. Con un'opportuna programmazione, è possibile creare un account con due firme e impostare un limite di spesa mensile e, se superato, le transazioni successive richiederanno l'approvazione di entrambe le parti per essere completate.
Naturalmente, il caso precedente è solo un esempio della capacità, che può essere adattata per più cose, a seconda delle esigenze degli utenti o della piattaforma su cui è distribuito l'account.
Capacità operative avanzate
Inoltre, l'ERC-4337 attiva una serie di opzioni operative avanzate. Ad esempio, con questo standard è possibile eseguire più operazioni con il nostro wallet e firmarle tutte in un'unica occasione. In questo modo la stessa transazione in Ethereum può eseguire due o più operazioni in modo atomico e trasparente, richiedendo per esse una sola approvazione.
Con questo tipo di operazione, ad esempio, possiamo operare in un DEX specifico, eseguendo più operazioni contemporaneamente e, alla fine, emettendole tutte come un set, il che riduce il costo in commissioni delle nostre operazioni.
Uso più efficace della crittografia e degli aggiornamenti
Un'altra proprietà avanzata dell'ERC-4337 è che ci consente un uso più efficace dei progressi crittografici. Ad esempio, con una piccola modifica, possiamo adattare l'ERC-4337 all'uso Schemi di firma Schnorr, che renderebbe le nostre operazioni di transazione sulla rete più sicure ed economiche.
Allo stesso modo, con un piccolo aggiornamento del contratto intelligente, possiamo utilizzare i futuri progressi nell'EVM. Ad esempio, possiamo impiegare la crittografia ZK all'arrivo di zkEVM (Zero Knowledge EVM) o implementazione della crittografia resistente ai quanti. Semmai, ERC-4337 flette la capacità degli sviluppatori di adattare queste tecnologie e applicarle rapidamente in modo che possiamo esplorarle.
supporto multicatena
Un'altra proprietà avanzata dell'ERC-4337 è che offre il supporto per più stringhe. Questo è possibile grazie al fatto che si tratta di uno smart contract costruito sulle capacità di Solidity ed EVM. Ciò significa che qualsiasi rete che supporti queste due tecnologie può implementare con successo lo standard ERC-4337.
Pertanto, reti come Polygon o Gnosis possono sfruttare questa capacità per le loro reti e offrire una maggiore funzionalità, cosa che, di fatto, è già in corso nelle rispettive testnet di questa e di altre reti compatibili con EVM.
Pro e contro dell'implementazione di ERC-4337
Tuttavia, l'implementazione di ERC-4337 ci offre una serie di pro e contro, tra i quali si possono identificare:
Vantaggi
- Non centralizza il controllo dei portafogli. Questo grazie al fatto che il loro controllo rimane sempre decentralizzato.
- Miglioramenti nella sicurezza dei portafogli. Dall'uso di opzioni avanzate come 2FA, maggiore facilità nell'implementazione di firme multiple, tra gli altri miglioramenti a livello crittografico, ERC-4337 offre una migliore sicurezza per i portafogli che implementano lo standard. Inoltre, riduce la complessità nello sviluppo dei portafogli.
- Riduce la complessità nella gestione e nel controllo delle borse. Una caratteristica che indubbiamente aiuta a diffondere l'accesso a questa tecnologia da parte di persone che non sono abituate o non hanno grandi conoscenze di sicurezza informatica e criptovalute.
- Supporto multi-catena e interoperabilità. Grazie all'utilizzo di Solidity ed EVM, che sono gli unici requisiti che le catene in cui viene implementato questo standard devono soddisfare, senza la necessità di alterare in alcun modo il protocollo di consenso.
- Mantiene la possibilità di sostituire le commissioni. Per fare ciò è sufficiente inviare una nuova operazione con una commissione più alta.
- Flessibilità della logica di esecuzione. Ciò consente ai portafogli di aggiungere logica personalizzata alla fase di esecuzione, ad esempio eseguire operazioni multiple atomiche.
Svantaggi
- Lieve aumento della vulnerabilità DoS. Questo nonostante il massimo sforzo del protocollo, semplicemente perché la logica di verifica può essere in qualche modo più complessa dello status quo di una singola verifica ECDSA.
- sovraccarico di gas. Leggermente più gas overhead rispetto alle normali transazioni (sebbene compensato in alcuni casi d'uso dal supporto multi-trade). Ciò è dovuto alla necessità di intermediazione dei contratti intelligenti ERC-4337. In conclusione: commissioni più elevate per l'utilizzo di questa funzione.
- Una transazione alla volta. Gli account non possono mettere in coda e inviare più transazioni al mempool. Tuttavia, la capacità di eseguire multi-operazioni atomiche rende questa caratteristica molto meno necessaria.