Ce este un ZkEVM și cum poate îmbunătăți ecosistemul Ethereum?
Acasă
Articole
Ce este un ZkEVM și cum poate îmbunătăți ecosistemul Ethereum?

Ce este un ZkEVM și cum poate îmbunătăți ecosistemul Ethereum?

Avansat
Publicat Apr 14, 2023Actualizat Jun 15, 2023
8m

Acest articol a fost trimis de un membru al comunității. Autorul este Kenny Li, cofondator al Manta Network, un protocol programabil de confidențialitate Layer 1, alimentat de tehnologia cu dovezi Zero-Knowledge. 

Opiniile din acest articol aparțin contributorului/autorului și nu reflectă neapărat opiniile Academiei Binance.

TL;DR

  • Un zero-knowledge Ethereum Virtual Machine (zkEVM) este o mașină de stare pentru Ethereum, care poate executa contracte inteligente într-o manieră compatibilă cu tehnologia cu dovezi Zero-Knowledge (ZKP). 

  • zkEVMs extind capacitățile rollups zero-knowledge (zk-rollups) pe Ethereum pentru a accepta aplicații descentralizate (DApps). 

  • zkEVMs facilitează implementarea proiectelor Ethereum existente și noi, folosind ZKPs pentru a îmbunătăți ecosistemul Ethereum.

Introducere 

Dezvoltatorii Ethereum nu au luat în considerare tehnologia ZKP când au propus pentru prima dată rețeaua, în 2014. În ultimii ani, însă, ZKP a câștigat popularitate și este de așteptat să joace un rol mult mai important în spațiul blockchain. Prin urmare, eforturile de a combina tehnologia ZKP și mașina virtuală Ethereum s-au intensificat. 

Pentru a înțelege ce este un zkEVM, să prezentăm mai întâi pe scurt cele două concepte de bază ale sale: zk-rollups și EVM. 

Ce sunt zk-rollups? 

Un rollup este o soluție de scalare care compilează numeroase execuții de tranzacții în afara lanțului principal și trimite datele înapoi în rețeaua principală ca o singură tranzacție. Acest proces crește debitul, reducând în același timp costul de execuție pentru aceste tranzacții.

Pe Ethereum, tranzacțiile dintr-un rollup sunt comprimate și trimise către rețeaua principală Ethereum pentru costul verificării unei singure tranzacții. Mainnetul Ethereum oferă decontare și verifică datele tranzacțiilor conținute în rollup.

Un zk-rollup este un tip de rollup care utilizează tehnologia ZKP, o tehnologie cripto care permite verificarea validității unei informații fără a dezvălui informațiile în sine. Zk-rollups nu trebuie să publice toate datele tranzacțiilor pe mainnetul Ethereum; au nevoie doar de diferențele de stare (cum ar fi modificări ale stării contului de utilizator) și dovada de valabilitate, reducând comisioanele de gaz în același timp.

Securitatea zk-rollups este dată de criptografia ZKP, în care mijloacele criptografice sunt folosite pentru a verifica dovezile și pentru a obține lipsa de încredere. Acest lucru este diferit de alte rollups, cum ar fi rollups optimiste, a căror siguranță provine din teoria jocurilor economice, în care actorii rău intenționați sunt descurajați de potențiale pierderi, iar verificatorii sunt motivați de stimulente.

Ce este EVM?

EVM este o mașină de stare în care rulează sistemul de cont Ethereum și contractele inteligente. Fiecare execuție a unui contract inteligent declanșează tranziția EVM de la o stare veche la o stare nouă. EVM definește regula pentru calcularea stărilor noi și valide de la un bloc la altul.

Starea este un concept important la Ethereum. Este o structură de date Merkle Patricia Trie care reprezintă starea actuală a Ethereum și permite oricui să urmărească informațiile despre tranzacție din blocul curent până la blocul de geneză.

Toate nodurile implicate în menținerea Ethereum există pentru a asigura continuitatea și consensul, ceea ce permite fiecărui nod să vadă exact starea curentă. EVM joacă un rol vital în menținerea acestei consecvențe.

Cum funcționează un ZkEVM? 

