Autore originale: Visa, Andrew Beams, Catherine Gu
Compilazione originale: PANews, Giordania
Poiché l’adozione della blockchain continua ad aumentare, aumenta anche la necessità di esperienze utente e prodotti superiori che supportino casi d’uso del mondo reale. Visa fornisce già ai clienti (soprattutto ai giovani) comode detrazioni automatiche e pagamenti automatici regolari, ma sembra ancora difficile implementare questa funzione su una blockchain come Ethereum. Ethereum è la rete blockchain con il maggior volume di pagamenti e, per alcuni tipi di portafogli digitali on-chain, prelevare automaticamente i pagamenti dagli account degli utenti su base regolare è ancora un "grande progetto".
A questo proposito, Visa ha proposto il concetto di Account Abstraction (AccountAbstraction) e lo ha utilizzato per esplorare come utilizzare i contratti intelligenti per implementare pagamenti automatizzati programmabili e per dimostrare come scrivere contratti intelligenti per portafogli self-hosted che supportano il prelievo automatico di fondi. .
Scenari di casi d'uso
Consideriamo uno scenario: supponiamo che oggi sia il 25 febbraio e che Alice vada in vacanza sulle Alpi. Tornerà il 10 marzo, ma deve pagare il mutuo, le bollette della TV via cavo e le bollette prima del 5 di ogni mese è che non ha abbastanza soldi per pagare prima di prendere le ferie, ma ne avrà abbastanza quando riceverà lo stipendio il 1° marzo. Ora sorge la domanda: come può Alice godersi le vacanze senza restare indietro con i pagamenti?

Sì, la risposta è: detrazione automatica. Infatti, se Alice ha un conto bancario, la detrazione automatica è un processo molto semplice. Basta associare il suo conto di debito alla sua carta Visa. Tuttavia, sulla blockchain, eseguire un’operazione del genere non è così semplice. Tuttavia, trattandosi di una nuova tecnologia, vale la pena esplorare soluzioni di contratto intelligente blockchain per gli scenari di cui sopra.
Prima di arrivare al punto, comprendiamo innanzitutto il concetto di account Ethereum. Attualmente esistono due tipi di account sulla rete Ethereum:
1. Account di proprietà esterna, spesso chiamati "account utente"
2. Conti contrattuali (ContractAccount), spesso chiamati "contratti intelligenti"
Gli account utente controllati da chiavi private possono inviare transazioni e i contratti intelligenti richiedono l'esecuzione del codice associato, ma i contratti intelligenti non possono "avviare transazioni da soli" perché le transazioni devono sempre provenire dall'account utente ed essere firmate dall'utente. Queste transazioni includono: Ethereum Zone Un semplice trasferimento di token tra account utente sulla blockchain può innescare una serie di transazioni più complesse che eseguono molte azioni diverse attraverso contratti intelligenti.
Quindi, come implementare i pagamenti automatizzati sulla blockchain di Ethereum?
Rivediamo la situazione di Alice.
Supponiamo che Alice abbia un account utente sulla blockchain di Ethereum e depositi il suo stipendio sul conto e lo utilizzi per pagare il mutuo, la bolletta della TV via cavo e le bollette. Oggi, per pagare la fattura, è necessario avviare una transazione per trasferire i token dal suo "conto di proprietà esterna" all'account utente del beneficiario.
Per approfondire, l'"account di proprietà esterna" di Alice ha una chiave/chiave privata che solo lei conosce, e solo lei può utilizzare questa chiave privata per generare una firma Elliptic Curve Digital Signature Algorithm (ECDSA), che è valida per la creazione di transazioni cruciali. Tuttavia, se Alice va in vacanza, chi genererà questa firma e creerà la transazione di pagamento della commissione?
Attualmente esiste una soluzione per Alice che utilizza un portafoglio di custodia, che consente a terzi di controllare la chiave privata di Alice. In altre parole, Alice si fida di una terza parte per proteggere i suoi fondi e quando desidera fare trading o inviare fondi a un conto designato, il vantaggio di ciò è che Alice può utilizzare il custode dei fondi per generare le firme necessarie per creare transazioni per operazioni automatiche programmate. pagamenti, ma lo svantaggio è che deve fidarsi completamente di questa terza parte.
E se Alice non volesse utilizzare un portafoglio di custodia perché è preoccupata per il rischio, ma utilizzasse invece un portafoglio di autocustodia e pianificasse i pagamenti automatici? Successivamente, introduciamo un altro concetto: astrazione dell'account (AccountAbstraction).
Che cos'è l'astrazione dell'account?
L'astrazione dell'account è una proposta che tenta di unire gli account utente e i contratti intelligenti in un nuovo tipo di account Ethereum facendo in modo che gli account utente si comportino come contratti intelligenti. In futuro, l'astrazione dell'account ci consentirà di progettare una soluzione semplice per i pagamenti automatizzati e di avere una maggiore flessibilità nella verifica delle transazioni on-chain, come:
1. Gli account multiproprietario possono essere abilitati tramite la verifica di più firme.
2. Consentire l'utilizzo delle firme post-quantiche per verificare le transazioni.
3. Consentire un cosiddetto conto pubblico in cui chiunque possa effettuare transazioni eliminando completamente la verifica della firma.
In sostanza, l'astrazione dell'account consente una validità programmabile per verificare e confermare qualsiasi transazione blockchain. Le transazioni basate sul protocollo Ethereum non devono essere interamente basate su condizioni di validità codificate, ma alcune condizioni possono essere scritte in modo "personalizzato". nel contratto intelligente dell'account.
In più, l’astrazione del conto supporta i pagamenti automatici poiché è possibile impostare regole di validazione che non prevedono più la verifica della firma. Vediamo come.
Conti delegabili: utilizzo dell'astrazione dell'account per implementare funzioni di pagamento automatico sulla catena Ethereum
La soluzione di pagamento automatizzato Ethereum di Visa consiste nel sfruttare l'astrazione del conto e creare un nuovo tipo di contratto di conto: un conto delegato. L'idea principale è quella di estendere le regole di validità programmabili delle transazioni per includere elenchi di autorizzazioni pre-approvati. In poche parole, l’astrazione dell’account può delegare le operazioni di pagamento automatico avviate dagli account utente a contratti intelligenti di pagamento automatico pre-approvati.
Innanzitutto, i commercianti devono implementare contratti intelligenti con pagamento automatico. Quando un utente con un account delegato visita il sito web di un commerciante, vedrà una richiesta di approvazione di un pagamento automatico, simile a ciò che Visa accetta per le fatture. In questo momento, l'utente può vedere che il contratto di pagamento automatico eseguirà operazioni a nome dell'utente e che i parametri possono essere impostati in base alle esigenze dell'utente, ad esempio l'utente può essere addebitato solo una volta al mese e l'addebito non può superare l'importo massimo impostato, ecc. Soprattutto, poiché si tratta di un contratto intelligente, gli utenti possono essere certi che il contratto di pagamento automatizzato non verrà eseguito altrimenti.
Se l'utente accetta di approvare i pagamenti automatici, il portafoglio aggiungerà l'indirizzo del contratto di pagamento automatico all'elenco dei contratti consentiti per l'account delegabile dell'utente.

