Una delle innovazioni più recenti che hanno iniziato ad essere integrate in Ethereum è il Astrazione dell'account Ethereum (EAA), meglio nota come Ethereum Improvement Proposal (Ethereum Improvement Proposal – EIP 4337), un nuovo paradigma che faciliterà l'utilizzo degli account Ethereum e l'interazione con le dApp distribuite sulla rete.
Inizia su Bit2Me ed entra nel mondo delle criptovalute con un vantaggio. Iscriviti facilmente e ricevi 5€ GRATIS sul tuo primo acquisto con questo link. Non aspettare oltre e unisciti alla rivoluzione crittografica! Registrazione
Portafogli e il loro problema di usabilità nelle criptovalute
Uno dei principali problemi di usabilità con le criptovalute è nel modo in cui gestiamo i nostri account. Dall'avvento di Bitcoin, ci siamo affidati a software progettati per fungere da "portafogli o portamonete per le nostre criptovalute". In realtà, detto software o hardware, a seconda dei casi, è incaricato di gestire le nostre chiavi private e pubbliche, per accedere alle nostre criptovalute contabilizzate nella blockchain.
Questo sistema è utilizzato anche su Ethereum oggi e per un motivo importante: è estremamente sicuro. Se il software e l'hardware sono ben costruiti, è impossibile ottenere quelle chiavi e quindi impossibile accedere ai saldi che abbiamo registrato.
Quindi, una delle premesse principali nelle criptovalute è: mantieni le tue chiavi al sicuro e ben protette.
Non importa se queste chiavi sono un file binario (come in Bitcoin Core, dove tutto è in un file chiamato wallet.dat) o un insieme di parole come frasi seme (generalmente, seguendo lo standard Bitcoin, BIP-39).
Mantenere queste chiavi al sicuro è la sfida più grande per alcune persone, una sfida in cui molti falliscono, perdendo centinaia e persino milioni di dollari di valore. tutto perché una volta perse le chiavi, è impossibile recuperarle nuovamente, un problema di usabilità che allontana molte persone dal settore e dalla tecnologia.
Mentre Nelle criptovalute, la premessa del decentramento del denaro è fondamentale, risolvere questo problema di usabilità è necessario per l'adozione di massa. In effetti, risolverlo significa che più persone si fidano della tecnologia e quindi il denaro decentralizzato raggiunge più persone.
Una delle prime soluzioni sono quelle offerte da exchange e wallet centralizzati. Ma non è del tutto soddisfacente per la comunità, soprattutto quella incentrata sul totale decentramento del denaro.
Tuttavia, Cosa accadrebbe se potessimo unire le capacità di centralizzazione (es: recupero account) con quelle di decentralizzazione dei portafogli che siamo abituati a vedere (es: autocustodia totale)? Bene, questo è esattamente ciò che fa Ethereum Account Abstraction, e lo fa interamente utilizzando contratti intelligenti, per costruire un'intera infrastruttura che ti permetta di configurare portafogli facili da creare, sicuri e con opzioni interessanti come la possibilità di recuperare i nostri saldi nel caso in cui perdiamo l'accesso alle nostre chiavi.
Conoscere i conti e le transazioni in Ethereum
Prima di approfondire come il Astrazione dell'account Ethereum, dobbiamo prima capire cos'è un account nel contesto di Ethereum e come sono controllati. Prima di tutto, devi sapere che in Ethereum ci sono due tipi di account:
- Conti del contratto: Questi tipi di account sono semplicemente un account che vive sulla blockchain e il cui comportamento è definito da uno smart contract che lo controlla.
- Account di proprietà esterna (EOA): in questo caso, un EOA è un account controllato da una coppia di chiavi pubblica/privata. Cioè, le nostre borse per tutta la vita.
Ora che comprendiamo i conti, parliamo di transazioni. Cos'è una transazione? Una transazione è una registrazione di un evento che si verifica sulla blockchain di Ethereum. Le transazioni possono essere utilizzate per trasferire token, coniare NFT o interagire con contratti intelligenti.
Le transazioni vengono avviate da account di proprietà esterna (EOA). Gli EOA sono come le persone e hanno una chiave pubblica e una chiave privata.. La chiave pubblica viene utilizzata per ricevere le transazioni e quella privata per firmarle. Quando un EOA vuole effettuare una transazione, la firma con la sua chiave privata. Questa firma viene utilizzata per verificare che la transazione sia stata autorizzata dal proprietario dell'EOA.
Le transazioni devono anche pagare tasse o commissioni sul gas. Le tariffe del gas vengono utilizzate per pagare le risorse computazionali utilizzate per elaborare la transazione. La quantità di gas necessaria per una transazione dipende dalla complessità della transazione. Con questa conoscenza abbiamo le basi per capire come funzionano questi due elementi e come l'Ethereum Account Abstraction cambierà il modo in cui funzionano.
Ethereum Account Abstraction, cambiando il modo in cui gestiamo i nostri account Ethereum
Ethereum Account Abstraction è una proposta per consentire agli utenti di interagire con applicazioni decentralizzate (dApp), utilizzando smart contract wallet invece di account di proprietà esterna (EOA).
Ciò eliminerebbe completamente la necessità per gli utenti di gestire le proprie chiavi private. I portafogli di contratti intelligenti potrebbero firmare transazioni per conto degli utenti, ma sarebbero controllati dalla logica del contratto intelligente. Ciò consentirebbe una serie di vantaggi, tra cui:
- Maggiore sicurezza: gli utenti non avrebbero più bisogno di gestire le proprie chiavi private, riducendo il rischio di perdere i propri fondi.
- Esperienza utente senza soluzione di continuità: gli utenti possono interagire con le dApp senza doversi preoccupare di gestire i propri account.
- Maggiore adozione: L'astrazione dell'account renderebbe più semplice per gli utenti non tecnici l'adozione delle dApp.
- flessibilità– I portafogli smart contract possono essere programmati per avere regole e impostazioni diverse. Ciò consente agli utenti di avere un maggiore controllo sui propri conti e sui propri fondi.
L'astrazione dell'account è una proposta che ha già iniziato ad essere implementata su Ethereum. In effetti, il principale contratto intelligente, noto come Contratto intelligente EntryPoint, che verrà utilizzato per avviare l'implementazione di queste funzioni, è già stato attivato sulla catena Ethereum ed è stato utilizzato per far avanzare lo sviluppo di questa nuova forma di account su Ethereum.
Storia delle proposte di astrazione dell'account Ethereum
Ethereum Account Abstraction ha da tempo una serie di proposte risalenti al 2016. Tra queste proposte abbiamo:
- EIP-86 (2016): questa proposta consentirebbe agli utenti di creare "contratti di account" che eseguono qualsiasi controllo di firma/nonce desiderato invece di utilizzare il meccanismo attualmente codificato nell'elaborazione delle transazioni.
- EIP-2938 (2020): questa proposta creerebbe una nuova transazione con tipo AA_TX_TYPE. Le transazioni di questo tipo sono chiamate "transazioni AA".
- EIP-3074 (2020): questa proposta consentirebbe agli utenti di delegare il controllo del loro EOA a un contratto intelligente. Consentirebbe a qualsiasi EOA di agire come un portafoglio di contratti intelligenti senza implementare un contratto.
Il motivo per cui queste proposte non sono state ancora implementate è che richiedono modifiche al protocollo del livello di consenso della rete Ethereum. Questi cambiamenti sono difficili da implementare e richiedono molto coordinamento tra le diverse parti interessate. Tuttavia, nel 2021, è stata presentata una nuova proposta per l'estrazione dell'account: EIP-4337. Questa proposta non richiede modifiche al protocollo del livello di consenso e può essere implementata sulla rete Ethereum esistente.
Come funziona Ethereum Account Abstraction secondo EIP-4337?
EIP-4337 introduce un nuovo concetto chiamato "Operazioni utente". Le operazioni utente sono un tipo di transazione che descrive un'operazione da inviare per conto di un utente. Le operazioni dell'utente sono memorizzate in un "mempool alternativo" che è essenzialmente una sala d'attesa per memorizzare informazioni su transazioni non confermate. I nodi sulla rete Ethereum possono scegliere di agire come bundler.
A questo punto, i pooler raccolgono le operazioni degli utenti da alt mempool e raggruppano più operazioni degli utenti in un'unica transazione chiamata "transazione in bundle«. Dopo aver creato una transazione in bundle, la inviano a un contratto intelligente "singleton" globale noto come "EntryPoint". Esiste un solo contratto intelligente EntryPoint nell'intera blockchain.
Lo stitcher chiama una funzione dello smart contract EntryPoint chiamata handleOps. Questa funzione riceve la transazione dal pacchetto e chiama una funzione speciale su ciascun account: validateUserOp. Ogni portafoglio smart contract deve implementare questa funzione. La funzione validateUserOp viene utilizzata per verificare la firma dell'operazione e pagare la quota se l'account considera l'operazione valida, prima di continuare ad eseguire l'operazione. Ogni portafoglio smart contract deve implementare anche una seconda funzione: "execute" dovrebbe essere chiamato per eseguire effettivamente l'operazione inviata dal contratto EntryPoint.
Vantaggi unici del modello
Grazie all'esclusivo modello Ethereum Account Abstraction, vengono introdotte una serie di nuove funzionalità, tra cui:
recupero sociale
Il recupero sociale è una nuova funzionalità che consente agli utenti di aggiungere contatti fidati che possono aiutarli a recuperare i propri account se perdono la frase iniziale. Per utilizzare il recupero sociale, gli utenti creano un elenco di contatti fidati e assegnano loro pesi di recupero. Se un utente perde la frase iniziale, i suoi contatti fidati possono utilizzare i loro pesi di recupero per votare chi dovrebbe essere il nuovo proprietario dell'account.
account multifirma
Gli account multi-firma sono un nuovo tipo di account che richiede più firme per determinate transazioni. Questo può essere utilizzato per aumentare la sicurezza richiedendo a più persone di approvare una transazione prima che possa essere eseguita. Ad esempio, un'azienda può utilizzare un account multi-firma per richiedere l'approvazione di due o più amministratori prima di effettuare un pagamento.
transazioni batch
Le transazioni batch consentono agli utenti di raggruppare più transazioni e firmarle con un'unica firma. Ciò può ridurre i costi del gas eliminando la necessità di pagare il gas per ogni singola transazione. Ad esempio, un utente può raggruppare diversi piccoli pagamenti insieme per ridurre il costo totale del gas.
transazioni sponsorizzate
Le transazioni sponsorizzate consentono agli utenti di pagare le transazioni con token ETH o ERC-20, anziché Ether. Questo può essere utile per gli utenti che non hanno Ether o che vogliono evitare di pagare tariffe elevate per il gas. Ad esempio, un utente potrebbe sponsorizzare una transazione per inviare un messaggio a un amico che non ha Ether.
Pertanto, Ethereum Account Abstraction diventa un miglioramento significativo rispetto ai tradizionali account Ethereum. Rende gli account più sicuri, più facili da usare e più convenienti.