EVM nu acceptă ZKPs în mod implicit. zkEVM își propune să asigure continuitatea stării Ethereum, oferind în același timp dovada că toate informațiile sunt corecte. Astfel, diverșii factori implicați în calculul acestor procese sunt verificați, menținând în același timp securitatea și confidențialitatea. 

zkEVM face acest lucru prin replicarea mediului Ethereum ca zk-rollups. Preia starea inițială, calculează toate tranzacțiile, apoi emite o stare nouă, actualizată, împreună cu un ZKP însoțitor. Această dovadă este transmisă unui contract inteligent de verificare, care verifică corectitudinea atât a ieșirii inițiale, cât și rezultatul noii stări, fără a fi necesar să verifice toate tranzacțiile individual. 

Deoarece zkEVMs se bazează pe EVM, dezvoltatorii pot porta cu ușurință DApps Ethereum și contractele inteligente către zkEVMs fără a fi nevoiți să facă lucrări de dezvoltare ZKP. Cu alte cuvinte, zkEVMs permit zk-rollups să execute contracte inteligente, pe lângă swapurile de tokenuri și plățile acceptate anterior fără zkEVMs.   

Datorită caracteristicii EVM de compatibilitate, dezvoltatorii pot construi noi produse folosind instrumentele existente EVM și limbajul de programare Solidity, bucurându-se în același timp de securitatea îmbunătățită oferită de zkEVM. Aceleași beneficii se aplică și utilizatorilor – aceștia pot continua să folosească aceleași DApps și instrumente familiare, dar cu securitate și confidențialitate îmbunătățite.

Compatibilitate EVM versus echivalență EVM 

Când se spune despre un blockchain că este compatibil cu EVM, înseamnă că oferă un mediu care poate implementa DApps scrise în limbajul de programare Solidity. Solidity este conceput pentru dezvoltarea de contracte inteligente care rulează pe rețeaua Ethereum. 

De fapt, dezvoltatorii Ethereum pot copia și lipi codul DApps existente din Ethereum și îl pot implementa pe alte lanțuri compatibile cu EVM, cu modificări minime. Pentru utilizatori, orice adresă de lanț compatibilă cu EVM coincide cu adresa lor Ethereum

Aceasta înseamnă că adresele sunt compatibile cu portofelele principale, cum ar fi Metamask și Trust Wallet. În prezent, lanțurile majore compatibile cu EVM includ BNB Chain, Avalanche C-Chain și Polygon. 

Compatibilitatea cu EVM nu trebuie confundată cu echivalența EVM, ceea ce înseamnă că din perspectiva dezvoltatorului DApp, pachetele Layer 2 sunt aproape identice cu Layer 1 pe Ethereum. 

Pentru a utiliza o analogie cu sistemul de operare, echivalența EVM este asemănătoare cu restabilirea fișierelor și setărilor prin Apple Cloud în cazul în care computerul anterior al unui utilizator și computerul nou rulează ambele pe sistemul de operare Apple.

În schimb, compatibilitatea EVM înseamnă că, dacă un computer nou trece la un sistem Windows, fișierele originale trebuie descărcate prin stocarea în cloud și convertite pentru a recupera setările preferate și fișierele vechi. 

Diferite tipuri de ZkEVMs 

Generarea și verificarea directă a ZKPs folosind EVM este extrem de lentă, deoarece Ethereum nu a fost conceput inițial pentru a accepta tehnologia ZKP. În unele cazuri, poate dura până la câteva ore. Cu toate acestea, este imperativ să se găsească un echilibru între compatibilitatea EVM și eficiența ZKP.

Fondatorul Ethereum, Vitalik Buterin, a clasificat zkEVMs în următoarele patru tipuri. Similar cu trilema blockchain, fiecare dintre ele face compromisuri diferite între eficiența performanței ZKP și compatibilitatea EVM.    

Tipul 1: echivalență la nivel de consens - zkEVM care este complet echivalent cu Ethereum

La nivel de consens, un zkEVM de tip 1 – cunoscut și sub numele de rollup consacrat – este echivalent cu Ethereum, iar starea lanțului zkEVM și tranzacțiile sunt identice cu cele ale Ethereum. Ele pot verifica reciproc blocurile și pot fi utilizate direct cu clienții de execuție Ethereum.

