Il 2023 è il primo anno dell’epidemia di ZK e ci sono già alcune opinioni. In questo articolo, ci concentreremo sulla discussione dei diversi tipi di traccia hardware zkEVM e ZKP, ecc., e li analizzeremo uno per uno. All'incontro di ricerca sugli investimenti sul tema ZK avviato da ChainTimes la scorsa settimana, tutti hanno comunicato attivamente. Questo articolo risolverà l'analisi su zkEVM e sull'hardware condiviso da MetaStone Capital.

01.Informazioni su zk-rollup

Come soluzione di scalabilità di Ethereum, Rollups può raggruppare e comprimere transazioni attraverso la propria rete e inviarle alla catena Ethereum per la verifica. Può aumentare l'efficienza operativa della rete verificando più transazioni sulla rete contemporaneamente, e anche questo è per aumentare il numero di esecuzioni di transazioni e raggiungere l’espansione.

Attraverso il numero di transazioni eseguite contemporaneamente dallo stesso Rollups, il problema TPS per cui Ethereum è stato criticato può essere risolto. Sulla base della sicurezza di Ethereum stesso, il numero di transazioni eseguibili può essere aumentato di diversi ordini di grandezza.

zkRollups può combinare la privacy con soluzioni attraverso la tecnologia a prova di conoscenza zero, che consente a una parte di dimostrare qualcosa a un'altra parte senza rivelare le informazioni che dimostrano quella parte, ottenendo così la privacy. Naturalmente, non tutti gli zkRollup trarranno vantaggio dalle proprietà di privacy della tecnologia a conoscenza zero. Allo stesso tempo, rispetto a L1, zkRollups ha economie di scala più forti. Per quanto riguarda L1 Ethereum, i suoi costi e la velocità di elaborazione non sono generalmente adatti a un numero sempre maggiore di utenti. Per zkRollups, è più necessario che gli utenti delle transazioni ridurranno ulteriormente i costi di utilizzare la rete e raggiungere lo scopo originale.

Gli ovvi vantaggi dell'applicazione di zk-rollup su ETH sono:

1. Condividere la sicurezza del livello di consenso di Ethereum

2. Risolvi il problema della scalabilità nel triangolo impossibile della blockchain

3. Enormi effetti di rete

02. Come funzionano EVM e zkEVM

a. Principio di funzionamento dell'EVM

Il bytecode del contratto intelligente viene caricato dallo spazio di archiviazione dell'EVM ed eseguito da nodi peer-to-peer sull'EVM.

I codici operativi EVM interagiscono con diverse parti dello stato EVM ed eseguono operazioni di lettura e scrittura (inclusi memoria e stack)

Il codice operativo EVM esegue calcoli sul valore ottenuto dall'archivio stati prima di restituire il nuovo valore per completare la transizione di stato.

b.Come funziona zkEVM

Cioè, viene generata una prova a conoscenza zero per verificare ciascuno dei processi di cui sopra, viene generato un certificato di validità e inviato al contratto di verifica ETH per la verifica. La verifica include vedere se si ottiene il valore corretto dal vecchio stato, se c'è una deviazione nel calcolo, ecc. Il processo di generazione di una prova di validità è anche il processo di realizzazione di un circuito di prova a conoscenza zero.



Programma di esecuzione 3.zkEVM

01. Le condizioni di base di zkEVM richiedono una macchina virtuale compatibile con evm per eseguire codici operativi ed eseguire contratti intelligenti.

02. Esiste un circuito di verifica che genera prove a conoscenza zero. Completare il processo di generazione della prova utilizzando le informazioni pre-stato, input della transazione e post-stato come input

03. Presentare il certificato di validità al contratto di verifica dell'ETH per la verifica



4. Problemi di compatibilità tra Scroll e zkSync, Starknet e Polygon

Poiché EVM non ha considerato il problema del calcolo zkp quando è stato originariamente progettato, esistono due modi per combinare zk+zvm:

a. Metodo di compilazione

Starknet stesso utilizza il linguaggio Cairo (linguaggio del sistema a prova di conoscenza zero). Se gli sviluppatori vogliono spostare le applicazioni eth su Starknet, devono prendere in prestito il compilatore del team Starknet per la compilazione, consentendo ai progetti scritti in Solidity di "one-click" sulla loro base di codice. "Si traduce al Cairo.

zksync è anche compilato in linguaggio. Attraverso il linguaggio intermedio YUL, utilizzando il framework LLVM, il bytecode del contratto di solidità viene compilato nel linguaggio YUL e quindi compilato nel bytecode eseguibile zksync ZKEVM impostato tramite il bytecode YUL.

Polygon è compilato su bytecode e il bytecode solidity open source viene compilato nel codice di microoperazione eseguibile polygon uvm, che in realtà sostituisce il codice operativo nativo evm. Ma il punto del progresso è completare la compatibilità evm dal livello del bytecode.

b.scroll è il processo di progettazione di circuiti a conoscenza zero per codici operativi evm

Scroll eseguirà il contratto intelligente sull'EVM, trasferirà il bytecode del contratto intelligente nella memoria, lo eseguirà uno per uno con i codici operativi, otterrà l'albero Merkle e personalizzerà un circuito per ciascun albero. Ogni codice operativo ha un circuito e, quando combinato, non è necessario alcun passaggio di traduttore e non è necessario modificare nulla.

