Autor original: Visa, Andrew Beams, Catherine Gu

Compilație originală: PANews, Iordania

Pe măsură ce adoptarea blockchain-ului continuă să crească, la fel crește și nevoia de experiențe superioare pentru utilizatori și produse care sprijină cazurile de utilizare din lumea reală. Visa oferă deja clienților (în special clienților tineri) deduceri automate convenabile și plăți automate regulate, dar încă pare dificil de implementat această funcție pe un blockchain precum Ethereum. Ethereum este rețeaua blockchain cu cel mai mare volum de plăți, iar pentru unele tipuri de portofele digitale în lanț, retragerea automată a plăților din conturile de utilizator în mod regulat este încă un „proiect mare”.

În acest sens, Visa a propus conceptul de abstracție a contului (AccountAbstraction) și l-a folosit pentru a explora modul de utilizare a contractelor inteligente pentru a implementa plăți programabile automate și pentru a demonstra cum să scrieți contracte inteligente pentru portofelele găzduite de sine stătătoare care acceptă retragerea automată a fondurilor. .

Scenarii de caz de utilizare

Luați în considerare un scenariu: să presupunem că astăzi este 25 februarie și Alice pleacă în vacanță în Alpi. Se va întoarce pe 10 martie, dar trebuie să își plătească ipoteca, facturile de televiziune prin cablu și facturile de utilități înainte de 5 a fiecărei luni este că nu are suficienți bani de plătit înainte de a-și lua concediul, dar va avea destui bani când va primi salariul pe 1 martie. Acum apare întrebarea, cum se poate bucura Alice de vacanță fără a rămâne în urmă cu plățile ei?

Da, răspunsul este - deducere automată. De fapt, dacă Alice are un cont bancar, deducerea automată este un proces foarte simplu, trebuie doar să-și asocieze contul de debit cu cardul Visa. Cu toate acestea, pe blockchain, efectuarea unei astfel de operațiuni nu este atât de simplă.

Înainte de a trece la subiect, să înțelegem mai întâi conceptul de cont Ethereum. În prezent, în rețeaua Ethereum există două tipuri de conturi:

1. Conturi deținute extern, adesea numite „conturi de utilizator”

2. Conturi contractuale (ContractAccounts), adesea numite „contracte inteligente”

Conturile de utilizator controlate de chei private pot trimite tranzacții, iar contractele inteligente necesită cod asociat pentru a fi executate, dar contractele inteligente nu pot „iniția tranzacții în sine”, deoarece tranzacțiile trebuie să provină întotdeauna din contul de utilizator și să fie semnate de utilizator. Aceste tranzacții includ: Zona Ethereum Un simplu transfer de jetoane între conturile de utilizator de pe blockchain poate declanșa o serie de tranzacții mai complexe care efectuează multe acțiuni diferite prin contracte inteligente.

Deci, cum să implementați plăți automate pe blockchain-ul Ethereum?

Să revizuim situația lui Alice.

Să presupunem că Alice are un cont de utilizator pe blockchain-ul Ethereum și își depune salariul în cont și îl folosește pentru a-și plăti ipoteca, factura de cablu și facturile de utilități. Astăzi, pentru a-și plăti factura, trebuie inițiată o tranzacție pentru a transfera jetoane din „contul deținut extern” al ei în contul de utilizator al beneficiarului.

Pentru a detalia, „contul deținut extern” al lui Alice are o cheie/cheie privată pe care numai ea o știe și numai ea poate folosi această cheie privată pentru a genera o semnătură Eliptic Curve Digital Signature Algorithm (ECDSA), care este valabilă pentru crearea Tranzacțiilor sunt cruciale. Totuși, dacă Alice pleacă în vacanță, cine va genera această semnătură și va crea tranzacția de plată a taxei?

În prezent, există o soluție pentru ca Alice să folosească un portofel de custodie, care permite unei terțe părți să controleze cheia privată a lui Alice. Cu alte cuvinte, Alice are încredere într-o terță parte pentru a-și proteja fondurile și, atunci când dorește să tranzacționeze sau să trimită fonduri într-un cont desemnat, avantajul acestui lucru este că Alice poate folosi custodele fondurilor pentru a genera semnăturile necesare pentru a crea tranzacții automate programate. plăți, dar dezavantajul este că trebuie să aibă încredere totală în acest terț.

Deci, ce se întâmplă dacă Alice nu vrea să folosească un portofel cu custodie pentru că este îngrijorată de risc, ci folosește un portofel cu custodie personală și programează plăți automate? În continuare, să introducem un alt concept - Abstracția contului (AccountAbstraction).

Ce este abstracția contului?

