Miljonit ühe tehinguga: Kuidas Ethereumi uuendus muutus petturite relvaks

Miljonit ühe tehinguga: Kuidas Ethereumi uuendus muutus petturite relvaks
Kui rahakotist saab nutikas leping: Ethereumi plokiahela riskide uus ajastu

22. augustil registreeriti ligi 1 miljoni dollari väärtuses žetoonide ja NFTde vargus. Kasutaja allkirjastas tehingu, mis nägi välja nagu tavaline vahetustehing Uniswapis. Ilmseid ohumärke ei olnud: kasutajaliides näitas tavalist, oodatud toimingut. Kuid vahetuse asemel toimus varjatud toiming. Rahakott sai ajutiselt "uuendatud" õigusi vastavalt EIP-7702 standardile ja sellest piisas, et kõik varad ühe liigutusega petturite kontodele üle kanda.

See artikkel on tõlgitud originaalist. Lugege meie korrespondendi algset versiooni siit.

See juhtum sai esimeseks valjuhäälseks signaaliks, et uued Ethereumi standardid, mis on välja töötatud mugavuse ja tõhususe eesmärgil, võidakse muuta andmepüügivahenditeks.

Mis on EIP-7702

EIP-7702 on Ethereumi parendusettepanek, mis muutis võrguga suhtlemise olemust. Traditsiooniliselt oli Ethereumil kahte tüüpi kontod. Esimene oli väliskonto (EOA), tavaline rahakott, mis lihtsalt allkirjastab tehinguid privaatvõtmega. Teine oli lepingukonto, mis sisaldab koodi ja võib täita keerulisi stsenaariume.

EIP-7702 kasutuselevõtt võimaldas need kaks mudelit ühendada. Tavaline rahakott sai võime ajutiselt käituda nagu nutikas leping, mis tähendab, et ühe tehingu raames saab ta täita mitu tegevust korraga. Kasutaja jaoks näeb see välja nagu nn konto abstraktsiooni lihtsustatud versioon: ei ole vaja iga toimingut eraldi allkirjastada ja kümnete tehingute eest maksta. Ühe kinnitusega saab terve stsenaariumi lõpule viia.

Kuidas see tehniliselt toimib

Klassikalises EOA mudelis piirdusid tegevused lihtsate ülekannete või nutilepingu funktsioonide kutsumisega. EIP-7702 puhul laeb rahakott ajutist koodi, mis töötab ainult ühe tehingu kestel. See kood võib sisaldada erinevate juhiste jada: näiteks kõigepealt teostada vahetustehing detsentraliseeritud börsil, seejärel saata osa märke teisele aadressile ja samal ajal suhelda likviidsusprotokolliga.

Kui tehing on lõpule viidud, kaob ajutine kood ja konto naaseb tavapärasesse olekusse. See lähenemisviis lahendab tõeliselt paljud probleemid, muutes DeFi toimingud lihtsamaks ja odavamaks. Kuid just see paindlikkus on saanud aluseks uutele rünnakutele.

Miks rahakotid ei hoiata ohu eest

Peamine põhjus on see, et EIP-7702 alusel tehtavad tehingud näevad tehniliselt välja nagu tavaline koodi uuendamine. Rahakoti liides saab ainult üldist teavet: kasutaja allkirjastab tehingu, mis sisaldab initCode'i, ja see kood täidetakse ploki sees. Iseenesest ei kanna need andmed ilmset ohusignaali. Rahakott ei suuda ära tunda, et kood peidab endas käsku "kanda kõik märgid üle".

Teine komplikatsioon on see, et standard on veel uus ning enamik kliente ja rahakotte ei mõista veel EIP-7702 loogikat. Klassikaliste tehingute puhul võib rahakott selgelt näidata "sa saadad 2 ETH aadressile X". 7702 puhul näeb ta aga ainult üldist käskude kogumit, mida virtuaalmasinas reaalajas täidetakse. Selle selgitamine kasutajale nõuaks keerulist integratsiooni ja sisuliselt sisseehitatud koodianalüsaatorit - midagi, mida peavoolu rahakottides veel ei ole.

Selle tulemusena näeb kasutaja ainult "tavalist vahetust" või "heakskiitu", samas kui tehingu tegelik loogika jääb varjule. See lõhe tehnilise keerukuse ja visuaalse kujutamise vahel loob ideaalse valdkonna kuritarvitamiseks.

Tee EIP-7702-ni

EIP-7702 ei ilmunud tühjalt kohalt. Ethereum on juba ammu liikunud kontode abstraktsiooni suunas, kus piir rahakoti ja nutilepingu vahel kaob. Varasemad sammud, eriti EIP-4337, viisid tehingutöötluse spetsiaalsetesse "kobarateni".

Uus ettepanek sai lihtsama, kuid radikaalsema variandi, kus loogika teostatakse otse kasutaja kontol ilma täiendavate kihtideta. See muutis tehingud tõhusamaks, kuid avas ka uusi võimalusi rünnakuteks.

Innovatsiooni ja riski tasakaalustamine

1 miljoni dollari suurune vargus illustreerib Ethereumi arengu paradoksaalsust. Iga uus täiustus avab ukse mugavusele ja paindlikkusele, kuid loob samal ajal ka uue ohutaseme. Arendajad nägid ette mitmeoperatiivseid tehinguid ja odavamaid DeFi stsenaariume, kuid tegelikkuses osutus esimene laialt levinud kasutusjuhtum keerukaks andmepüügiks.

EIP-7702 on avanud Ethereumi jaoks uue ajastu, kus tavaline rahakott võib mõne sekundi jooksul muutuda nutilepinguks. See on samm universaalse kontomudeli suunas, kuid ka meeldetuletus, et innovatsiooniga kaasneb alati risk. Seal, kus arendajad näevad tõhusust, näevad petturid võimalust ühe allkirjaga miljoneid tühjendada.

See materjal võib sisaldada kolmandate osapoolte arvamusi, kuid sellel veebilehel olevad andmed ja teave ei kujuta endast investeerimisnõuandeid vastavalt meie lahtiütlusele. Kuigi järgime ranget toimetuslikku terviklikkust, võib see postitus sisaldada viiteid meie partnerite toodetele.