Mi az a ZkEVM, és hogyan javíthatja az Ethereum ökoszisztémáját?
Kezdőlap
Cikkek
Mi az a ZkEVM, és hogyan javíthatja az Ethereum ökoszisztémáját?

Mi az a ZkEVM, és hogyan javíthatja az Ethereum ökoszisztémáját?

Haladó
Közzétéve Apr 14, 2023Frissítve Jun 15, 2023
8m

Ez a cikk egy közösségi beadvány. A szerző Kenny Li, a Manta Network társalapítója, mely egy programozható adatvédelmi layer 1 protokoll, amely zéróismeretes bizonyítással működik. 

A jelen cikkben kifejtett nézetek a beküldő/szerző nézetei, és nem feltétlenül tükrözik a Binance Academy álláspontját.

TL;DR

  • A zéróismeretes Ethereum virtuális gép (zkEVM) egy olyan Ethereum-állapotgép, amely a zéróismeretes bizonyítás (ZKP) technológiával kompatibilis módon képes okosszerződéseket végrehajtani. 

  • A zkEVM-ek kiterjesztik a zéróismeretes rollupok (zk-rollupok) képességeit az Ethereumon, hogy támogassák a decentralizált alkalmazásokat (DAppokat). 

  • A zkEVM-ek megkönnyítik mind a meglévő, mind az új Ethereum projektek telepítését a ZKP-k segítségével az Ethereum-ökoszisztéma javítása érdekében.

Bevezetés 

Az Ethereum eredeti fejlesztői nem vették figyelembe a ZKP-technológiát, amikor 2014-ben először bemutatták a hálózatot. Az elmúlt években azonban a ZKP egyre nagyobb figyelmet kapott, és várhatóan sokkal jelentősebb szerepet fog játszani a blokklánc területén. Ennek következtében a ZKP-technológia és az Ethereum virtuális gépének kombinálására irányuló erőfeszítések felerősödtek. 

Ahhoz, hogy megértsük, mi is az a zkEVM, először röviden tekintsük át a két mögöttes koncepciót: a zk-rollupokat és az EVM-et. 

Mik azok a Zk-Rollupok? 

A rollup egy olyan skálázási megoldás, amely számos, a fő láncon kívüli tranzakció végrehajtását állítja össze, és az adatokat egyetlen tranzakcióként küldi vissza a fő hálózatra. Ez a folyamat növeli a feldolgozási teljesítményt, miközben csökkenti a tranzakciók végrehajtásának költségeit.

Az Ethereumon a rollupon belüli tranzakciókat tömörítik, és elküldik az Ethereum mainnetre egyetlen tranzakció hitelesítésének költségéért. Az Ethereum mainnet biztosítja az elszámolást és hitelesíti a rollupban szereplő tranzakciós adatokat.

A zk-rollup egy olyan típusú rollup, amely ZKP-technológiát használ, egy olyan kriptográfiai technológiát, amely lehetővé teszi egy információ érvényességének ellenőrzését anélkül, hogy magát az információt felfedné. A zk-rollupoknak nem kell minden tranzakciós adatot közzétenniük az Ethereum mainneten; csak állapotbeli különbségekre (például a felhasználói fiók státuszának változásaira) és az érvényesség igazolására van szükségük, ezzel is csökkentve a gas díjakat.

A zk-rollupok biztonsága a ZKP-kriptográfiából ered, ahol a bizonyítás ellenőrzésére és a bizalom minimalizáltság elérésére kriptográfiai eszközöket használnak. Ez különbözik más rollupoktól, például az optimista rollupoktól, amelyek biztonsága a gazdasági játékelméletből ered, ahol a rosszindulatú szereplőket elrettentik a potenciális veszteségek, a versenytársakat pedig az ösztönzők motiválják.

Mi az EVM?

Az EVM egy olyan állapotgép, amelyen az Ethereum fiókrendszer és az okosszerződések futnak. Minden okosszerződés végrehajtása aktiválja az EVM-et, hogy áttérjen egy régi állapotból egy új állapotba. Az EVM meghatározza az új és érvényes állapotok egyik blokkból a másikba történő kiszámításának szabályát.

Az állapot egy fontos fogalom az Ethereum kapcsán. Ez egy Merkle Patricia Trie adatszerkezet, amely az Ethereum aktuális állapotát mutatja, és bárki számára lehetővé teszi a tranzakciós információk nyomon követését az aktuális blokktól egészen a genezis blokkig.

Az Ethereum fenntartásában részt vevő csomópontok mind azért vannak, hogy biztosítsák a folyamatosságot és a konszenzust, ami lehetővé teszi, hogy minden csomópont lássa az aktuális állapotot. Az EVM kritikus szerepet játszik ennek a konzisztenciának a fenntartásában.

