EIP-7702

Intermedio

Cos'è EIP-7702?

EIP-7702 è una proposta progettata per migliorare le capacità degli account di proprietà esterna (EOA). Gli EOA sono account di base sulla rete Ethereum, che possono inviare transazioni e interagire con gli smart contract. Tuttavia, non hanno alcune funzionalità presenti in certi wallet crypto, come il batching delle transazioni e la sponsorizzazione del gas.
EIP-7702 mira a consentire temporaneamente agli EOA di comportarsi come account smart contract all'interno di una singola transazione, introducendo così funzionalità tipicamente riservate ai wallet smart contract. EIP-7702 è stata creata in risposta ad alcune limitazioni e critiche di EIP-3074.

Sebbene EIP-7702 non sia attualmente attiva, ha un notevole supporto da parte della comunità e molti ritengono che potrebbe sostituire la proposta EIP-3074. In questo caso, EIP-7702 potrebbe essere implementata nell'aggiornamento Pectra di Ethereum, previsto per la fine del 2024.

Come funziona EIP-7702?

EIP-7702 presenta un nuovo tipo di transazione sulla rete Ethereum che include un campo speciale chiamato contract_code. Questo conferisce a un EOA determinate proprietà smart contract per la durata della transazione. Vediamo come funziona.

Preparazione delle transazioni

L'utente inizia preparando una transazione, includendo i soliti dettagli come l'indirizzo di destinazione, il limite gas e tutti i dati che devono essere inviati. Oltre a questi dettagli, include un pezzo di codice smart contract speciale nel campo contract_code . Questo codice delinea le funzionalità smart contract che saranno temporaneamente assegnate al suo EOA.

Autorizzazione 

L'utente firma quindi la transazione. Questa firma è fondamentale in quanto autentica la transazione e include un elenco di autorizzazioni. Questo elenco descrive in dettaglio il contract_code e le condizioni in cui dovrebbe essere eseguito. In sostanza, verifica e autorizza l'assegnazione temporanea del codice smart contract all'EOA.

Esecuzione

Quando la transazione viene inviata a Ethereum, la rete la elabora assegnando temporaneamente il contract_code specificato all'EOA. Durante questa fase, la transazione viene elaborata come se l'EOA fosse uno smart contract, utilizzando le funzionalità fornite dal contract_code.

Annullamento

Una volta completata la transazione, la rete Ethereum rimuove automaticamente il contract_code temporaneo dall'EOA. L'EOA torna al suo stato originale, perdendo le funzionalità smart contract temporanee.

Analogia di consegna

Immagina che Bob sia un fattorino con un'auto normale che può trasportare solo piccoli pacchi. Un giorno, Bob riceve una richiesta di consegna per un pacco più grande. Quindi, invece di rifiutare l'ordine, Bob decide di noleggiare un contenitore aggiuntivo da attaccare alla sua auto. Consegna il pacco e restituisce il contenitore al negozio di noleggio, tornando alla sua auto normale.

In questa analogia:

  • L'auto normale è l'EOA.

  • Il contenitore temporaneo è il contract_code che fornisce funzionalità aggiuntive.
  • Il viaggio di consegna è la transazione.

  • Il noleggio e la restituzione del contenitore rappresentano la natura temporanea del contract_code, che è attivo solo durante la transazione.

Vantaggi di EIP-7702

Security

Rimuovendo automaticamente il codice smart contract temporaneo dopo la transazione, EIP-7702 ridurrebbe il rischio di azioni non autorizzate. Questo assicura che i potenziamenti siano attivi solo durante la transazione, limitando le potenziali vulnerabilità.

Flessibilità

EIP-7702 consentirebbe vari casi d'uso, come il batching delle transazioni, in cui più azioni possono essere combinate in un'unica transazione. Supporterebbe anche la sponsorizzazione del gas, consentendo a un account di pagare le commissioni di transazione di un altro account.

Adozione degli smart wallet

Consentendo agli EOA di funzionare temporaneamente come smart contract, EIP-7702 potrebbe incoraggiare l'uso delle funzionalità smart wallet senza i rischi di sicurezza associati alle modifiche permanenti degli EOA.

Conclusione

EIP-7702 è una proposta che affronta i limiti degli EOA garantendo temporaneamente funzionalità smart contract. Questo può migliorare la sicurezza limitando la durata delle funzionalità smart contract a una singola transazione. Può anche fornire una maggiore flessibilità attraverso il batching delle transazioni, la sponsorizzazione del gas e altre funzionalità.

Sebbene il suo futuro non sia ancora certo, il notevole supporto per EIP-7702 indica una forte possibilità di inclusione nel prossimo aggiornamento Pectra di Ethereum, previsto per la fine del 2024.