Cos'è l'account abstraction (ERC-4337)?

·7 min di lettura·Di SSP Editorial Team
Schema di un wallet smart contract con una UserOperation che attraversa un bundler

Se hai passato un po' di tempo nei dintorni di Ethereum negli ultimi anni, probabilmente hai sentito l'espressione "account abstraction" — spesso accoppiata al nome in codice ERC-4337. Suona accademica, ma l'idea alla base è genuinamente pratica: il tuo wallet Ethereum dovrebbe comportarsi come un piccolo software personalizzabile, non come una singola chiave privata con un'interfaccia che si prende così com'è.

In questo articolo spiegheremo cosa cambia realmente l'ERC-4337, i quattro nuovi termini gergali che introduce (UserOperation, EntryPoint, bundler, paymaster), cosa abilita in pratica, e come si rapporta al modello multisig di SSP. Non è richiesta alcuna conoscenza pregressa di smart contract — solo curiosità per come funzionano i wallet crypto sotto il cofano.

Il problema che l'ERC-4337 si proponeva di risolvere

Prima dell'account abstraction, ogni wallet Ethereum era quello che viene chiamato un externally-owned account — un EOA. Un EOA è di una semplicità disarmante: una chiave privata controlla un indirizzo, e ogni azione che quell'indirizzo compie deve essere firmata esattamente da quella chiave.

Questa semplicità porta con sé degli spigoli vivi:

  • Nessun recupero. Perdi la chiave, perdi i fondi. Non c'è alcun link "password dimenticata", nessun contatto di fiducia che possa garantire per te, nessuno sblocco a tempo. La chiave è l'account.
  • Nessun batching. Vuoi approvare un token e poi scambiarlo? Sono due transazioni separate, due firme separate, due pagamenti di gas separati. Non c'è modo di dire "falle insieme o nessuna delle due".
  • Nessun multisig nativo. Se volevi più firmatari, dovevi deployare un contratto (come un Safe, un tempo Gnosis Safe) e poi fare in modo che un EOA inviasse transazioni verso quel contratto. Il contratto era multisig, ma l'account che interagiva con il mondo era sempre un EOA a chiave singola sotto sotto. L'esperienza utente era sempre di seconda classe rispetto a un wallet normale.
  • Gas sempre pagato in ETH, sempre pagato dal mittente. Nessuna dApp poteva pagare il tuo gas. Niente pagamento del gas in USDC. Nessuna eccezione.

Gli sviluppatori aggiravano questi limiti da anni con elaborati pattern contrattuali. L'ERC-4337 ha finalmente dato loro una via d'uscita standardizzata — senza richiedere alcun cambiamento al protocollo di base di Ethereum.

Cosa introduce l'ERC-4337

L'ERC-4337 non cambia il funzionamento di Ethereum a livello di protocollo — è questo il suo trucco geniale. Definisce invece quattro nuovi ruoli che, insieme, simulano "wallet smart contract come cittadini di prima classe" interamente nello user-space. Una volta che conosci queste quattro parole, l'intero standard si compone.

UserOperation. È il nuovo oggetto di "intenzione firmata" che sostituisce la transazione grezza per un wallet AA. Dove un EOA produce una transazione firmata dalla sua chiave unica, un wallet AA produce una UserOperation — una richiesta strutturata che dice "questo account vuole fare X, ecco l'autorizzazione, ecco come pagarla". Una UserOperation potrebbe dire "trasferisci 100 USDC ad Alice, autorizzato dalle firme di questi due dispositivi, e la dApp coprirà il gas".

Contratto EntryPoint. Un singolo smart contract canonico e auditato, deployato su Ethereum, che sa ricevere le UserOperations, verificarle secondo le regole del wallet AA da cui provengono, ed eseguire le azioni risultanti. Ogni wallet AA parla con lo stesso EntryPoint, ed è questo che rende lo standard uno standard.

Bundler. Un attore off-chain (pensalo come una sorta di relayer specializzato) che ascolta le UserOperations in una mempool pubblica, ne raggruppa diverse insieme e sottomette il lotto all'EntryPoint come una singola transazione Ethereum. Il bundler paga il gas effettivo alla rete e viene rimborsato dalle UserOperations che ha raggruppato.

Paymaster. Un contratto opzionale che può offrirsi volontariamente di pagare il gas per conto di un utente. Il paymaster è ciò che rende possibile "la dApp paga il tuo gas" oppure "paga il gas in USDC invece che in ETH". Senza un paymaster, il wallet AA dell'utente paga il proprio gas; con uno, interviene il paymaster.

Questo è l'intero vocabolario. Tutto il resto è decorazione.

Cosa abilita l'account abstraction in pratica

