zkEVM: sinergija naprednih tehnologija
U prethodnom tekstu pisali smo kako je Ethereumova virtuelna mašina (EVM) pogurala čitav ekosistem unapred. A u serijalu tekstova o zero-knowledge-u naširoko smo pisali kako je ova tehnologija zasijala punim sjajem na blokčejnu. Sada je vreme da se ove dve izuzetne stvari ukomponuju. Na scenu stupa zkEVM.
No, da bismo razumeli šta je zkEVM, bitno je da pre svega sagledamo njegove gradivne elemente, EVM i zk-rollupe.
Kao što smo rekli, EVM je skup pravila koja omogućavaju determinističko izvršavanje transakcija. Po tim unapred utvrđenim pravilima EVM interpretira svaku instrukciju kompajliranog Solidity koda (tzv. bajtkod) i menja stanje blokčejna. EVM je jezgro koje jedan decentralizovan i osiguran zapisnik pretvara u Tjuring potpunu platformu za izvršavanje proizvoljnih programa.
Što se rollupa tiče, oni su jedno od rešenja za skaliranje Ethereuma koje zbraja i izvršava transakcije izvan glavnog lanca i šalje podatke nazad na glavnu mrežu u okviru jedne transakcije. Nakon toga, Ethereumov lanac finalizuje i verifikuje podatke koji postaju trajni deo mreže. rollupi su zgodno rešenje jer omogućavaju veći protok transakcija istovremeno smanjujući troškove njihovog izvršavanja.
No, za razliku od optimističnih, ZK rollup-ovi rade na principu zero-knowledge kriptografske tehnologije koja omogućava proveru validnosti informacija bez otkrivanja samih informacija.
Bezbednost zk-rollupa se crpi iz kriptografije koja služi za proveru dokaza. Ovaj pristup je suprotan onom kod optimističkih rollup-ova, čija bezbednost dolazi iz ekonomske teorije igara, gde se loši akteri destimulišu potencijalnim gubicima, a challenger-i su motivisani podsticajima.
I šta onda dođe kombinacija ta dva? Šta je ZK EVM?
Ukratko, zk Ethereum virtuelna mašina je ona virtuelna mašina koja izvršava transakcije pametnih ugovora na način kompatibilan sa postojećom Ethereum infrastrukturom i proračunima dokaza na bazi nultog znanja (zero-knowledge proofs).
Kako funkcioniše zkEVM?
Na L1 nivou, kôd pametnog ugovora je skladišten na Ethereum blejkčejnu i kada se izvrši transakcija, svaki čvor u mreži mora da učita kod i izvrši ga kako bi postigao isti rezultat.
Na L2 nivou, kôd pametnog ugovora je takođe smešten na blokčejnu, ali kada korisnik inicira transakciju, ona se šalje van lanca na centralizovani zkEVM čvor umesto da se emituje preko P2P mreže kao na L1. zkEVM čvor potom generiše dokaz (proof) koji potvrđuje tačnost ažuriranog stanja koristeći kriptografsku tehniku zvanu ZK-SNARK.
Na kraju, pametni ugovor na L1 verifikuje validnost ZK dokaza i ažurira stanje ugovora bez ponovnog izvršavanja transakcije. Ovo znači da se stanje ugovora ažurira na blokčejnu, ali se stvarna transakcija obrađuje van lanca.
Šta donosi zkEVM?
zkEVM daje nekoliko prednosti u odnosu na L1 rešenja kao i optimistične rollup-e (L2):
Privatnost: Očekivano, budući da unose moć zk tehnologije, jedna od najvećih prednosti je povećana privatnost za korisnike. Transakcije se mogu verifikovati bez otkrivanja njihovih detalja, što smanjuje rizik od neovlašćenog pristupa i krađe podataka. To je naročito važno za aplikacije koje zahtevaju visok nivo privatnosti (DeFi, zdravstvo i slično).
Sigurna skalabilnost: Budući da nisu opterećeni pravilima konsenzus protokola Ethereuma, ZK-rollupovi kompatibilni sa EVM-om mogu da poboljšaju propusnost Ethereuma bez ugrožavanja bezbednosti mreže. Međutim, ZK-rollupovi imaju veće sigurnosne garancije u poređenju sa drugim modelima za skaliranje; oni proveravaju ispravnost off-chain računanja putem dokaza o validnosti (validity proofs). To znači da transakcije koje obavljaju pametni ugovori na sloju 2 mogu biti pouzdano verifikovane na sloju 1 (Ethereum) bez potrebe da čvorovi ponovo izvršavaju operacije.
Finalizacija: Finalizacija je trenutak kada transakcija na blokčejnu ne može biti promenjena, otkazana ili poništena. Sa optimističkim rollup-ovima, postoji period od čak jedne do dve nedelje dok se transakcije challenge-uju pre nego što se dobiju dokaz o njihovoj validnosti i pre nego što mogu biti finalizovane. Nasuprot tome, transakcije koje dostavljaju ZK rollup-ovi se finalizuju čim pristignu na blokčejn. Brža finalizacija je naročito važna za trejdere koji žele brzo da alociraju sredstva unutar DeFi ekosistema.
Kompatibilnost: zkEVM je kompatibilan sa postojećim Ethereum pametnim ugovorima i decentralizovanim aplikacijama. To znači da programeri mogu da iskoriste prednosti ZK EVM-a bez potrebe za značajnim izmenama postojećih aplikacija.
Tipovi zkEVM-ova
Tip 1— potpuno ekvivalentan Ethereumu
Tip 1 zkEVM-ovi omogućavaju savršenu kompatibilnost sa Ethereumom, što će reći ekvivalentni su sa njim na konsenzus nivou. Međutim, budući da Ethereum nije dizajniran da kao idealno ZK okruženje, proces generisanja ZK dokaza zahteva značajnu računarsku obradu, što rezultira dužim vremenom proveravanja. U slučaju visoke efikasnosti ZK tehnologije, EVM-ovi ovog tipa bili bi idealan oblik zero-knowledge virtualnih mašina.
Primeri: nema još. Taiko razvija zk EVM rešenje ovog tipa.
Tip 2 — potpuno ekvivalentan EVM-u
Ovaj tip je ekvivalentan na nivou bajtkoda. Dakle, jednaki su sa EVM-om ali postoje određene razlike u odnosu na Ethereum u pogledu struktue podataka i eliminisanja određenih ZK operacija kako bi se donekle ubrzalo generisanje dokaza. Ove modifikacije mogu, u određenoj meri, negativno uticati na neke Ethereum aplikacije.
Primeri: nema još, Polygon zkEVM i Scroll teže kao ovom tipu.
Tip 2.5 — ekvivalentan EVM-u, osim za troškove gasa
Razlika u odnosu na tip 2 se ogleda u tome da tip 2.5 zkEVM-ovi povećavaju troškove gasa za teško dokazive EVM operacije kako bi skratili vreme dokazivanja. Ovo može izazvati probleme sa kompatibilnošću određenih alata za programere.
Tip 3 — skoro pa ekvivalentan EVM-u
Ovaj tip dodatno žrtvuje kompatibilnost radi poboljšane ZK efikasnosti. Uklanja određene kriptografske funkcije (keccak256) koje je teško implementirati na zkEVM-u, tako da neki kodovi korišćeni u decentralizovanim aplikacijama koji zahtevaju ovu funkciju moraju biti prepravljeni. Tip 3 zkEVM-ovi su lakši su za kreiranje i imaju kraće vreme proveravanja dokaza,
Primeri: Polygon zkEVM, Linea, Scroll
Tip 4 — ekvivalentan jeziku visokog nivoa
Sistemi tipa 4 koriste izvorni kod pametnih ugovora napisan u jezicima kao što su Solidity ili Vyper i kompajliraju ga u jezik specifično dizajniran da bude usklađen sa ZK-SNARK-ovima. Time omogućavaju mnogo brže generisanje dokaza i smanjuje troškove, Međutim, moguće je da neke aplikacije uopšte ne budu kompatibilne sa ovim tipom zk virtualne mašine.
Priner: ZKsync 2.0
Prepreke na putu i optimizam na vidiku
zkEVM je izrazito mlada tehnologija čije se mogućnosti uveliko ispituju. Stoga ne čude brojni nedostaci za koje još nije pronađen pravi lek kako bi tehnologija zaživela. Jedan od glavnih izazova je kompleksnost generisanja i verifikacije zero-knowledge dokaza. Ovi procesi kao što je već rečeno u tekstu, mogu biti računarski intenzivni, što zahteva optimizaciju kako bi se postigla veća efikasnost.
Takođe, za šire usvajanje ZK EVM-a, neophodno je uspostaviti standarde koji će olakšati interoperabilnost između različitih sistema i platformi. To uključuje definisanje standarda za generisanje, razmenu i verifikaciju zero-knowledge dokaza.
I pored ovih nesavršenosti, smatra se da bi razvoj zkEVM-a mogao da bude jedan od najboljih aduta za prevazilaženje problema skalabilnosti. Brojni projekti danas intenzivno rade na razvijanju kvalitetnih i primenljivih zkEVM rešenja a neki od njih su već pomenuti Scroll, Linea, Polygon, zk Sync, Taiko i drugi.