Abstracția contului este o propunere care încearcă să îmbine conturile de utilizator și contractele inteligente într-un nou tip de cont Ethereum, făcând ca conturile de utilizator să se comporte ca niște contracte inteligente. În viitor, abstracția contului ne va permite să proiectăm o soluție simplă pentru plăți automate și să avem o flexibilitate mai mare în verificarea tranzacțiilor în lanț, cum ar fi:

1. Conturile cu mai mulți proprietari pot fi activate prin verificarea cu mai multe semnături.

2. Permiteți utilizarea semnăturilor post-cuantice pentru a verifica tranzacțiile.

3. Permiteți un așa-zis cont public în care oricine poate efectua tranzacții eliminând complet verificarea semnăturii.

În esență, abstracția contului permite validitatea programabilă pentru a verifica și confirma orice tranzacție blockchain. în contractul inteligent al contului.

În plus, abstracția contului acceptă plăți automate, deoarece este posibil să se configureze reguli de validare care nu mai includ verificarea semnăturii. Să vedem cum se face asta.

Conturi delegabile - folosind abstracția contului pentru a implementa funcții de plată automată pe lanțul Ethereum

Soluția de plăți automate Ethereum de la Visa este de a valorifica abstracția contului și de a crea un nou tip de contract de cont - un cont delegat. Mai simplu spus, abstracția contului poate delega operațiunile de plată automată inițiate de conturile de utilizator către contracte inteligente de plată automată preaprobate.

În primul rând, comercianții trebuie să implementeze contracte inteligente de plată automată. Când un utilizator cu un cont delegat vizitează site-ul web al unui comerciant, va vedea o solicitare de aprobare a unei plăți automate - similar cu ceea ce Visa acceptă pentru facturi. În acest moment, utilizatorul poate vedea că contractul de plată automată va efectua operațiuni în numele utilizatorului, iar parametrii pot fi setați în funcție de nevoile utilizatorului, cum ar fi utilizatorul poate fi taxat doar o dată pe lună, iar taxa nu poate depășește suma maximă stabilită etc. Cel mai bine, deoarece acesta este un contract inteligent, utilizatorii pot fi siguri că contractul de plată automatizată nu va fi executat altfel.

Dacă utilizatorul este de acord să aprobe plățile automate, portofelul va adăuga adresa contractului de plată automată la lista de contracte permise pentru contul delegabil al utilizatorului.

În continuare, comerciantul declanșează plata apelând funcția de taxare a contractului de plată automată. Contractul de plată automată va declanșa contul utilizatorului să inițieze o tranzacție de plată push Această tranzacție va fi o tranzacție validă, deoarece a fost adăugată în lista permisă.

Pe lângă plățile recurente, soluția poate îndeplini și diferite aplicații din lumea reală. Soluția de cont încredințat Visa poate fi extinsă și la servicii precum recuperarea contului de la terți.

Implementarea abstracției contului pe StarkNet

Deoarece Ethereum nu acceptă încă abstracția contului, Visa a implementat o soluție de cont delegat pe StarkNet, un blockchain de nivel 2 construit pe deasupra blockchain-ului Ethereum pentru a crește debitul tranzacțiilor, precum și alte caracteristici pentru a îmbunătăți capacitățile de bază ale stratului de decontare Blockchain, dezvoltate de startup-ul cripto StarkWare. Modelul de cont StarkNet este ceea ce Visa numește în prezent abstracția contului. Contul abstract verifică dacă tranzacția provine de la o anumită adresă.

Pentru conturile concrete, dacă cineva trimite un token în contul de utilizator, contractul de token este interacționat, iar contractul de token verifică dacă identitatea (cheia) utilizată pentru semnarea tranzacției pentru acest transfer este înregistrată ca proprietarul actual al jetonului. Pentru conturile abstracte, dacă cineva trimite un token în contul dvs., veți interacționa și cu contractul de token, care va verifica dacă identitatea (contractul) utilizată pentru a efectua acest transfer este înregistrată ca proprietarul actual al jetonului. Pentru conturile abstracte, ceea ce contează este cine (adresa) execută tranzacția, nu cum (semnătura) este executată tranzacția.

Cu modelul de cont StarkNet, Visa poate implementa o soluție de cont delegat care permite plăți automate pentru portofelele auto-găzduite.

în concluzie

Fiind una dintre cele mai mari rețele de plată din lume, Visa explorează în mod activ soluții inovatoare de contracte inteligente pentru a promova moneda și plățile programabile.

Plățile automate sunt una dintre caracteristicile de bază de care lipsește infrastructura blockchain existentă, dar valorificarea conceptului de abstracție a contului ar putea oferi portofele auto-găzduite cu capabilități de plăți recurente automate și chiar aduce alte aplicații din lumea reală dincolo de plățile automate în lanțul de blocuri crearea unei experiențe de utilizator mai bune pentru canalele tradiționale de plată și canalele de plată emergente.