Nadácia Ethereum skúma asercie o transakciách, ktoré by používateľom umožnili pripojiť k transakcii vynútiteľné podmienky týkajúce sa jej konečného výsledku, namiesto toho, aby sa spoliehali iba na schválenie požadovanej akcie. Výskum, ktorý je súčasťou iniciatívy Trillion Dollar Security, sa zameriava na nedostatok v bezpečnosti transakcií: platný podpis nezaručuje, že výsledné zostatky, oprávnenia alebo ovládacie prvky účtu budú zodpovedať zámeru podpisujúceho.
Kľúčové body
- Navrhované kontroly by počas vykonávania vyhodnocovali výsledky transakcie a rušili akcie, ktoré porušia podpísané pravidlo.
- Ochrana závisí od pravidiel schválených nezávisle od potenciálne kompromitovaného tvorcu transakcie.
- Výskum by mohol podporiť bezpečnostné pravidlá peňaženiek, delegovaných agentov a pracovné postupy založené na solveroch, nejde však o oznámenie nasadenia.
Obsah
- Prečo môže schválenie transakcie aj tak viesť k strate
- Ako by asercie o transakciách kontrolovali výsledok
- Aké informácie by navrhovaná implementácia sprístupnila
- Kde by bolo potrebné zmeniť peňaženky a protokoly
- Čo by mohli získať agenti a pracovné postupy solverov
- Záver
Prečo môže schválenie transakcie aj tak viesť k strate
Ethereum vykoná požiadavku, ktorú používateľ autorizuje, na základe kódu a stavu dostupných v čase jej vykonania. Tieto podmienky sa môžu líšiť od toho, čo si používateľ skontroloval. Napríklad implementácia proxy sa môže zmeniť ešte pred vykonaním, zatiaľ čo poradie transakcií môže ovplyvniť cenu, s ktorou sa pri swape stretnete.
Nadácia rozlišuje medzi zavádzajúcimi požiadavkami a nežiaducimi výsledkami. Pri útokoch na Bybit a BadgerDAO kompromitované frontendy zobrazovali požiadavky na podpis, ktoré sa líšili od toho, o čom sa používatelia domnievali, že schvaľujú. Naproti tomu aj správne zobrazená požiadavka môže umožniť ekonomicky škodlivý výsledok.
Príkladom je swap kolaterálu Aave a CoW, do ktorého bolo zapojených približne 50,4 milióna aEthUSDT. Nízka likvidita AAVE a limit poplatku za gas na CoW viedli k overenej kotácii približne 329 aEthAAVE. Napriek zobrazenému upozorneniu na 99,9-percentný vplyv na cenu a potvrdeniu, že možno stratiť celú hodnotu, používateľ transakciu podpísal a dostal tokeny v hodnote približne 36 000 USD.
Toto rozlíšenie vysvetľuje, prečo lepšie opisy transakcií nie sú úplným riešením. Clear Signing pomáha používateľom porozumieť požadovanej akcii. Simulácia odhaduje účinky vzhľadom na zvolený stav blockchainu. Ani jedno samo osebe neukladá nezávislú podmienku na skutočne dosiahnutý výsledok.
| Položka | Podrobnosti |
|---|---|
| TXTRACE | Vypíše čisté zmeny stavu a emitované udalosti transakcie. |
| TXDIFF | Získa počiatočné a konečné hodnoty pre určené adresy a úložné sloty. |
| EVENTDATACOPY | Skopíruje údaje udalosti do pamäte na kontrolu. |
| Informácie o nasadení | Navrhované údaje o zmenách stavu zahŕňajú novo nasadené kontrakty a ich hash kódu. |
Ako by asercie o transakciách kontrolovali výsledok
Asercia by pomocou logiky určenej len na čítanie porovnala počiatočný a konečný stav transakcie po vykonaní jej akcií. Podmienka by bola súčasťou transakcie a podpísala by sa spolu s akciami. Ak by nebola splnená, akcie by sa vrátili späť.
Medzi možné pravidlá patrí minimálne prijaté množstvo, limit výdavkov, obmedzenia nových schválení tokenov alebo zachovanie logiky riadenia účtu. Navrhovaná možnosť kontroly sa neobmedzuje na zostatky, ale zahŕňa aj úložisko, kód, novo nasadené kontrakty a emitované udalosti.
Existujúce kontroly v kontraktoch už chránia vybrané výsledky. Uniswap môže odmietnuť swapy, pri ktorých je výstup nižší než určené minimum, a Safe guard môže po vykonaní skontrolovať stav účtu. Obmedzením je rozsah dostupných informácií: takéto kontroly musia vopred predpokladať, čo treba skúmať, a vo všeobecnosti závisia od rozhraní, ktoré sprístupňujú ostatné kontrakty. Proxy napríklad nemusí poskytovať funkciu na zistenie adresy svojej implementácie.
Natívne asercie by sprístupnili na kontrolu úplné čisté účinky transakcie vrátane zmien, ktoré by bežný guard nemusel vedieť skontrolovať. Širší rozsah informácií je však užitočný iba vtedy, ak je pravidlo dôveryhodné. Škodlivý frontend by mohol dodať podmienku, ktorá umožní jeho vlastný útok, preto musí politika vychádzať zo zámeru schváleného nezávisle, z pravidiel účtu alebo z chránenej logiky protokolu.
Aké informácie by navrhovaná implementácia sprístupnila
Oznámenie nadácie o natívnych aserciách o transakciách opisuje EIP-7906 ako možnú implementáciu, nie ako definitívny návrh. Vychádza z rámcových transakcií v EIP-8141, ktoré usporadúvajú validačné a akčné kroky do sekvencie. EIP-8141 je naplánovaný pre Hegotá; EIP-7906 dosiahol stav Considered for Inclusion, jeho zaradenie do tejto aktualizácie však nie je potvrdené.
Podľa tohto prístupu by rámec POST_TX určený len na čítanie kontroloval výsledky na konci vykonávania. Navrhované inštrukcie na prístup k údajom by fungovali iba v rámci tohto rámca, nie v celom EVM.
Informácie by opisovali čisté účinky, nie históriu každého priebežného zápisu. Úložný slot, ktorý by sa zmenil viackrát, by sa zobrazil s počiatočnou a konečnou hodnotou; slot, ktorý by sa vrátil na pôvodnú hodnotu, by sa nezobrazil. Preto je dôležité rozlišovať medzi vynucovaním konečného stavu a monitorovaním každého kroku vykonávania.
Ak by kontrola zlyhala, vykonávaná časť transakcie by sa vrátila späť, transakcia by však zostala v bloku ako neúspešná. Platiteľ za gas by stále uhradil spotrebovaný gas, čím by sa zabránilo tomu, aby zámerne neúspešné transakcie prenášali na tvorcov blokov náklady na vykonávanie bezplatne.
Kde by bolo potrebné zmeniť peňaženky a protokoly
Návrh poskytuje mechanizmus kontroly, nie automatickú povinnosť ho používať. Pri transakciách používateľa by peňaženka musela zahrnúť svoju bezpečnostnú politiku priamo do zostavovania transakcie, namiesto toho, aby tvorcovi transakcie ponechala možnosť ju vynechať. Táto politika by mohla vychádzať z vlastnej simulácie peňaženky alebo sa uplatňovať ako trvalé pravidlo účtu.
Pri protokoloch by ochrana musela byť súčasťou podmienok prístupu k chránenej funkcii. Nestačilo by dodať transakciu podporujúcu asercie: volanie by muselo obsahovať konkrétnu kontrolu, ktorú protokol vyžaduje. Zmenili by sa tým integračné požiadavky na volajúcich, pričom do už nasadených nemenných kontraktov by nebolo možné spätne doplniť túto kontrolu prístupu.
Tieto závislosti oddeľujú potenciálne výkonnú schopnosť EVM od záruky pre používateľa. Účinná ochrana by si vyžadovala dôveryhodnú podmienku aj softvér, ktorý zabezpečí jej dôsledné a neobíditeľné uplatňovanie.
Čo by mohli získať agenti a pracovné postupy solverov
Delegovaných agentov by bolo možné obmedziť nielen oprávneniami, ale aj dosahovanými výsledkami. Limity týkajúce sa kontraktov, ktoré môže agent používať, alebo sumy, ktorú môže minúť, by sa dali doplniť požiadavkami na výsledný stav po každej transakcii.
Pri vykonávaní založenom na solveroch by protokol mohol určiť prijateľný výsledok a zároveň umožniť solveru zvoliť trasu. Záruka by sa vzťahovala iba na transakciu v rámci jednej siete, nie na trasu prechádzajúcu viacerými blockchainmi.
Asercie by mohli kontrolovať aj uzatváranie pracovného postupu, napríklad vrátenie nepoužitých tokenov a odvolanie zostávajúcich schválení. Nadácia v rámci pokračujúceho vývoja návrhu žiada o stanoviská tímov peňaženiek a protokolov, takže tieto potenciálne možnosti predstavujú smery výskumu, nie oznámené funkcie produktu.
Záver
Natívne asercie o transakciách by presunuli časť bezpečnosti transakcií na Ethereu od interpretácie požiadavky k vynucovaniu jej výsledku. Ich praktická hodnota by závisela od dôveryhodných pravidiel a od toho, či ich prijmú peňaženky a protokoly zodpovedné za ich uplatňovanie.
Čítajte ďalšie správy
Upozornenie
Tento článok FinanceVelix poskytuje všeobecné informácie, nie personalizované finančné, investičné, právne ani daňové poradenstvo. Ceny kryptomien sa môžu rýchlo meniť a môžete prísť o všetky investované prostriedky. Fakty odrážajú informácie dostupné v čase zverejnenia a môžu sa zmeniť. Dôležité informácie si overte nezávisle a v prípade potreby sa obráťte na kvalifikovaného odborníka. Zmienka o aktíve, spoločnosti alebo službe nepredstavuje odporúčanie.




