Acest articol este o trimitere a comunității. Autorul este Kenny Li, co-fondator al Manta Network, un protocol programabil de confidențialitate Layer 1 alimentat de tehnologia zero-knowledge proof.

Opiniile din acest articol sunt ale contributorului/autorului și nu reflectă neapărat cele ale Academiei Binance.

TL;DR

  • O mașină virtuală Ethereum cu cunoștințe zero (zkEVM) este o mașină de stat Ethereum care poate executa contracte inteligente într-o manieră compatibilă cu tehnologia Zero-Knowledge proof (ZKP).

  • zkEVM-urile extind capacitățile rollup-urilor zero-knowledge (zk-rollups) pe Ethereum pentru a susține aplicații descentralizate (DApps).

  • zkEVM-urile facilitează implementarea proiectelor Ethereum existente și noi, folosind ZKP-uri pentru a îmbunătăți ecosistemul Ethereum.

Introducere

Dezvoltatorii originali Ethereum nu au luat în considerare tehnologia ZKP când au propus pentru prima dată rețeaua în 2014. Cu toate acestea, în ultimii ani, ZKP a câștigat atenția și este de așteptat să joace un rol mult mai proeminent în spațiul blockchain. Ca atare, eforturile de a combina tehnologia ZKP și mașina virtuală Ethereum s-au intensificat.

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

Ce sunt Zk-Rollup-urile?

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 executare a acestor tranzacții.

Pe Ethereum, tranzacțiile dintr-un pachet cumulat sunt comprimate și transmise rețelei principale Ethereum pentru costul verificării unei singure tranzacții. Rețeaua principală Ethereum oferă decontare și verifică datele tranzacțiilor conținute în pachet.

Un zk-rollup este un tip de rollup care utilizează tehnologia ZKP, o tehnologie criptografică 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 rețeaua principală Ethereum; au nevoie doar de diferențe de stat (cum ar fi modificări ale stării contului de utilizator) și dovada de valabilitate, reducând taxele de gaz în proces.

Securitatea zk-rollup-urilor vine din 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 pachete cum ar fi pachetele optimiste, a căror siguranță provine din teoria jocurilor economice, unde actorii răi sunt descurajați de potențiale pierderi, iar contestatorii sunt motivați de stimulente.

Ce este EVM?

EVM este o mașină de stat în care rulează sistemul de cont Ethereum și contractele inteligente. Fiecare execuție de 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.

Statul este un concept important în 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 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 critic în menținerea acestei coerențe.

Cum funcționează un ZkEVM?

EVM nu acceptă ZKP în mod implicit. zkEVM își propune să asigure continuitatea stării Ethereum, oferind în același timp dovada că toate informațiile sunt corecte. În acest fel, 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 al verificatorului care verifică corectitudinea atât a ieșirii inițiale, cât și a noului stat, fără a fi nevoie să verifice toate tranzacțiile individual.

Deoarece zkEVM-urile se bazează pe EVM, dezvoltatorii pot porta cu ușurință DApp-urile Ethereum și contractele inteligente către zkEVM-uri fără a fi nevoiți să facă lucrări de dezvoltare ZKP. Cu alte cuvinte, zkEVM-urile permit zk-rollup-urilor să execute contracte inteligente, în plus față de schimburile de jetoane și plățile acceptate anterior fără zkEVM.

Datorită caracteristicii de compatibilitate EVM, 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ă care vine cu 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 suplimentare.

Compatibilitate EVM versus echivalență EVM

Când un blockchain este denumit compatibil EVM, înseamnă că oferă un mediu care poate implementa DApp-uri 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 DApp-urilor 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 este aceeași 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 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 Ethereum.

Pentru a utiliza o analogie cu sistemul de operare, echivalența EVM este asemănătoare cu restaurarea fișierelor și setărilor prin Apple Cloud dacă 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 să fie descărcate prin stocarea în cloud și convertite pentru a recupera setările preferate și fișierele vechi.

Diferite tipuri de ZkEVM

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

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

Tip 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.

zkEVM-urile de tip 1 fac Ethereum-ul în sine mai scalabil și pot fi introduse direct pe rețeaua principală 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 validatoare paralele la scară largă sau circuite integrate specializate pentru zk-SNARK-uri în viitor.

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

Tip 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 prietenoase cu ZK.

Este pe deplin compatibil cu DApp-urile existente, instrumentele de depanare și infrastructura pentru dezvoltatori Ethereum. Echivalența la nivel de bytecode poate accelera timpul de testare, deși nu în mod semnificativ. Un dezavantaj clar al tipului 2 este că este scump, nu este sinergic cu ZK, cu o eficiență scăzută și costisitoare.

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

Tipul 2.5 împărtășește avantajele și dezavantajele tipului 2, dar are taxe de gaz puțin mai mici.

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

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

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

EVM-urile de tip 4 au cea mai mare performanță ZK, dar o compatibilitate relativ slabă.

Gânduri de închidere

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 conduce la adoptarea Web3.

Lectură suplimentară

  • Ce este dovada de cunoștințe zero și cum afectează blockchain-ul?

  • Acumulări optimiste vs. Zero-Knowledge: Care este diferența?

  • Îmbunătățirea transparenței criptografice cu dovada zero cunoștințe


Exonerare de responsabilitate și avertisment de risc: Acest conținut vă este prezentat „ca atare” numai pentru informații generale și în scopuri educaționale, fără reprezentare sau garanție de niciun fel. Nu ar trebui să fie interpretat ca un sfat financiar, juridic sau de altă natură profesională și nici nu este destinat să recomande achiziționarea unui anumit produs sau serviciu. Ar trebui să solicitați propriul sfat de la consilierii profesioniști corespunzători. În cazul în care articolul este contribuit de un colaborator terț, rețineți că acele opinii exprimate aparțin contributorului terț și nu reflectă neapărat pe cele ale Academiei Binance. Vă rugăm să citiți declinul nostru complet 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 singurul responsabil pentru deciziile dvs. de investiții, iar Academia Binance nu este responsabilă pentru pierderile pe care le puteți suferi. Acest material nu trebuie interpretat ca sfaturi financiare, juridice sau alte sfaturi profesionale. Pentru mai multe informații, consultați Termenii de utilizare și Avertismentul privind riscurile.