Successivamente il commerciante attiva il pagamento richiamando la funzione di addebito del contratto di pagamento automatico. Il contratto di pagamento automatico attiverà l'account dell'utente per avviare una transazione di pagamento push. Questa transazione sarà una transazione valida perché è stata aggiunta in anticipo all'elenco consentito.

Oltre ai pagamenti ricorrenti, la soluzione può anche soddisfare diverse applicazioni nel mondo reale. La soluzione del conto affidato Visa può anche essere estesa in futuro a servizi come il recupero del conto di terze parti.
Implementazione dell'astrazione dell'account su StarkNet

Poiché Ethereum non supporta ancora l'astrazione del conto, Visa ha implementato una soluzione di conto delegato su StarkNet, una blockchain di livello 2 costruita sulla blockchain di Ethereum per aumentare il throughput delle transazioni e altre funzionalità per migliorare le capacità del livello di regolamento Blockchain sottostante, sviluppato da startup di crittografia StarkWare. Il modello di conto di StarkNet è ciò che Visa attualmente chiama astrazione del conto. Il conto astratto controlla se la transazione proviene da un determinato indirizzo.
Per gli account concreti, se qualcuno invia un token all'account utente, si interagisce con il contratto del token e il contratto del token verifica se l'identità (chiave) utilizzata per firmare la transazione per questo trasferimento è registrata come attuale proprietario del token. Per gli account astratti, se qualcuno invia un token al tuo account, interagirai anche con il contratto del token, che controllerà se l'identità (contratto) utilizzata per effettuare questo trasferimento è registrata come l'attuale proprietario del token. Per i conti astratti, ciò che conta è chi (indirizzo) sta eseguendo la transazione, non come (firma) viene eseguita la transazione.
Con il modello di conto StarkNet, Visa è in grado di implementare una soluzione di conto delegato che consente pagamenti automatizzati per portafogli self-hosted.
Insomma
Essendo una delle reti di pagamento più grandi al mondo, Visa sta esplorando attivamente soluzioni innovative di contratti intelligenti per promuovere valuta e pagamenti programmabili.
I pagamenti automatizzati sono una delle caratteristiche principali che mancano all’infrastruttura blockchain esistente, ma sfruttare il concetto di astrazione dell’account potrebbe fornire portafogli self-hosted con funzionalità di pagamenti ricorrenti automatizzati e persino portare altre applicazioni del mondo reale oltre i pagamenti automatizzati nella catena blockchain creando una migliore esperienza utente per i canali di pagamento tradizionali e per i canali di pagamento emergenti.
