2023 este primul an al izbucnirii ZK și există deja câteva opinii. În acest articol, ne vom concentra pe discutarea diferitelor tipuri de piese hardware zkEVM și ZKP etc. și le vom analiza unul câte unul. La întâlnirea de cercetare a investițiilor pe tema ZK inițiată de ChainTimes săptămâna trecută, toată lumea a comunicat în mod activ Acest articol va rezolva analiza despre zkEVM și hardware-ul partajat de MetaStone Capital.
01.Despre zk-rollup
Ca soluție de scalabilitate Ethereum, Rollups poate grupa și comprima tranzacțiile prin propria sa rețea și le poate trimite la lanțul Ethereum pentru verificare. Poate crește eficiența de operare a rețelei prin verificarea mai multor tranzacții în rețea în același timp pentru a crește numărul de execuții ale tranzacțiilor și a realiza extinderea.
Prin numărul de tranzacții executate la un moment dat de Rollups în sine, problema TPS pentru care Ethereum a fost criticat poate fi îmbunătățită Pe baza securității Ethereum în sine, numărul tranzacțiilor executabile poate fi crescut cu mai multe ordine de mărime.
zkRollups poate combina confidențialitatea cu soluții prin tehnologia zero-knowledge proof, care permite unei părți să demonstreze ceva altei părți fără a dezvălui informațiile care dovedesc acea parte, obținând astfel confidențialitatea. Desigur, nu toate zkRollup-urile vor profita de proprietățile de confidențialitate ale tehnologiei zero-knowledge. În același timp, în comparație cu L1, zkRollups are economii de scară mai puternice. În ceea ce privește Ethereum, costul și viteza de procesare nu sunt, în general, potrivite pentru tot mai mulți utilizatori de a utiliza rețeaua și de a atinge scopul inițial.
Beneficiile evidente ale aplicării zk-rollup pe ETH sunt:
1. Partajarea securității stratului de consens Ethereum
2. Rezolvați problema scalabilității în triunghiul imposibil al blockchain-ului
3. Efecte uriașe de rețea
02. Cum funcționează EVM și zkEVM
a. Principiul de lucru al EVM
Codul octet al contractului inteligent este încărcat din stocarea EVM și executat de nodurile peer-to-peer de pe EVM.
Opcode-urile EVM interacționează cu diferite părți ale stării EVM și efectuează operațiuni de citire și scriere (inclusiv memorie și stivă)
Opcode-ul EVM efectuează calcule pe valoarea obținută din stocul de stare înainte de a returna noua valoare pentru a finaliza tranziția de stare.
b. Cum funcționează zkEVM
Adică, se generează o dovadă de zero cunoștințe pentru a verifica fiecare dintre procesele de mai sus, se generează un certificat de valabilitate și se transmite la contractul de verificator ETH pentru verificare. Verificarea include a vedea dacă valoarea corectă este obținută din starea veche, dacă există o abatere în calcul etc. Procesul de generare a unei dovezi de validitate este, de asemenea, procesul de realizare a unui circuit de demonstrare a cunoștințelor zero.