zkEVMs de tip 1 fac Ethereum în sine mai scalabil și pot fi introduse direct pe mainnetul Ethereum. Dezavantajul este că eficiența ZKP este extrem de slabă și necesită o cantitate mare de calcul pentru verificare. Soluția este de a utiliza validatori paraleli la scară largă sau circuite integrate specializate pentru zk-SNARKs în viitor.

ZkEVMs de tip 1 cu eficiență ZK ridicată ar fi forma ideală de zkEVM. În prezent, există multe proiecte care construiesc sau explorează acest tip de zkEVM.

Tipul 2: echivalență la nivel de bytecode - complet echivalent cu EVM

Tipul 2 este complet echivalent cu EVM, dar nu cu Ethereum. Diferă de Ethereum în ceea ce privește structurile de date (cum ar fi structura blocului și arborele de stare) și șterge unele operațiuni de stivă care nu sunt compatibile cu ZK. 

Este complet compatibil cu DApps existente, instrumentele de depanare și infrastructura pentru dezvoltatori Ethereum. Echivalența la nivel de bytecode poate accelera timpii pentru doveditori, deși nu în mod semnificativ. Un dezavantaj clar al tipului 2 este că este scump, nu este sinergic cu ZK și are o eficiență scăzută. 

Tipul 2.5: Similar cu Tipul 2, dar cu modificări la comisioanele de gaz

Tipul 2.5 are avantajele și dezavantajele tipului 2, dar are comisioane de gaz puțin mai mici.

Tipul 3: echivalență la nivel de bytecode - aproape echivalent cu EVM

Bazat pe tipul 2, tipul 3 sacrifică și mai mult compatibilitatea pentru o eficiență ZK îmbunătățită. Acesta șterge funcțiile care sunt greu de implementat pe zkEVM, cum ar fi compilările prealabile, așa că o parte a codului utilizat în DApps care necesită această funcție trebuie rescrisă.

Tipul 4: Echivalență la nivel de limbaj de dezvoltare — limbaj de nivel înalt echivalent cu EVM

EVMs de tip 4 au cea mai înaltă performanță ZK, dar o compatibilitate relativ slabă.

Gânduri de încheiere 

Scopul principal al implementării zkEVM este de a extinde suportul pentru calculul ZKP la execuția unui contract inteligent și, astfel, de a extinde DApps la toate protocoalele compatibile cu EVM. Dar aplicațiile ZKPs nu se opresc aici. 

Tehnologia ZKP poate fi compatibilă cu cazurile de utilizare Web2. Combinarea diferitelor cazuri de utilizare Web2 cu ZKP ar putea face aplicațiile Web3 mai fluide și mai ușor de utilizat. De asemenea, ar oferi utilizatorilor care sunt deja obișnuiți cu browserele tradiționale de internet acces la Web3 și, la rândul lor, ar duce la adoptarea Web3.

Materiale suplimentare


Declinarea răspunderii și avertisment privind riscurile: Acest conținut vă este prezentat „ca atare” numai pentru informare generală și în scopuri educaționale, fără a oferi declarații sau garanții de vreun fel. Nu trebuie interpretat ca un sfat financiar, juridic sau de natură profesională și nici nu are scopul de a recomanda achiziționarea unui anumit produs sau serviciu. Ar trebui să solicitați sfaturi de la consilierii profesioniști corespunzători. În cazul în care articolul reprezintă contribuția unui colaborator terț, rețineți că acele opinii exprimate aparțin colaboratorului terț și nu reflectă neapărat opiniile Academiei Binance. Vă rugăm să citiți declinarea completă a răspunderii aici pentru mai multe detalii. Prețurile activelor digitale pot fi volatile. Valoarea investiției dvs. poate scădea sau crește și este posibil să nu primiți înapoi suma investită. Sunteți singura persoană responsabilă pentru deciziile dvs. de investiții, iar Academia Binance nu este responsabilă pentru eventualele pierderi suferite. Acest material nu trebuie interpretat ca un sfat financiar, juridic sau de natură profesională. Pentru mai multe informații, consultați Termenii de utilizare și Avertismentul privind riscurile.