Hogyan működik a ZkEVM? 

Az EVM alapértelmezés szerint nem támogatja a ZKP-kat. A zkEVM célja, hogy biztosítsa az Ethereum állapotának folyamatosságát, miközben bizonyítja, hogy minden információ helyes. Ily módon a biztonság és az adatvédelem fenntartása mellett ellenőrizhetők a folyamatok számításában részt vevő különböző tényezők. 

A zkEVM ezt úgy éri el, hogy az Ethereum-környezetet zk-rollupként replikálja. Fogja a kezdeti állapotot, kiszámítja az összes tranzakciót, majd egy új, frissített állapotot ad ki a hozzá tartozó ZKP-vel együtt. Ezt a bizonyítékot egy hitelesítő okosszerződéshez kell benyújtani, amely ellenőrzi mind a kezdeti, mind az új állapot kimenetének helyességét anélkül, hogy az összes tranzakciót külön-külön hitelesítenie kellene. 

Mivel a zkEVM-ek az EVM-en alapulnak, a fejlesztők könnyen hordozhatják az Ethereum DAppokat és okosszerződéseket a zkEVM-ekre anélkül, hogy ZKP-fejlesztési munkát kellene végezniük. Más szóval, a zkEVM-ek lehetővé teszik a zk-rollupok számára az okosszerződések végrehajtását, a korábban a zkEVM-ek nélkül támogatott token swapok és fizetések mellett.   

Az EVM kompatibilitási funkciójának köszönhetően a fejlesztők új termékeket készíthetnek a meglévő EVM-eszközök és a Solidity programozási nyelv használatával, miközben élvezhetik a zkEVM által nyújtott fokozott biztonságot. Ugyanezek az előnyök a felhasználókra is vonatkoznak – továbbra is ugyanazokat a DAppokat és megszokott eszközöket használhatják, nagyobb biztonság és adatvédelem mellett.

EVM-kompatibilitás versus EVM-ekvivalencia 

Amikor egy blokkláncot EVM-kompatibilisnek hívnak, az azt jelenti, hogy olyan környezetet kínál, amely képes a Solidity programozási nyelven írt DAppok telepítésére. A Solidity az Ethereum hálózaton futó okosszerződések fejlesztésére szolgál. 

Tulajdonképpen az Ethereum-fejlesztők kimásolhatják a meglévő DAppok kódját az Ethereumról, és minimális módosításokkal más EVM-kompatibilis láncokra telepíthetik. A felhasználók számára bármely EVM-kompatibilis lánccím megegyezik az Ethereum-címükkel

Ez azt jelenti, hogy a címek kompatibilisek az olyan mainstream tárcákkal, mint a Metamask és a Trust Wallet. Jelenleg a főbb EVM-kompatibilis láncok közé tartozik a BNB Chain, az Avalanche C-Chain és a Polygon. 

Az EVM-kompatibilitás nem tévesztendő össze az EVM-ekvivalenciával, ami azt jelenti, hogy a DApp-fejlesztő szempontjából a Layer 2 rollupok közel azonosak a Layer 1 Ethereummal. 

Az operációs rendszer analógiájával élve, az EVM-ekvivalencia hasonlít ahhoz, amikor az Apple Cloudon keresztül visszaállítják a fájlokat és beállításokat, ha a felhasználó korábbi számítógépe és új számítógépe egyaránt az Apple operációs rendszerén fut.

Ezzel szemben az EVM-kompatibilitás azt jelenti, hogy ha egy új számítógép Windows rendszerre vált, az eredeti fájlokat le kell tölteni a felhőalapú tárhelyről, és át kell alakítani a preferált beállítások és a régi fájlok visszaállításához. 

Különböző típusú ZkEVM-ek 

A ZKP-k generálása és hitelesítése közvetlenül EVM segítségével rendkívül lassú, mivel az Ethereumot eredetileg nem a ZKP-technológia támogatására tervezték. Bizonyos esetekben ez akár több órát is igénybe vehet. Mindazonáltal fontos, hogy megtaláljuk az egyensúlyt az EVM-kompatibilitás és a ZKP hatékonysága között.

Az Ethereum alapítója, Vitalik Buterin a következő négy típusba sorolta a zkEVM-eket. A blokklánc-trilemmához hasonlóan, mindegyikük különböző kompromisszumokat köt a ZKP teljesítményhatékonysága és az EVM-kompatibilitás között.    

1. típus: Konszenzus szintű ekvivalencia – az Ethereummal teljesen egyenértékű zkEVM

Konszenzus szinten az 1. típusú zkEVM – más néven biztosított rollup – megegyezik az Ethereummal, és a zkEVM-lánc állapota és tranzakciói megegyeznek az Ethereuméval. Kölcsönösen hitelesíthetik a blokkokat, és közvetlenül használhatók az Ethereum végrehajtási klienseivel.

