Un rapido riepilogo su ERC-4337
ERC-4337 è lo standard Ethereum per l'account abstraction — un modo per dare agli account a smart contract la stessa capacità di primo piano di avviare e pagare azioni che gli account externally owned (EOA) hanno sempre avuto, senza alcuna modifica al protocollo di base. Invece di modificare il livello di consenso, ERC-4337 introduce un sistema parallelo di oggetti di livello più alto e di infrastruttura off-chain che alla fine viene saldato tramite normali transazioni Ethereum. Se prima vuoi la versione dalle fondamenta, il nostro approfondimento su cos'è l'account abstraction copre le motivazioni, e cos'è ERC-4337 mappa l'intero standard. Questo articolo si concentra sulla meccanica: gli oggetti che si muovono nel sistema e gli attori che li elaborano. Nota che ERC-4337 è uno standard EVM — si applica a Ethereum e alle chain compatibili EVM, non alle chain non-EVM come Solana o TON.
Cos'è davvero una UserOperation
L'oggetto centrale in ERC-4337 è la UserOperation. A prima vista sembra una transazione, ma si comprende meglio come una dichiarazione firmata di intento: "ecco cosa vuole fare il mio account, ed ecco i parametri per validarlo e pagarlo." Una UserOperation contiene campi come l'account mittente, un nonce, i calldata da eseguire, i limiti di gas, i parametri della commissione, un campo opzionale paymasterAndData e una firma.
La differenza chiave rispetto a una transazione normale è chi e cosa la firma. Una transazione Ethereum convenzionale deve essere firmata dalla chiave privata di un EOA con uno schema ECDSA fisso, e lo stesso account paga il gas. Una UserOperation è validata dalla logica dell'account a smart contract del mittente — che può implementare qualsiasi schema di firma, regola multi-chiave o policy di autorizzazione l'account definisca — e non deve necessariamente pagarsi da sola in gas nativo. Questa flessibilità è tutto il punto: è l'account, non il protocollo, a decidere cosa sia un'azione valida.
La mempool alternativa in cui vivono
Le UserOperation non entrano nella normale mempool delle transazioni Ethereum, perché non sono ancora transazioni. Vengono invece trasmesse a una mempool alternativa separata (spesso chiamata alt-mempool) — una rete peer-to-peer dedicata agli oggetti ERC-4337. Wallet e dApp inviano qui le UserOperation, e l'infrastruttura che le consuma resta in ascolto su questa rete anziché sulla mempool del livello base. Questa separazione tiene il traffico di account abstraction fuori dal percorso critico per il consenso fino al momento in cui viene impacchettato in una vera transazione.
Il ruolo del bundler
Un bundler è l'attore off-chain che trasforma gli intenti in realtà on-chain. Il suo compito ha quattro parti. Primo, raccoglie le UserOperation dalla mempool alternativa. Secondo, simula e valida ciascuna — eseguendo la logica di validazione dell'account in un contesto simulato per confermare che la firma sia valida, il nonce corretto e che l'account (o il suo paymaster) possa coprire il costo — applicando al contempo regole che impediscono alle operazioni di consumare risorse che non possono pagare. Terzo, impacchetta una o più UserOperation valide in una singola normale transazione Ethereum. Quarto, invia quella transazione alla rete dal proprio EOA, pagando in anticipo il gas del livello base e aspettandosi di essere rimborsato on-chain.
Poiché il bundler anticipa il gas e guadagna commissioni per l'inclusione, si comporta molto come un block builder specializzato per il traffico di account abstraction. Il suo passaggio di simulazione-e-validazione è ciò che lo protegge: non impacchetterà un'operazione che non riuscirebbe a rimborsarlo.
Il contratto EntryPoint
Tutto converge su un singolo, canonico smart contract chiamato EntryPoint. La transazione del bundler è una chiamata all'EntryPoint con un array di UserOperation. L'EntryPoint esegue poi un rigoroso ciclo in due fasi. Nella fase di validazione, per ogni operazione chiama la funzione di validazione dell'account mittente (e quella del paymaster, se ne è specificato uno) per ri-verificare on-chain la firma, il nonce e l'accordo di pagamento. Solo dopo che tutte le operazioni del batch sono state validate passa alla fase di esecuzione, in cui invia i calldata di ciascuna operazione al rispettivo account per eseguire effettivamente il trasferimento, lo swap o l'altra azione.
Questa separazione è importante: validazione ed esecuzione sono separate in modo che le garanzie di pagamento di un batch siano stabilite prima che venga eseguito qualsiasi lavoro che modifica lo stato, e così l'EntryPoint può contabilizzare il gas con precisione su molte operazioni in una volta sola.
Dove si colloca il paymaster
Un paymaster è un contratto opzionale che accetta di pagare una UserOperation per conto dell'account. Quando una UserOperation include dati di paymaster, l'EntryPoint chiede a quel paymaster, durante la fase di validazione, se sponsorizzerà l'operazione e a quali condizioni. Il paymaster può accettare incondizionatamente (vera sponsorizzazione gasless), oppure può accettare in cambio di valore — più utilmente, addebitando all'utente un token ERC-20 invece del gas nativo. Per uno sguardo più approfondito a questo componente, vedi cos'è un paymaster. Il paymaster è il punto di aggancio del flusso che disaccoppia "con cosa paga l'utente" da "con cosa viene pagata la rete."
Come vengono gestiti gas e fallimenti
Il gas in ERC-4337 è stratificato. Il bundler paga vero ETH per la transazione esterna; l'EntryPoint misura il gas di validazione ed esecuzione di ogni UserOperation rispetto ai limiti dichiarati; e chiunque sia responsabile — l'account o il suo paymaster — deve aver messo in stake o depositato abbastanza per coprire il conto, che l'EntryPoint salda alla fine. I fallimenti sono contenuti dal design validazione-prima-di-tutto. Se un'operazione fallisce durante la validazione on-chain, viene semplicemente esclusa e non può essere registrata, e la simulazione off-chain del bundler serve a intercettarlo prima dell'invio. Se un'operazione supera la validazione ma la sua esecuzione fa revert, gli effetti dell'esecuzione vengono annullati mentre il gas già speso viene comunque contabilizzato e pagato — così un bundler non resta senza compenso per un lavoro onesto. È per questo che i bundler simulano con tanta attenzione: la loro protezione contro il grief è rifiutare di includere qualsiasi cosa che non li rimborserebbe.
Come WATS utilizza tutto questo
Sulle chain EVM, WATS si affida a esattamente un pezzo di questo flusso: un paymaster ERC-4337. Quando effettui un trasferimento, uno swap o uno stake nel WATS Hot Wallet, il paymaster è ciò che consente di addebitare la tua commissione in ATS anziché nel gas nativo della chain — non hai mai bisogno di detenere ETH, BNB o qualsiasi altro token di gas per operare. Poiché ATS è un OFT di LayerZero, un unico saldo ATS copre le commissioni su EVM, Solana e TON (sulle chain non-EVM un fee-payer equivalente svolge il ruolo del paymaster), e gli ATS incassati vengono bruciati da 100.000.000 verso un floor di 30.000.000. WATS resta pienamente non-custodial — sei tu a detenere le tue chiavi — ed è il primo e unico wallet a combinare commissioni a token unico ERC-4337 + OFT addebitate al posto del gas nativo con quel burn. Vedi come funziona il modello di commissioni ATS per il quadro completo.
Domande frequenti
Qual è la differenza tra una UserOperation e una normale transazione Ethereum?
Una transazione normale è firmata da un account externally owned con ECDSA fisso e paga il proprio gas nel token nativo della chain. Una UserOperation è un oggetto di intento di livello più alto, validato dalla logica dell'account a smart contract del mittente, che può usare regole personalizzate, e non deve necessariamente pagarsi da sola in gas nativo — un paymaster può coprire la commissione. Le UserOperation viaggiano inoltre attraverso una mempool alternativa separata anziché nella mempool standard delle transazioni.
Cosa fa davvero un bundler ERC-4337?
Un bundler raccoglie le UserOperation dalla mempool alternativa, simula e valida ciascuna per confermare firme, nonce e che il pagamento possa essere coperto, quindi impacchetta quelle valide in una singola normale transazione Ethereum che chiama il contratto EntryPoint. Invia quella transazione dal proprio account, anticipando il gas del livello base e aspettandosi di essere rimborsato on-chain. Una simulazione attenta è ciò che protegge il bundler dall'includere operazioni che non lo ripagherebbero.
ERC-4337 mi permette di pagare le commissioni di gas in un token diverso da ETH?
Sì, quando si usa un paymaster. Un paymaster è un contratto opzionale che può sponsorizzare una UserOperation e, invece di addebitare gas nativo, accettare il pagamento in un token ERC-20, saldando separatamente la commissione di rete effettiva. È così che un wallet può permetterti di operare senza detenere il token di gas nativo della chain. ERC-4337 e i suoi paymaster sono esclusivamente EVM; chain non-EVM come Solana e TON ottengono un risultato simile con un fee-payer o relayer equivalente.