zkEVM a livello di bytecode è intuitivo per gli sviluppatori: l'implementazione a soglia bassa è un punto. Inoltre, senza convertire il codice Solidity in un altro linguaggio di codifica, gli sviluppatori possono utilizzare direttamente strumenti di sviluppo, librerie, portafogli (come MetaMask), Market e comuni di Ethereum. debugger, questo è il più critico. Al contrario, l’utilizzo della compatibilità a livello linguistico causerà alcune difficoltà agli sviluppatori nell’utilizzo degli strumenti etici e nella migrazione delle applicazioni ecologiche di Ethereum, e la compatibilità sarà inferiore.

Compatibilità a parte, come confrontare ZK-EVM:

In un ambiente open source, le differenze tra le varie soluzioni ZK del sistema Prove complessivo sono molto piccole e le differenze non sono significative, il che influisce debolmente sull'efficienza di Prove. In termini di ingegneria, viene misurato in termini di complessità di prova, complessità di verifica, complessità di comunicazione, ecc., nonché in termini di idee complessive di sviluppo del circuito. È impossibile giudicare chi vincerà alla fine. Perché gli effetti di rete, la cultura della comunità, la promozione delle operazioni, gli effetti di ricchezza, il supporto agli sviluppatori, ecc. sono tutti gli elementi più importanti dell'ecosistema.

5. Tipi attuali di ZKP

Per dimostrare un calcolo tramite ZK, di solito è necessario tradurre un programma tradizionale in un programma compatibile con ZK.

Più il calcolo è complesso e non è amichevole per ZK, più lento sarà il processo di generazione della prova. Alcune operazioni non sono amichevoli per ZK (operazione sha/bitwise Se il calcolo è amichevole per ZK, più veloce sarà). sarà il sistema di prova Attualmente ci sono PLONK, Spartan e STARK. Questi sistemi di prova possono produrre una prova basata sull'input.

Tuttavia, l’attuale collo di bottiglia nella generazione di prove non è altro che uno dei due. Tutti i sistemi di prova includono fondamentalmente due algoritmi: FFT e MSM. Il principale fattore che limita la velocità dei due algoritmi attualmente dipende dal costo dell’hardware e della larghezza di banda.

Gli attuali tipi di hardware includono principalmente i seguenti tre tipi di GPU FPGA ASIC. Attualmente, ZKP è ancora nella fase di sviluppo iniziale. C'è ancora poco lavoro di standardizzazione sui parametri di sistema (come la larghezza della FFT o la dimensione in bit dell'elemento). Anche il sistema di prova non esiste uno standard pertinente.

Sulla base dei fattori di cui sopra, per gli scenari ZKP, l'FPGA ha 2 attributi principali che lo rendono migliore dell'ASIC:

01Scrivi più volte” VS “Scrivi una volta”

La logica aziendale sull'ASIC è write-once. Se sono presenti modifiche alla logica ZKP, è necessario ricominciare da capo. L'FPGA può eseguire il re-flash entro 1 secondo e supporta il re-flash innumerevoli volte, il che significa che lo stesso hardware può essere riutilizzato tra diverse catene che eseguono sistemi di prova incompatibili (ad esempio, se si desidera estrarre MEV attraverso catene) e lo stesso hardware può essere riutilizzato in qualsiasi momento Adattarsi in modo flessibile ai cambiamenti in ZK "meta".

02Fornitura più sana:

La progettazione, la produzione e l'implementazione degli ASIC richiedono in genere dai 12 ai 18 mesi o più. La catena di fornitura FPGA è sana. I principali fornitori di FPGA come Xilinx consentono di effettuare ordini in grandi quantità online (ovvero, non è richiesto alcun altro contatto) e di arrivare entro 16 settimane. Ciò consente alle operazioni incentrate sugli FPGA di avere un ciclo di feedback più stretto sui propri prodotti ed espandere le proprie operazioni acquistando e implementando più FPGA.

E ci aspettiamo anche che le prestazioni dell'FPGA siano migliori rispetto alla GPU, principalmente per due motivi:

1) Sovraccarico hardware: i migliori FPGA (nodi di elaborazione leader, velocità di clock, efficienza energetica e larghezza di banda della memoria) sono circa 3 volte più economici delle migliori GPU. La domanda globale di GPU aggrava ulteriormente il problema.

2) Efficienza nel consumo energetico: il consumo energetico dell'FPGA è >10 volte superiore a quello della GPU. Il motivo principale è che la GPU deve essere collegata a un dispositivo host, che solitamente consuma molta energia.

Pensiamo che i futuri vincitori sul mercato saranno: FPGA > ASIC (o GPU). Se in futuro solo una o un piccolo numero di soluzioni ZK L1 o L2 domineranno la scala e il sistema di prova ZK si stabilizzerà attorno a una singola implementazione, allora l’ASIC potrebbe superare l’FPGA. Ma al momento, questa situazione non si verificherà tra qualche anno.

I minatori di Bitcoin hanno guadagnato oltre 15 miliardi di dollari, mentre i minatori di Ethereum hanno guadagnato poco più di 17 miliardi di dollari. Le prove a conoscenza zero finiranno per diventare il mezzo di fatto per l’integrità computazionale e la privacy sul web, nel qual caso l’opportunità per i minatori/prover ZK potrebbe essere di dimensioni simili al mercato del mining delle prove di lavoro.

ZKP è lento e richiede l'accelerazione hardware per implementare calcoli complessi. Riteniamo che la tecnologia più importante per l'accelerazione hardware ZK sia FPGA, non GPU (limitata dal costo e dall'efficienza energetica) o ASIC (limitata dalla sua inflessibilità e dal lungo ciclo di iterazione).