Az Ethereum Foundation olyan tranzakciós állításokat vizsgál, amelyekkel a felhasználók kikényszeríthető feltételeket kapcsolhatnának egy tranzakció végső eredményéhez, ahelyett, hogy csupán a kért művelet jóváhagyására hagyatkoznának. A kutatás a Trillion Dollar Security kezdeményezés része, és a tranzakcióbiztonság egyik hiányosságát célozza: az érvényes aláírás nem garantálja, hogy a létrejövő egyenlegek, jogosultságok vagy fiókvezérlési beállítások megfelelnek annak, amit az aláíró szándékozott.
Főbb tudnivalók
- A javasolt ellenőrzések végrehajtás közben értékelnék a tranzakció eredményét, és visszafordítanák az aláírt szabályt sértő műveleteket.
- A védelem olyan szabályoktól függ, amelyeket a potenciálisan kompromittált tranzakció-összeállítótól függetlenül hagytak jóvá.
- A kutatás támogathatja a tárcák biztonsági szabályzatait, a delegált ügynököket és a solver-alapú munkafolyamatokat, de még nem jelentettek be bevezetést.
Tartalomjegyzék
- Miért okozhat veszteséget egy tranzakció jóváhagyása?
- Hogyan ellenőriznék a tranzakciós állítások az eredményt?
- Milyen adatokat tenne elérhetővé a javasolt megvalósítás?
- Hol kellene változtatniuk a tárcáknak és protokolloknak?
- Milyen előnyökhöz juthatnának az ügynökök és a solver-alapú munkafolyamatok?
- Összegzés
Miért okozhat veszteséget egy tranzakció jóváhagyása?
Az Ethereum azt a kérést hajtja végre, amelyet a felhasználó az érvényesítéskor rendelkezésre álló kód és állapot alapján engedélyez. Ezek a feltételek eltérhetnek attól, amit a felhasználó ellenőrzött. Például egy proxy implementációja megváltozhat a végrehajtás előtt, miközben a tranzakciók sorrendje befolyásolhatja azt az árat, amellyel egy swap szembesül.
Az alapítvány különbséget tesz a félrevezető kérések és a nem kívánt eredmények között. A Bybit és a BadgerDAO elleni támadások során a kompromittált front-endek olyan aláírási kéréseket jelenítettek meg, amelyek eltértek attól, amit a felhasználók véltek jóváhagyni. Ezzel szemben egy pontosan megjelenített kérés is lehetővé tehet gazdaságilag káros eredményt.
Példaként az Aave és a CoW egy körülbelül 50,4 millió dollár értékű aEthUSDT-t érintő fedezetiswapját említi. A szűkös AAVE-likviditás és a CoW gaslimitje miatt az ellenőrzött ajánlat nagyjából 329 aEthAAVE-re szólt. Annak ellenére, hogy 99,9 százalékos árhatásra figyelmeztető jelzés jelent meg, és megerősítették, hogy a teljes érték elveszhet, a felhasználó aláírta a tranzakciót, és körülbelül 36 000 dollár értékű tokent kapott.
Ez a különbség megmagyarázza, miért nem elegendő önmagában a tranzakciók jobb leírása. A Clear Signing segít a felhasználóknak megérteni a kért műveletet. A szimuláció egy kiválasztott láncállapot alapján becsüli meg a hatásokat. Egyik sem ír elő önmagában független feltételt a ténylegesen bekövetkező eredményre.
| Elem | Részletek |
|---|---|
| TXTRACE | Felsorolja a tranzakció nettó állapotváltozásait és a kibocsátott eseményeket. |
| TXDIFF | Lekéri a megadott címek és tárhelyslotok kezdő- és végértékeit. |
| EVENTDATACOPY | Egy esemény adatait memóriába másolja ellenőrzés céljából. |
| Telepítési információk | A javasolt állapotváltozási adatok tartalmazzák az újonnan telepített szerződéseket és azok kódhash-eit. |
Hogyan ellenőriznék a tranzakciós állítások az eredményt?
Az állítás egy tranzakció kezdő és végső állapotát hasonlítaná össze, a műveletek lefutása után, csak olvasási logikával. A feltétel a tranzakció része lenne, és a műveletekkel együtt írnák alá. Ha nem teljesülne, a műveletek visszaállnának.
A lehetséges szabályok között szerepelhet a minimálisan kapott mennyiség, a költési korlát, az új tokenjóváhagyások korlátozása, illetve a fiók vezérlési logikájának megőrzése. A javasolt ellenőrzési lehetőség az egyenlegeken túl a tárhelyre, a kódra, az újonnan telepített szerződésekre és a kibocsátott eseményekre is kiterjed.
A meglévő szerződéses ellenőrzések már most is védenek bizonyos eredményeket. A Uniswap elutasíthatja azokat a swapokat, amelyek kimenete nem éri el a megadott minimumot, a Safe guard pedig ellenőrizheti a fiók állapotát a végrehajtás után. A korlát a láthatóság: az ilyen ellenőrzéseknek előre meg kell határozniuk, mit vizsgáljanak, és általában más szerződések által elérhetővé tett interfészektől függenek. Egy proxy például nem köteles olyan függvényt biztosítani, amely felfedi az implementáció címét.
A natív állítások lehetővé tennék a tranzakció teljes nettó hatásának ellenőrzését, beleértve azokat a változásokat is, amelyekre egy hagyományos guard esetleg nem gondolna. A szélesebb körű láthatóság azonban csak akkor hasznos, ha a szabály megbízható. Egy rosszindulatú front-end olyan feltételt is megadhatna, amely lehetővé teszi a saját támadását, ezért a szabályzatnak függetlenül jóváhagyott szándékból, fiókszabályzatból vagy védett protokolllogikából kell származnia.
Milyen adatokat tenne elérhetővé a javasolt megvalósítás?
Az Ethereum Foundation natív tranzakciós állításokról szóló bejelentése az EIP-7906-ot lehetséges megvalósításként írja le, nem végleges tervként. Az EIP-8141-ben szereplő kerettranzakciókra épül, amelyek rendezett sorozatba szervezik az érvényesítési és műveleti lépéseket. Az EIP-8141 a Hegotához van ütemezve; az EIP-7906 eljutott a „Considered for Inclusion” státuszig, de még nem erősítették meg a frissítés részeként.
Ebben a megközelítésben egy csak olvasásra szolgáló POST_TX keret vizsgálná meg az eredményeket a végrehajtás végén. A javasolt adathozzáférési utasítások kizárólag ezen a kereten belül működnének, nem pedig az EVM egészében.
Az információk a nettó hatásokat írnák le, nem pedig minden köztes írás előzményeit. Egy többször módosított tárhelyslot kezdő- és végértéke jelenne meg; az eredeti értékére visszaállított slot nem szerepelne. Emiatt fontos különbséget tenni a végső állapot kikényszerítése és a végrehajtás minden lépésének megfigyelése között.
Ha egy ellenőrzés sikertelen lenne, a végrehajtási törzs visszaállna, de a tranzakció sikertelenként továbbra is a blokkban maradna. A gas fizetője továbbra is megfizetné a felhasznált gas díját, így a szándékosan meghiúsított tranzakciók nem róhatnának ingyenes végrehajtási terhet a blokképítőkre.
Hol kellene változtatniuk a tárcáknak és protokolloknak?
A javaslat ellenőrzési mechanizmust biztosít, nem pedig automatikus előírást annak használatára. A felhasználói tranzakciók esetében a tárcának a tranzakció összeállításának részévé kellene tennie a biztonsági szabályzatot, ahelyett, hogy az összeállítóra bízná annak elhagyását. A szabályzat származhatna a tárca saját szimulációjából, vagy állandó fiókszabályként is működhetne.
A protokollok esetében a védelmet a védett függvény elérésének feltételeibe kellene beépíteni. Nem lenne elég egy állításokat támogató tranzakció megadása: a hívásnak tartalmaznia kellene a protokoll által megkövetelt konkrét ellenőrzést. Ez megváltoztatná a hívók integrációs követelményeit, a már telepített, megváltoztathatatlan szerződésekre pedig utólag nem lehetne ilyen hozzáférési ellenőrzést bevezetni.
Ezek a függőségek elválasztják egymástól az EVM potenciálisan nagy erejű képességét és a felhasználóknak nyújtott garanciát. A hatékony védelemhez egyaránt szükség lenne megalapozott feltételre és olyan szoftverre, amely következetesen elkerülhetetlenné teszi annak alkalmazását.
Milyen előnyökhöz juthatnának az ügynökök és a solver-alapú munkafolyamatok?
A delegált ügynököket az engedélyeik mellett az eredmények alapján is korlátozni lehetne. Az arra vonatkozó korlátokat, hogy az ügynök mely szerződéseket használhatja, vagy mennyit költhet, kiegészíthetnék az egyes tranzakciók végén fennmaradó állapotot szabályozó követelmények.
A solver-alapú végrehajtásnál a protokoll meghatározhatná az elfogadható eredményt, miközben a solver szabadon választhatna útvonalat. A garancia egyetlen hálózaton végrehajtott tranzakcióra korlátozódna, nem terjedne ki több láncon átívelő útvonalra.
Az állítások a munkafolyamatok lezárását is ellenőrizhetnék, például a fel nem használt tokenek visszaküldését és a fennmaradó jóváhagyások visszavonását. Az alapítvány a terv kidolgozásának folytatása közben visszajelzéseket kér a tárcáktól és a protokollcsapatoktól, ezért ezek az alkalmazási lehetőségek egyelőre kutatási irányok, nem pedig bejelentett termékfunkciók.
Összegzés
A natív tranzakciós állítások az Ethereum-tranzakciók biztonságának egy részét a kérés értelmezésétől az eredmény kikényszerítése felé helyeznék át. Gyakorlati értékük a megbízható szabályzatoktól, valamint az azokat alkalmazó tárcák és protokollok elterjedésétől függne.
További hírek
Jogi nyilatkozat
Ez a FinanceVelix-cikk általános tájékoztatást nyújt, nem minősül személyre szabott pénzügyi, befektetési, jogi vagy adótanácsadásnak. A kriptoeszközök árfolyama gyorsan változhat, és elveszítheti a befektetett pénz egészét. A tények a közzététel időpontjában rendelkezésre álló információkat tükrözik, és változhatnak. A fontos információkat önállóan is ellenőrizze, és szükség esetén forduljon képzett szakemberhez. Egy eszköz, vállalat vagy szolgáltatás említése nem jelent ajánlást.