I quattro pezzi sopra sembrano astratti finché non vedi cosa sbloccano:

  • Sponsorizzazione del gas. Una dApp può pagare il gas per i nuovi utenti, così non hanno bisogno di acquisire ETH prima di poter fare qualsiasi cosa. Questo è enorme per l'onboarding — i nuovi utenti possono registrarsi, mintare un NFT o piazzare il loro primo trade senza dover prima passare per una rampa fiat-verso-ETH. Argent, Safe e ZeroDev supportano tutti flussi di sponsorizzazione oggi.
  • Recupero sociale. Puoi configurare il tuo wallet in modo che, se perdi la tua chiave principale, un quorum di "guardiani" (amici, familiari, un dispositivo hardware in una cassaforte) possa ruotare la chiave per tuo conto. La logica di recupero risiede nel tuo contratto wallet — nessun custode centralizzato detiene i tuoi soldi, ma i tuoi soldi non sono persi per sempre se un singolo dispositivo si guasta.
  • Chiavi di sessione. Una dApp può chiedere al tuo wallet una chiave a permessi limitati, ristretta a una sola applicazione e a un insieme di azioni, valida per qualche ora. Firmi una volta con la tua chiave principale per concedere la sessione, poi la dApp può agire dentro la sua sandbox senza chiederti conferma a ogni click. Gli studi di gaming amano questo pattern.
  • Azioni raggruppate. "Approva questo token E scambialo" diventa una sola firma, una sola UserOperation, una sola esecuzione. Se un passaggio fallisce, l'intero lotto viene annullato — niente più transazioni a metà bloccate in uno stato incoerente.
  • Schemi di firma personalizzati. Vuoi un wallet che usi passkey, o un'enclave hardware, o uno schema a soglia 2-su-3? La logica di verifica risiede nel contratto wallet, quindi puoi usare qualsiasi crittografia ti piaccia, non solo lo standard EOA secp256k1 ECDSA.

Come si rapporta al modello multisig di SSP

SSP Wallet imbocca una strada diversa per raggiungere molti degli stessi obiettivi. SSP utilizza un multisig 2-of-2 BIP48 — due chiavi indipendenti, su due dispositivi indipendenti, entrambe richieste per firmare qualsiasi transazione. ERC-4337 e multisig BIP48 sono meccanismi differenti che attaccano un problema condiviso: nessun singolo dispositivo dovrebbe essere un singolo punto di guasto.

Qualche confronto onesto:

  • Cosa condividono. Entrambi eliminano il modo di fallire "una chiave, una possibilità" di un classico wallet a firma singola. Perdi un fattore, e puoi recuperare con l'altro. Comprometti un fattore (malware su un laptop, un telefono perso), e un attaccante comunque non può muovere i fondi da solo.
  • Dove differiscono. BIP48 è uno standard multisig radicato in Bitcoin che funziona attraverso le catene supportate da SSP — Bitcoin, Ethereum, Litecoin e diverse altre — usando le primitive multisig native di ciascuna catena. ERC-4337 è esclusivo di Ethereum e vive a livello smart contract, quindi viene fornito con capacità che BIP48 non ha nativamente (sponsorizzazione del gas, chiavi di sessione), ma al costo di una portata limitata a Ethereum e di un overhead di esecuzione contrattuale.
  • Dove sta SSP oggi. SSP è costruito attorno al modello BIP48. I wallet ERC-4337 e il multisig in stile SSP non sono nemici — sono strumenti complementari — e in linea di principio una chiave multisig BIP48 potrebbe essere usata come firmatario all'interno di un wallet AA. Non è la strada principale di SSP in questo momento, e preferiamo essere chiari sul prodotto di oggi piuttosto che promettere integrazioni che non abbiamo rilasciato.

Se ti sei chiesto "dovrei usare un wallet AA o un multisig hardware?", la risposta onesta è che risolvono problemi sovrapposti con compromessi differenti — e la risposta giusta dipende da quali catene ti interessano.

I compromessi onesti

L'account abstraction è un genuino passo avanti, ma non è gratuita, e chiunque ti dica il contrario sta vendendo qualcosa.

  • I costi del gas sono più alti. Ogni UserOperation esegue codice contrattuale nell'EntryPoint e nel tuo contratto wallet. È strettamente più computazione di una transazione firmata da un EOA, il che significa più gas. Il bundling ne ammortizza una parte, ma su base per-azione generalmente pagherai più di quanto pagherebbe un EOA.
  • Il recupero vale tanto quanto il contratto di recupero. Il recupero sociale e gli schemi di guardiani sono funzionalità potenti — e sono anche una nuova superficie di attacco. Un bug nella logica di recupero, o un set di guardiani che si rivela troppo piccolo, può essere catastrofico tanto quanto perdere una chiave EOA. Attieniti a implementazioni wallet auditate.
  • I paymaster creano una relazione di fiducia. "La dApp paga il gas" suona benissimo, ma significa che il paymaster vede le tue UserOperations e in linea di principio può rifiutarsi di sponsorizzare transazioni specifiche. Si tratta di un modello di fiducia diverso da "paghi il tuo gas, nessuno può bloccarti".
  • Meno testato sul campo a scala. Gli EOA hanno messo in sicurezza trilioni di dollari nell'arco di più di un decennio. L'ERC-4337 è entrato in funzione a marzo 2023 e sta ancora maturando. Per cold storage di alto valore, la risposta conservativa (wallet hardware, multisig, contratti auditati) ha ancora il track record più lungo.

Approfondire

Per la prospettiva lato SSP su come funziona la sicurezza multi-chiave senza smart contract, leggi Cos'è il multisig 2-of-2?.

Per la specifica tecnica canonica — inclusa la struttura esatta della UserOperation, l'interfaccia dell'EntryPoint, e il ragionamento dietro ogni decisione di design — l'EIP stesso è la fonte primaria: https://eips.ethereum.org/EIPS/eip-4337.

Condividi questo articolo