Az 1. típusú zkEVM-ek skálázhatóbbá teszik magát az Ethereumot, és közvetlenül bevezethetők az Ethereum mainnetre. Hátránya, hogy a ZKP hatékonysága rendkívül gyenge, és sok számítási munkát igényel az hitelesítés. A megoldás az lenne, hogy a jövőben nagyméretű párhuzamos validátorokat vagy speciális integrált áramköröket használjanak a zk-SNARK-okhoz.

Az 1. típusú, nagy ZK-hatékonyságú zkEVM-ek lennének a zkEVM-ek legideálisabb formája. Jelenleg számos projekt fejleszti vagy vizsgálja ezt a fajta zkEVM-et.

2. típus: Bytecode szintű ekvivalencia – teljesen egyenértékű az EVM-mel

A 2. típus teljesen egyenértékű az EVM-mel, de az Ethereummal nem. Az adatszerkezetek (például a blokkszerkezet és az állapotfa) tekintetében különbözik az Ethereumtól, és töröl néhány olyan veremműveletet, amelyek nem ZK-barátok. 

Teljesen kompatibilis az Ethereum meglévő DAppjaival, hibakereső eszközeivel és fejlesztői infrastruktúrájával. A bytecode-szintű ekvivalencia felgyorsíthatja a bizonyítási időt, bár nem jelentősen. A 2-es típus egyértelmű hátránya, hogy drága, nem szinergikus a ZK-val, alacsony és költséges a hatékonysága. 

2.5 típus: Hasonló a 2. típushoz, de módosított gas díjakkal

A 2.5 típus osztozik a 2. típus előnyeiben és hátrányaiban, de valamivel alacsonyabb gas díjakkal rendelkezik.

3. típus: Bytecode szintű ekvivalencia – majdnem egyenértékű az EVM-mel

A 2. típusra alapozva a 3. típus tovább csökkenti a kompatibilitást a ZK hatékonyságának növelése érdekében. Törli a zkEVM-en nehezen megvalósítható funkciókat, mint például az előfordításokat, emiatt újra kell írni néhány olyan DAppban használt kódolást, amely ezt a funkciót igényli.

4. típus: Fejlesztői nyelvi szintű ekvivalencia – az EVM-mel egyenértékű magas szintű nyelv

A 4-es típusú EVM-ek rendelkeznek a legmagasabb ZK-teljesítménnyel, de viszonylag gyengébb a kompatibilitásuk.

Záró gondolatok 

A zkEVM megvalósításának fő célja a ZKP-számítás támogatásának kiterjesztése az okosszerződések végrehajtására, és ezáltal a DAppok kiterjesztése az összes EVM-kompatibilis protokollra. A ZKP-k lehetséges alkalmazásai persze nem merülnek ki ennyiben. 

A ZKP-technológia potenciálisan kompatibilis lehet a Web2 felhasználási területekkel. A különböző Web2 felhasználási területek kombinálása a ZKP-vel gördülékenyebbé és felhasználóbarátabbá teheti a Web3 alkalmazásokat. A hagyományos internetes böngészőkhöz szokott felhasználók számára is hozzáférést biztosítana a Web3-hoz, és ezzel elősegítené a Web3 elfogadását.

További olvasnivaló


Felelősségi nyilatkozat és kockázati figyelmeztetés: A jelen bejegyzés tartalmát annak mindenkori formájában bocsátjuk rendelkezésre általános tájékoztatási és oktatási céllal, és semmilyen felelősséget vagy szavatosságot nem vállalunk az alkalmazásával kapcsolatban. Az itt leírtak nem tekintendők pénzügyi, jogi vagy egyéb szakmai tanácsadásnak, sem egy konkrét termék vagy szolgáltatás megvásárlására tett javaslatnak. Javasoljuk, hogy megfelelő szaktanácsadóktól kérjen tanácsot. Mivel a jelen cikket külső szerző írta, felhívjuk figyelmét, hogy az itt kifejtett nézőpontok a harmadik fél szerző álláspontját részletezik, és nem feltétlenül tükrözik a Binance Academy véleményét. Kérjük, hogy idekattintva olvassa el részletes felelősségi nyilatkozatunkat. A digitális eszközök ára erősen ingadozhat. A befektetés értéke csökkenhet vagy nőhet, és az is előfordulhat, hogy Ön nem kapja vissza a befektetett összeget. A befektetési döntéseiért egyedül Ön felel, és a Binance Academy nem vállal felelősséget az esetlegesen felmerülő veszteségekért. Az itt leírtak nem minősülnek pénzügyi, hogy vagy egyéb szakmai tanácsnak. További információért tekintse meg Felhasználási feltételeinket és a Kockázati figyelmeztetést.