Ethereum Foundation analizează afirmații privind tranzacțiile care le-ar permite utilizatorilor să atașeze condiții executorii rezultatului final al unei tranzacții, în loc să se bazeze doar pe aprobarea acțiunii solicitate. Cercetarea, parte a inițiativei sale Trillion Dollar Security, vizează o lacună în siguranța tranzacțiilor: o semnătură validă nu garantează că soldurile, permisiunile sau controalele asupra contului rezultate corespund intenției semnatarului.
Idei principale
- Verificările propuse ar evalua rezultatele tranzacției în timpul execuției și ar anula acțiunile care încalcă o regulă semnată.
- Protecția depinde de reguli aprobate independent de un eventual generator de tranzacții compromis.
- Cercetarea ar putea susține politicile de siguranță ale portofelelor, agenții delegați și fluxurile de lucru ale solverilor, însă nu este vorba despre o implementare anunțată.
Cuprins
- De ce aprobarea unei tranzacții poate duce totuși la o pierdere
- Cum ar verifica afirmațiile privind tranzacțiile rezultatul
- Ce ar permite implementarea propusă să fie verificat
- Ce ar trebui să schimbe portofelele și protocoalele
- Ce ar putea câștiga agenții și fluxurile de lucru ale solverilor
- Concluzie
De ce aprobarea unei tranzacții poate duce totuși la o pierdere
Ethereum execută cererea autorizată de utilizator pe baza codului și a stării disponibile în momentul execuției. Aceste condiții pot diferi de ceea ce a examinat utilizatorul. De exemplu, implementarea unui proxy se poate schimba înainte de execuție, iar ordinea tranzacțiilor poate modifica prețul întâlnit de un swap.
Fundația face distincție între cererile înșelătoare și rezultatele nedorite. În atacurile asupra Bybit și BadgerDAO, interfețele compromise au prezentat cereri de semnare diferite de ceea ce utilizatorii credeau că aprobă. În schimb, chiar și o cerere afișată corect poate permite un rezultat dăunător din punct de vedere economic.
Exemplul oferit este un swap de colateral Aave și CoW care a implicat aproximativ 50,4 milioane de aEthUSDT. Lichiditatea redusă pentru AAVE și plafonul de gaz al CoW au limitat cotația verificată la aproximativ 329 aEthAAVE. Deși era afișat un avertisment privind impactul asupra prețului de 99,9% și se confirma că întreaga valoare putea fi pierdută, utilizatorul a semnat și a primit tokenuri în valoare de aproximativ 36.000 USD.
Această distincție explică de ce descrierile mai bune ale tranzacțiilor nu reprezintă soluția completă. Clear Signing îi ajută pe utilizatori să înțeleagă acțiunea solicitată. Simularea estimează efectele în raport cu o stare selectată a blockchainului. Niciuna dintre acestea nu impune, de una singură, o condiție independentă asupra rezultatului care se produce efectiv.
| Element | Detalii |
|---|---|
| TXTRACE | Enumeră modificările nete ale stării tranzacției și evenimentele emise. |
| TXDIFF | Recuperează valorile inițiale și finale pentru adresele și sloturile de stocare specificate. |
| EVENTDATACOPY | Copiază datele unui eveniment în memorie pentru inspectare. |
| Informații despre implementare | Datele propuse privind modificările stării includ contractele nou implementate și hash-urile codului acestora. |
Cum ar verifica afirmațiile privind tranzacțiile rezultatul
O afirmație ar compara starea inițială și cea finală a unei tranzacții folosind logică doar pentru citire, după executarea acțiunilor. Condiția ar fi inclusă în tranzacție și semnată împreună cu acțiunile. Dacă nu ar fi îndeplinită, acțiunile ar fi anulate.
Printre regulile posibile se numără o cantitate minimă primită, o limită superioară a cheltuielilor, restricții privind noile aprobări de tokenuri sau păstrarea logicii de control a unui cont. Capacitatea de inspectare propusă depășește sfera soldurilor și include stocarea, codul, contractele nou implementate și evenimentele emise.
Verificările existente la nivel de contract protejează deja anumite rezultate. Uniswap poate respinge swapurile sub un prag minim de ieșire specificat, iar un mecanism de protecție Safe poate inspecta starea contului după execuție. Limitarea ține de vizibilitate: astfel de verificări trebuie să anticipeze ce să examineze și, în general, depind de interfețele pe care le expun alte contracte. De exemplu, un proxy nu trebuie neapărat să ofere o funcție care să dezvăluie adresa implementării sale.
Afirmațiile native ar face disponibile pentru verificare efectele nete complete ale tranzacției, inclusiv modificări pe care un mecanism obișnuit de protecție poate să nu știe să le caute. Însă o vizibilitate mai amplă este utilă doar dacă regula este de încredere. O interfață rău intenționată ar putea furniza o condiție care să-i permită propriul atac, așadar politica trebuie să provină dintr-o intenție aprobată independent, din politica contului sau din logica protejată a protocolului.
Ce ar permite implementarea propusă să fie verificat
Anunțul Ethereum Foundation privind afirmațiile native pentru tranzacții descrie EIP-7906 drept o posibilă implementare, nu un design definitiv. Aceasta se bazează pe tranzacțiile de tip frame din EIP-8141, care organizează pașii de validare și acțiune într-o secvență ordonată. EIP-8141 este programat pentru Hegotá; EIP-7906 a ajuns în etapa „Considered for Inclusion”, însă nu este confirmat pentru acel upgrade.
În această abordare, un frame POST_TX, doar pentru citire, ar inspecta rezultatele la finalul execuției. Instrucțiunile propuse pentru accesul la date ar funcționa numai în cadrul acelui frame, nu în întregul EVM.
Informațiile ar descrie efectele nete, nu istoricul fiecărei scrieri intermediare. Un slot de stocare modificat în mod repetat ar apărea cu valorile sale inițială și finală; un slot readus la valoarea inițială nu ar apărea. De aceea, este importantă distincția dintre impunerea condițiilor asupra stării finale și monitorizarea fiecărui pas al execuției.
Dacă o verificare eșuează, corpul execuției ar fi anulat, însă tranzacția ar rămâne în bloc ca eșuată. Plătitorul gazului ar achita în continuare gazul consumat, împiedicând tranzacțiile care eșuează în mod deliberat să impună constructorilor execuție gratuită.
Ce ar trebui să schimbe portofelele și protocoalele
Propunerea oferă un mecanism de verificare, nu o obligație automată de utilizare a acestuia. Pentru tranzacțiile unui utilizator, portofelul ar trebui să includă politica sa de siguranță în construirea tranzacției, în loc să lase generatorul să o poată omite. Politica ar putea deriva din simularea proprie a portofelului sau s-ar putea aplica drept regulă permanentă a contului.
În cazul protocoalelor, protecția ar trebui integrată în condițiile de accesare a unei funcții protejate. Nu ar fi suficientă furnizarea unei tranzacții compatibile cu afirmații: apelul ar trebui să includă verificarea specifică impusă de protocol. Acest lucru ar schimba cerințele de integrare pentru apelanți, în timp ce contractele imuabile deja implementate nu ar putea adăuga retroactiv această verificare la acces.
Aceste dependențe separă o capacitate potențial puternică a EVM de o garanție oferită utilizatorului. Protecția efectivă ar necesita atât o condiție solidă, cât și software care să facă în mod consecvent imposibilă omiterea acesteia.
Ce ar putea câștiga agenții și fluxurile de lucru ale solverilor
Agenții delegați ar putea fi constrânși și prin rezultatele obținute, nu doar prin permisiuni. Limitele privind contractele pe care le poate utiliza un agent sau sumele pe care le poate cheltui ar putea fi completate cu cerințe privind ceea ce rămâne după fiecare tranzacție.
În cazul execuției bazate pe solveri, un protocol ar putea specifica un rezultat acceptabil, lăsând în același timp solverul să aleagă ruta. Garanția s-ar limita la o tranzacție pe o singură rețea, nu la o rută care se desfășoară pe mai multe blockchainuri.
Afirmațiile ar putea verifica și operațiunile de încheiere a fluxurilor de lucru, precum returnarea tokenurilor neutilizate și revocarea aprobărilor rămase. Fundația solicită opinii din partea echipelor de portofele și protocoale pe măsură ce designul continuă, astfel că aceste aplicații potențiale reprezintă direcții de cercetare, nu funcționalități de produs anunțate.
Concluzie
Afirmațiile native privind tranzacțiile ar muta o parte din siguranța tranzacțiilor Ethereum de la interpretarea unei cereri la impunerea rezultatului acesteia. Valoarea lor practică ar depinde de politici de încredere și de adoptarea lor de către portofelele și protocoalele responsabile de aplicarea acestora.
Citește mai multe știri
Declinarea responsabilității
Acest articol FinanceVelix oferă informații generale, nu recomandări financiare, de investiții, juridice sau fiscale personalizate. Prețurile criptoactivelor se pot schimba rapid și puteți pierde toate fondurile investite. Informațiile reflectă materialele disponibile la momentul publicării și se pot modifica. Verificați independent informațiile importante și consultați un specialist calificat atunci când este necesar. Menționarea unui activ, a unei companii sau a unui serviciu nu constituie o recomandare.




