Autor on selle säutsu kustutanud.
Aga me salvestasime kõik 🙂.
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.
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.
Vaata postitust X-is Laadimine...
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.
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.
Vaata postitust X-is Laadimine...
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.
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.
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.