3.zkEVM program de execuție
01. Condițiile de bază ale zkEVM necesită o mașină virtuală compatibilă cu evm pentru a executa opcode și a rula contracte inteligente.
02. Există un circuit de verificare care generează dovezi zero-cunoaștere. Finalizați procesul de generare a dovezilor utilizând informații pre-state, intrare tranzacție și post-stare ca intrare
03. Depuneți certificatul de valabilitate la contractul de verificare ETH pentru verificare
4. Probleme de compatibilitate între Scroll și zkSync, Starknet și Polygon
Deoarece EVM nu a luat în considerare problema calculului zkp atunci când a fost proiectat inițial, există două moduri de a combina zk+zvm:
a. Metoda de compilare
Starknet însuși folosește limbajul Cairo (limbaj de sistem cu dovezi zero-cunoaștere, dacă dezvoltatorii doresc să mute aplicațiile eth pe starknet, trebuie să împrumute compilatorul echipei Starknet pentru compilare, permițând proiectelor scrise în Solidity să facă „un singur clic” pe baza lor de cod). ” Se traduce în Cairo.
zksync este, de asemenea, compilat în limbajul intermediar YUL, folosind cadrul LLVM, codul de octet al contractului de soliditate este compilat în limbajul YUL și apoi compilat în codul de octet executabil zksync ZKEVM setat prin codul de octet YUL.
Polygon este compilat pe bytecode, iar open source solidity bytecode este compilat în codul de microoperație executabil uvm poligon, care înlocuiește de fapt codul de operare nativ evm. Dar punctul de progres este de a completa compatibilitatea evm de la nivel de bytecode.
b.scroll este procesul de proiectare a circuitelor cu cunoștințe zero pentru opcodes evm
Scroll va executa contractul inteligent pe EVM, va transfera codul octet al contractului inteligent în memorie, îl va executa unul câte unul cu codurile operaționale, va obține arborele Merkle și va personaliza un circuit pentru fiecare arbore. Fiecare cod operațional are un circuit și, atunci când este combinat, nu există un pas de traducător și nu este nevoie să modificați nimic.
zkEVM la nivel de bytecode este ușor de dezvoltat: implementarea cu prag scăzut este un punct. În plus, fără a converti codul Solidity într-un alt limbaj de codare, dezvoltatorii pot folosi direct instrumentele de dezvoltare, bibliotecile, portofelele comune Ethereum (cum ar fi MetaMask), Market și. depanator, acesta este cel mai critic. Dimpotrivă, utilizarea compatibilității la nivel de limbaj va provoca anumite dificultăți dezvoltatorilor de a utiliza instrumentele eth și de a migra aplicațiile ecologice Ethereum, iar compatibilitatea va fi mai slabă.
Compatibilitate deoparte, cum se compară ZK-EVM:
Într-un mediu open source, diferențele dintre diferitele soluții ZK ale sistemului general Prove sunt foarte mici, iar diferențele nu sunt semnificative, ceea ce afectează slab eficiența Prove. În ceea ce privește inginerie, se măsoară în termeni de complexitate a probei, complexitatea verificării, complexitatea comunicării etc., precum și ideile generale de dezvoltare a circuitului. Este imposibil să judeci cine va câștiga în final. Pentru că efectele de rețea, cultura comunității, promovarea operațiunilor, efectele de bogăție, sprijinul dezvoltatorului etc. sunt toate cele mai importante elemente ale ecosistemului.
5. Tipuri actuale de ZKP
Pentru a demonstra un calcul prin ZK, de obicei trebuie să traduceți un program tradițional într-un program prietenos cu ZK.
Cu cât calculul este mai complex și nu este prietenos cu ZK, cu atât procesul de generare a dovezilor va fi mai lent pentru ZK (operație sha/bit-bit, cu atât este mai rapid). va fi. Sistemul de probă În prezent există PLONK, Spartan și STARK. Aceste sisteme de dovezi pot scoate o dovadă bazată pe intrare.
Cu toate acestea, blocajul actual în generarea de dovezi nu este altceva decât unul dintre cele două. Toate sistemele de probe includ practic doi algoritmi: FFT și MSM.
Tipurile de hardware actuale includ în principal următoarele trei tipuri de GPU FPGA ASIC. În prezent, ZKP este încă în stadiul inițial de dezvoltare sistem de dovadă este, de asemenea, nu există un standard relevant.
Pe baza factorilor de mai sus, pentru scenariile ZKP, FPGA are 2 atribute de bază care îl fac mai bun decât ASIC:
01Scrie de mai multe ori” VS „Scrie o dată”
Logica de afaceri pe ASIC este scrierea o singură dată. Dacă există modificări logice ZKP, trebuie să o luați de la capăt. FPGA poate re-flash în decurs de 1 secundă și acceptă re-flash de nenumărate ori, ceea ce înseamnă că același hardware poate fi reutilizat între diferite lanțuri care rulează sisteme de probă incompatibile (de exemplu, dacă doriți să extrageți MEV peste lanțuri) și același hardware poate fi reutilizat în orice moment. Adaptați-vă flexibil la modificările din ZK „meta”.
02 Aprovizionare mai sănătoasă:
Proiectarea, fabricarea și implementarea ASIC durează de obicei între 12 și 18 luni sau mai mult. Lanțul de aprovizionare FPGA este sănătos. Furnizorii de frunte de FPGA, cum ar fi Xilinx, permit plasarea comenzilor în vrac online (adică nu este necesar niciun alt contact) și ajung în 16 săptămâni. Acest lucru permite operațiunilor centrate pe FPGA să aibă o buclă de feedback mai strânsă asupra produselor lor și să-și extindă operațiunile prin achiziționarea și implementarea mai multor FPGA.
Și ne așteptăm, de asemenea, ca performanța FPGA să fie mai bună decât GPU, în principal din două motive:
1) Overhead hardware: FPGA-urile de top (noduri de procesare de top, viteze de ceas, eficiență energetică și lățime de bandă a memoriei) sunt de aproximativ 3 ori mai ieftine decât GPU-urile de top. Cererea globală de GPU-uri exacerbează și mai mult problema.
2) Eficiența consumului de energie: consumul de energie al FPGA este de >10 ori mai mare decât cel al GPU. Motivul principal este că GPU-ul trebuie să fie conectat la un dispozitiv gazdă, care consumă de obicei multă energie.
Credem că viitorii câștigători de pe piață vor fi: FPGA > ASIC (sau GPU). Dacă doar una sau un număr mic de soluții ZK L1 sau L2 domină scara în viitor, iar sistemul ZK proof se va stabiliza în jurul unei singure implementări, atunci ASIC poate depăși FPGA. Dar în prezent, această situație nu se va întâmpla peste câțiva ani.
Minerii Bitcoin au câștigat peste 15 miliarde de dolari, iar minerii Ethereum au câștigat puțin peste 17 miliarde de dolari. Dovezile cu cunoștințe zero vor deveni în cele din urmă mediul de facto pentru integritatea computațională și confidențialitatea pe web, caz în care oportunitatea pentru minerii/demonstratorii ZK poate fi similară ca dimensiune cu piața minieră de dovezi de lucru.
ZKP este lent și necesită accelerare hardware pentru a implementa calcule complexe. Credem că cea mai importantă tehnologie pentru accelerarea hardware ZK este FPGA, nu GPU (limitat de cost și eficiență energetică) sau ASIC (limitat de inflexibilitatea și ciclul de iterație lung).