Intervistatore: Nickqiao e Faust, Geek Web3

Intervistato: YeZhang, Scorrimento Lianchuang

Editore: Faust & Jomosis

Il 17 giugno, Geek Web3 e BTCEden, con l'aiuto di Vincent Jin, DevRel di Scroll, hanno avuto l'onore di invitare il co-creatore di Scroll Zhang Ye a rispondere a molte domande su Scroll e zkEVM.

Durante il periodo, le due parti non solo hanno parlato di molti argomenti tecnici, ma hanno anche parlato di alcune cose interessanti su Scroll e sulla sua grande visione di potenziare l’economia reale in Asia, Africa e America Latina. Questo articolo è una trascrizione dell'intervista, con più di 10.000 parole e un totale di almeno 15 argomenti:

  • Lo spazio applicativo di ZK nei settori tradizionali

  • La differenza nella difficoltà ingegneristica tra zkEVM e zkVM

  • Le difficoltà incontrate da Scroll nell'implementazione di zkEVM

  • Miglioramenti di Scroll al sistema halo2 proof di Zcash

  • Come Scroll ha collaborato con il team Ethereum PSE

  • In che modo Scroll garantisce che i suoi circuiti siano sicuri e affidabili a livello di controllo del codice?

  • Il semplice piano di Scroll per la futura nuova versione di zkEVM e del sistema di prova

  • Il design Multi Prover di Scroll e il metodo di costruzione della sua rete di generazione di Prover (pool minerario zk), ecc.

Inoltre, Zhang Ye ha finalmente parlato della grande visione di Scroll di mettere radici in aree con sistemi finanziari arretrati come Africa, Turchia e Sud-Est asiatico, e intende creare scenari economici reali affinché le persone nella regione possano "trascendere la realtà in realtà". .” Questo articolo potrebbe essere uno dei migliori materiali per consentire a più persone di comprendere meglio Scroll. Si consiglia a tutti di leggerlo attentamente.

1.Faust: Cosa ne pensi dell'applicazione di ZK da parte dell'insegnante Zhang Ye al di fuori di Rollup? Molte persone danno per scontato che gli usi principali di ZK siano nei mixer di valuta, nei trasferimenti privati ​​o nei ZK Rollup e ZK bridge. Tuttavia, al di fuori del Web3, ci sono ancora molte applicazioni di ZK nei settori tradizionali, ad esempio. In quali direzioni ritieni che ZK possa essere adottato con maggiore probabilità in futuro?

YeZhang: Questa è una buona domanda. Le persone di ZK nei settori tradizionali hanno esplorato vari scenari ZK cinque o sei anni fa. Gli scenari in cui ZK viene utilizzato nella blockchain sono in realtà molto piccoli. Questo è il motivo per cui Vitalik ritiene che tra anni, la scena di ZK sarà grande quanto la blockchain.

Penso che ZK sarà molto utile negli scenari in cui sono richiesti presupposti di fiducia. Supponiamo che tu debba gestire alcune attività informatiche pesanti ora. Se noleggi un server su AWS, esegui le tue attività e ottieni i risultati, equivale a fare calcoli sull'attrezzatura che controlli. Quindi devi pagare per il noleggio del server. ma questo denaro spesso non costa poco;

Ma se ci impegniamo in un modello di outsourcing informatico, molte persone possono condividere le attività informatiche con le proprie apparecchiature o risorse inattive e il costo da pagare potrebbe essere più economico rispetto al noleggio di un server da soli. Ma qui c'è un problema di fiducia, non sai se i risultati dei calcoli restituiti da altri sono corretti. Ora immagina di fare un calcolo molto complicato, quindi dammi il calcolo e dammi i soldi. Ti darò un risultato casuale dopo mezz'ora e non hai modo di credere che questo risultato sia valido, perché posso semplicemente inventare il risultato.

Ma se posso dimostrarti che il risultato del calcolo fornito è corretto, allora puoi stare tranquillo e osare affidarmi più compiti di calcolo. ZK può trasformare molte fonti di dati non attendibili in fonti attendibili. Questa funzione è molto potente. Attraverso ZK, puoi utilizzare risorse informatiche di terze parti non attendibili ma economiche in modo più efficiente.

Penso che questo scenario sia molto significativo e possa portare a un modello di business simile all’informatica in outsourcing. In parte della letteratura accademica si parla di calcolo verificabile, che significa rendere un calcolo affidabile. Inoltre, ZK può essere applicato al campo del database. Supponiamo che sia troppo costoso eseguire il database localmente e si decida di esternalizzarlo. Sei preoccupato che l'altra parte modifichi i dati che ospiti lì o i risultati che ottieni dopo una query SQL?

Per questo, puoi chiedere all'altra parte di generare una prova. Se ciò è possibile, puoi anche esternalizzare l'archiviazione dei dati e ottenere un risultato affidabile. Questo e il precedente Trusted Computing rappresentano entrambi una vasta categoria di scenari applicativi.

Inoltre, ci sono molti esempi di applicazione. Ricordo un articolo che parlava dell'ASIC verificabile. Quando produci il chip, puoi scrivere l'algoritmo ZK sul tuo chip. Quando esegui il programma sul chip, il risultato avrà un valore predefinito. Prova. In questo modo, penso che molte cose possano essere proxy su qualsiasi dispositivo e generare risultati credibili.

Esiste anche una cosa un po' ridicola chiamata Photo Proof. Ad esempio, per molte immagini, non sai se sono state ritoccate con Photoshop, ma possiamo usare ZK per dimostrare che le foto non sono state manomesse. Ad esempio, puoi aggiungere alcune impostazioni nel software della fotocamera per generarne alcune automaticamente firme digitali Dopo aver scattato le foto, questa firma A equivale a timbrare una foto. Se qualcuno prende le foto che hai scattato e le modifica con Photoshop per una "creazione secondaria", possiamo identificare che le immagini sono state alterate verificando la firma.

Qui possiamo presentare ZK Dopo aver apportato alcune modifiche all'immagine originale, puoi utilizzare ZK Proof per dimostrare agli altri che hai eseguito solo operazioni semplici come la rotazione e la traslazione sulla foto e non hai manomesso il contenuto originale della foto. foto, dimostrando che hai apportato modifiche precise. L'immagine finale è sostanzialmente la stessa dell'immagine originale, il che dimostra che non hai manomesso il contenuto principale dell'immagine per impegnarti nella "creazione secondaria".

Questo scenario può essere esteso anche a video e audio. Tramite ZK, non devi dire all'altra parte quali modifiche hai apportato al video originale, ma puoi dimostrare di non aver manomesso il contenuto principale dell'originale. versione e che hai apportato solo alcune modifiche innocue. Inoltre, ci sono molte applicazioni interessanti in cui ZK può entrare.

Al momento, penso che il motivo per cui gli scenari applicativi ZK non siano stati ampiamente accettati è che il loro costo è troppo elevato. Lo schema esistente di generazione di prove ZK non può generare prove in tempo reale per alcun calcolo, perché il sovraccarico di ZK è generalmente il calcolo originale. Da 100 a 1000 volte Naturalmente il numero che ho menzionato è già relativamente basso.

Quindi, se immagini che un'attività di calcolo richiedeva originariamente 1 ora e ora generi una prova ZK, il sovraccarico potrebbe essere 100 volte, ovvero ci vorranno 100 ore per generare la prova, sebbene tu possa utilizzare GPU o ASIC per ridurre questo tempo Il tempo è ridotto, ma richiede comunque un enorme sovraccarico di calcolo Se mi chiedi di calcolare una cosa molto problematica e mi chiedi anche di generare ZK Proof per questo, posso rifiutarmi di farlo perché consumerà 100. volte in più di risorse informatiche. Alla fine, non è economicamente vantaggioso implementarlo nei conti economici. Pertanto, per gli scenari uno-a-uno, generare prove ZK una tantum è costoso.

Tuttavia, questo è anche il motivo per cui ZK è molto adatto per Blockchain. Il motivo è che Blockchain esegue calcoli ridondanti e presenta molti scenari uno-a-molti. Diversi nodi nella rete blockchain eseguono le stesse attività di elaborazione. Se ci sono 10.000 nodi, la stessa attività verrà eseguita 10.000 volte. Ma se completi l'attività off-chain e generi la prova ZK e 10.000 nodi verificano solo la prova ZK senza rieseguire l'attività, non devi ripetere il calcolo originale 10.000 volte, il che equivale al costo del calcolo di una persona e il costo del calcolo ridondante su 10.000 nodi è stato sostituito. Da una prospettiva generale, più persone possono risparmiare risorse.

Pertanto, in effetti, più la catena è decentralizzata, più è adatta per ZK, perché chiunque può verificare ZKP quasi a costo zero. Finché paghiamo un certo costo quando generiamo inizialmente la prova, possiamo liberare la maggior parte delle persone Ecco perché la verificabilità pubblica della blockchain è molto adatta per ZK, perché ci sono molti scenari uno-a-molti nella blockchain.

C'è un altro punto non menzionato sopra. Le prove ZK attualmente utilizzate nel campo blockchain con un sovraccarico relativamente elevato sono tutte non interattive. Tu mi dai qualcosa, io ti do la prova e poi finisce, perché nella blockchain non puoi ripeterlo per interagire con la catena. Ma esiste un modo più efficiente e meno costoso per generare dimostrazioni, ovvero le prove interattive. Ad esempio, tu mi invii una sfida, io ti invio qualcosa, tu mi invii un'altra cosa e io te ne invio un'altra. Attraverso questo metodo di interazioni multiple tra le due parti, è possibile ridurre la grandezza computazionale di ZK Lower nuovamente. Se questo metodo funziona, potrebbe essere possibile risolvere il problema della generazione di prove in scenari di applicazioni ZK di grandi dimensioni.

Nickqiao: Come vedi le prospettive di sviluppo di zkML, ovvero la combinazione di ZK e machine learning?

YeZhang: Anche zkML è una direzione molto interessante, che può trasformare il Machine Learning in ZK, ma penso che manchino ancora scenari di killer application in quest'area. Si ritiene generalmente che con il miglioramento delle prestazioni del sistema ZK, in futuro sarà in grado di supportare applicazioni a livello ML. Attualmente, l'efficienza di zkML può supportare applicazioni a livello gpt2. È tecnicamente possibile, ma solo così fare inferenza in ML. In ultima analisi, penso che tutti stiano ancora esplorando gli scenari applicativi di quest'area, cioè che tipo di cose richiedono di dimostrare che il processo di ragionamento è corretto. Questa questione è piuttosto complicata.

2.Nickqiao: Vorrei chiedere al signor Zhang Ye, qual è la differenza specifica nella difficoltà di implementazione tecnica tra zkEVM e zkVM?

YeZhang: Prima di tutto, che si tratti di zkEVM o zkVM, l'essenza è generare un circuito ZK personalizzato per il set di codici operativi/istruzioni di una determinata macchina virtuale. La difficoltà di implementazione del progetto zkEVM dipende da come lo implementiamo per la prima volta ha iniziato il progetto, poiché l'efficienza di ZK non è ancora così elevata, è il modo più efficiente per personalizzare uno zkEVM scrivendo un circuito corrispondente per ciascun codice operativo dell'EVM e quindi combinando i circuiti.

Tuttavia, l'implementazione ingegneristica di questa soluzione deve essere molto difficile, molto più grande di zkVM. Dopotutto, il set di istruzioni EVM ha più di 100 codici operativi. Ogni codice operativo deve essere personalizzato e quindi combinato all'EVM Nuovi codici operativi, come EIP-4844, zkEVM deve aggiungere nuove cose di conseguenza. Alla fine, devi scrivere un lungo circuito ed eseguire un lungo lavoro di audit, quindi la difficoltà di sviluppo e il carico di lavoro sono molto maggiori rispetto a zkVM.

Al contrario, zkVM definisce il proprio set di set di istruzioni/codici operativi. Il suo set di istruzioni personalizzato può essere molto semplice e compatibile con ZK. Dopo aver creato un set di zkVM, non è necessario modificare frequentemente il codice sottostante per supportarlo. Vari aggiornamenti e precompilazioni. Pertanto, il carico di lavoro principale di zkVM e la difficoltà dei successivi aggiornamenti e manutenzione vengono attribuiti al compilatore, che è la fase di conversione dei contratti intelligenti in codici operativi zkVM, che è molto diverso da zkEVM.

Pertanto, dal punto di vista della difficoltà ingegneristica, penso che zkVM sia più facile da implementare rispetto a zkEVM personalizzato, ma se si desidera eseguire EVM su zkVM, le prestazioni complessive sono molto inferiori rispetto a zkEVM personalizzato, perché quest'ultimo è appositamente personalizzato. Ma al momento, l’efficienza di Prover nella generazione di prove è aumentata di almeno 3-5 volte o addirittura da 5 a 10 volte negli ultimi due anni. Anche l’efficienza di zkVM sta migliorando di conseguenza. Ora che zkVM viene utilizzato per eseguire EVM. l'efficienza complessiva è migliorata lentamente, in futuro gli svantaggi prestazionali di zkVM potrebbero essere oscurati dalla sua facilità di sviluppo e manutenzione. Dopotutto, per zkVM e zkEVM, il collo di bottiglia più grande oltre alle prestazioni è la difficoltà di sviluppo. Richiede un team di ingegneri molto forte per mantenere un sistema così complesso.

3.Nickqiao: Puoi dirci se Scroll ha riscontrato difficoltà tecniche durante l'implementazione di zkEVM e come sono state risolte?

YeZhang: La sfida più grande lungo il percorso è stata l'eccessiva incertezza al momento del lancio iniziale del progetto. Quando abbiamo iniziato il progetto, praticamente non c'era nessun altro che si occupasse di zkEVM. Siamo stati il ​​primo team a esplorare zkEVM dall'impossibile al possibile. A livello teorico, un quadro fattibile è stato sostanzialmente determinato nei primi 6 mesi del progetto. Nel successivo processo di implementazione, zkEVM ha richiesto una grande quantità di lavoro ingegneristico e ci sono state alcune sfide molto tecniche, come ad esempio come supportare dinamicamente. diversa precompilazione (precompilazione), come aggregare i codici operativi (opcode) in modo più efficiente comporta molti problemi di ingegneria.

E siamo gli unici e i primi a supportare la precompilazione dell'accoppiamento di curve ellittiche EC. Circuiti come l'accoppiamento sono molto difficili da implementare e coinvolgono molti problemi matematici e di crittografia/matematica complessi per le persone che scrivono circuiti i requisiti per le competenze di base e le capacità ingegneristiche sono molto elevati.

Quindi, nello sviluppo successivo, dobbiamo anche considerare la manutenibilità a lungo termine dello stack tecnologico e quando sarà necessario eseguire l'aggiornamento alla prossima generazione zkEVM 2.0. Abbiamo un team di ricerca dedicato che ha studiato tali soluzioni, come il supporto di EVM tramite zkVM. Abbiamo anche documenti pertinenti per discutere questo aspetto.

Per riassumere, penso che la difficoltà precedente fosse trasformare zkEVM da impossibile a possibile, e le sfide principali riguardavano l'implementazione e l'ottimizzazione del progetto. Nella fase successiva, la difficoltà maggiore sarà quando e come passare a un sistema di prova ZK più efficiente e come trasferire l'attuale base di codice alla prossima generazione di zkEVM e alla successiva. C'è molto spazio per l'esplorazione di cosa nuove funzionalità che la prima generazione di zkEVM può fornirci.

4.Nickqiao: Sembra che Scroll abbia preso in considerazione il passaggio a un altro sistema di prova ZK. Per quanto ne so, Scroll attualmente utilizza una serie di algoritmi basati su PLONK+Lookup. Quindi questo algoritmo è attualmente il più adatto per implementare zkEVM e quale sistema di prova Scroll intende utilizzare in futuro?

YeZhang: Prima di tutto, lasciatemi rispondere brevemente alle domande su PLONK e Lookup Attualmente, questo sistema è ancora il più adatto per implementare zkEVM o zkVM. La maggior parte delle implementazioni sono legate a PLONK e Lookup specifici. In generale, quando si parla di PLONK, per scrivere i circuiti zkVM si utilizza l'aritmetizzazione di PLONK, che è l'espressione aritmetica del circuito.

La ricerca è un metodo utilizzato durante la scrittura di circuiti, un tipo di vincolo. Quindi, quando menzioniamo PLONK + Lookup, intendiamo utilizzare il formato dei vincoli di PLONK durante la scrittura di circuiti zkEVM o zkVM. Questo metodo è attualmente il più comune.

Sul back-end, i confini tra PLONK e STARK sono diventati sfumati. Usano semplicemente metodi di impegno polinomiale diversi, ma in realtà sono molto simili. Anche se viene utilizzata la combinazione di STARK + Lookup, è simile a PLONK + Lookup. Ciò che tutti guardano è solo l'algoritmo. La differenza tra i due si riflette principalmente nell'efficienza di Prover e nella dimensione della dimostrazione. Naturalmente, per quanto riguarda il front end, Plonk + Lookup è ancora il più adatto per implementare zkEVM.

Per quanto riguarda la seconda domanda, a quale sistema di prova Scroll intende passare in futuro. Poiché l’obiettivo di Scroll è quello di mantenere sempre la propria tecnologia e struttura della catena ai vertici del campo zk, utilizzeremo sicuramente le tecnologie più recenti. Abbiamo sempre considerato la sicurezza e la stabilità come i nostri obiettivi prioritari, quindi non cambieremo il nostro sistema di prova ZK in modo troppo radicale. Potremmo prima effettuare la transizione attraverso alcuni Multi Prover ed esplorare e progredire passo dopo passo per completare l'aggiornamento della versione successiva Iterare. In ogni caso, assicurati che la transizione avvenga senza intoppi.

Ma per ora è ancora presto per passare a un nuovo sistema di prova. Questa è in realtà la direzione di sviluppo della fase successiva, ovvero i prossimi sei mesi o un anno.

5.Nickqiao: Scroll presenta innovazioni uniche nell'attuale sistema di prova basato su PLONK e Lookup?

YeZhang: Halo2 è attualmente in esecuzione sulla mainnet Scroll. Halo2 è stato originato dal team di progetto Zcash. Sono stati i primi a costruire un sistema back-end in grado di supportare Lookup e scrivere in modo flessibile formati di circuiti. Quindi, abbiamo lavorato con il team PSE di Ethereum per trasformare halo2, cambiando lo schema di impegno polinomiale utilizzato da IPA a KZG e riducendo la dimensione della prova, in modo che la prova ZK possa essere verificata in modo più efficiente su Ethereum.

Quindi abbiamo lavorato molto sull'accelerazione hardware della GPU Rispetto all'utilizzo della CPU per generare ZKP, possiamo rendere la generazione ZKP da 5 a 10 volte più veloce. In generale, abbiamo sostituito lo schema di impegno polinomiale dell'halo2 originale con una versione più semplice da verificare, apportato molte ottimizzazioni su Prover e dedicato molti sforzi all'implementazione tecnica.

6.Nickqiao: Quindi Scroll sta ora collaborando con il team Ethereum PSE per mantenere la versione KZG di halo2. Puoi raccontarci un po’ come lavori con il team PSE?

YeZhang: Prima che Scroll iniziasse il progetto, conoscevamo alcuni ingegneri del team PSE, abbiamo parlato con loro e abbiamo detto che volevamo realizzare zkEVM. Abbiamo stimato che l'efficienza fosse OK. È successo che volevano fare la stessa cosa nello stesso momento e si sono subito trovati bene.

Pertanto, abbiamo incontrato persone della comunità Ethereum e di Ethereum Research che volevano lavorare su zkEVM. Tutti volevano commercializzare zkEVM e avevano l'idea di servire Ethereum, quindi è stato naturale avviare un modello di cooperazione open source. Questo tipo di cooperazione è più simile a una comunità open source che a un'azienda commerciale. Ad esempio, facciamo una telefonata una volta alla settimana per sincronizzare i progressi e discutere i problemi incontrati.

Abbiamo mantenuto questo set di codice come open source in questo modo, dal miglioramento di halo2 all'implementazione di zkEVM, c'è molto processo di esplorazione e ci aiuteremo a vicenda a rivedere il codice. Come puoi vedere dai contributi del codice su Github, PSE ne ha scritto metà e Scroll ne ha scritto metà. Successivamente, abbiamo completato l'audit del codice e implementato una versione del codice che era veramente prodotta e funzionante sulla rete principale. In sintesi, il nostro modello di cooperazione con Ethereum PSE assomiglia più al percorso di una comunità open source ed è una forma spontanea.

7.Nickqiao: Hai appena detto che scrivere circuiti zkEVM richiede matematica e crittografia molto elevate. In questo caso, probabilmente ci sono pochissime persone in grado di comprendere zkEVM. Quindi, come fa Scroll a garantire la correttezza della scrittura del circuito e a ridurre i bug?

YeZhang: Poiché siamo un codice open source, praticamente ogni PR verrà esaminato dal nostro personale, da alcuni di Ethereum e da alcuni membri della comunità, ed esiste un processo di controllo relativamente rigido. Allo stesso tempo, abbiamo anche speso molti soldi per gli audit dei circuiti, più di 1 milione di dollari USA, e abbiamo trovato gli istituti di crittografia e audit dei circuiti più professionali del settore, come Trail of Bits, Zellic, ecc. Abbiamo anche utilizzato openzepplin per verificare i contratti intelligenti sulla nostra catena. Fondamentalmente, tutte le cose relative alla sicurezza utilizzano le risorse di controllo di fascia più alta. Disponiamo inoltre di un team di sicurezza interno dedicato per condurre test e continuare a migliorare la sicurezza di Scroll.

Nickqiao: Oltre a questo metodo di audit, esistono metodi matematicamente più rigorosi come la verifica formale?

YeZhang: In realtà abbiamo esaminato a lungo la direzione della verifica formale, incluso Ethereum, che recentemente ha pensato a come eseguire la verifica formale per zkEVM. Questa è in realtà una buona direzione. Ma per ora è ancora presto per effettuare una verifica formale completa per zkEVM. Possiamo iniziare solo con alcuni piccoli moduli, perché è previsto un costo per eseguire la verifica formale, ad esempio se è necessario eseguire la verifica formale su una serie di codici , Devi prima scrivere una specifica, ma scrivere una specifica non è facile. Ci vuole molto tempo per perfezionare questo insieme di cose.

Quindi penso che non sia ancora nella fase di verifica formale completa di zkEVM, ma continueremo a esplorare attivamente come realizzare prove formali di zkEVM con partner esterni, incluso Ethereum.

Attualmente, il modo migliore è l'auditing manuale, perché anche se disponi di specifiche e verifica formale, se le specifiche sono scritte in modo errato, avrai comunque problemi. Pertanto, penso che sia meglio garantire la stabilità dell'attuale codice Scroll prima attraverso il controllo manuale e poi attraverso open source e bug bounties.

Tuttavia, nella prossima generazione di zkEVM, come eseguire la verifica formale, come progettare uno zkEVM migliore in modo che sia più semplice scrivere le specifiche e dimostrarne la sicurezza attraverso la verifica formale è l'obiettivo finale di Ethereum Target. Vale a dire, dopo che zkEVM è stato formalmente verificato, possono implementarlo sulla rete principale di Ethereum in totale sicurezza.

8.Nickqiao: Per quanto riguarda l'halo2 adottato da Scroll, se vorrà supportare nuovi sistemi di prova come STARK, i costi di sviluppo saranno molto alti? È possibile implementare un sistema plug-in per supportare più sistemi di prova contemporaneamente?

YeZhang: halo2 è un sistema di prova ZK molto modulare. Puoi sostituirne il dominio, l'impegno polinomiale, ecc. Finché l'impegno polinomiale che utilizza viene modificato da KZG a FRI, puoi sostanzialmente implementare una versione halo2 di STARK inoltre qualcuno lo ha fatto, quindi halo2 deve supportare STARK. Questa compatibilità è completamente OK.

Quindi, nell'implementazione effettiva, scoprirai che se vuoi perseguire la massima efficienza, è più probabile che un quadro più modulare causi alcuni problemi di efficienza, perché sacrifichi il grado di personalizzazione per la modularità, e ci sarà un prezzo da pagare. Continuiamo a prestare attenzione a un problema, ovvero se la direzione dello sviluppo futuro debba essere un framework modulare o un framework molto personalizzato, soprattutto se disponiamo di un team di sviluppo ZK sufficientemente forte da mantenere un sistema di certificazione indipendente e quindi far diventare zkEVM More efficiente. Naturalmente i problemi di cui sopra richiedono alcuni compromessi, ma per quanto riguarda halo2, può supportare FRI.

9.Nickqiao: Qual è l'attuale direzione dell'iterazione di Scroll in ZK? Sta ottimizzando l'algoritmo attuale, aggiungendo alcune nuove funzionalità, ecc.?

YeZhang: Il fulcro di ciò che sta facendo il nostro team di ingegneri è raddoppiare le prestazioni dell'attuale Prover e ottenere la migliore compatibilità EVM. Nella prossima versione dell'aggiornamento, continueremo a mantenere la nostra posizione come i più compatibili con EVM in ZK Rollup. Ora tutti gli altri zkEVM non dovrebbero essere compatibili come i nostri.

Quindi questo è ciò che il team di ingegneri di Scroll sta facendo da un lato, ovvero continuare a ottimizzare Prover e Compatibilità e ridurre i costi. Ora abbiamo investito molta manodopera nella ricerca sulla prossima generazione di zkEVM e abbiamo investito circa la metà dei nostri sforzi ingegneristici per ottenere una generazione di prove ZK di livello minuto o addirittura di secondo livello, rendendo Prover più efficiente.

Allo stesso tempo, stiamo esplorando il nuovo livello di esecuzione zkEVM. I nostri nodi utilizzavano go-ethereum, ma ora esiste una versione Rust con prestazioni migliori del client Ethereum Reth. Quindi stiamo studiando come combinare al meglio zkEVM di prossima generazione con il client Reth per migliorare le prestazioni dell'intera catena. Esamineremo quali metodi di implementazione e forme di transizione sono migliori per zkEVM se ruota attorno al nuovo livello di esecuzione.

10.Nickqiao: Quindi, come i sistemi di prova diversificati che Scroll sta valutando di supportare, è necessario implementare più contratti Verifier sulla catena? Ad esempio, esegui la convalida incrociata

YeZhang: Penso che queste siano due domande. Innanzitutto, è necessario costruire un sistema di prova modulare e un Prover diversificato? Penso che abbia senso farlo, perché siamo un progetto open source dall'inizio alla fine. Più generale rendi il framework open source, più persone saranno attratte dall'aiutarti a costruire la ruota e di conseguenza la tua comunità crescerà. Successivamente, nello sviluppo del progetto o nell'uso degli strumenti, potrai naturalmente fare affidamento su forze esterne. Quindi penso che avrebbe senso creare un framework di prova ZK che non venga utilizzato solo da Scroll stesso, ma anche da altri.

Quindi la seconda cosa è eseguire la convalida incrociata sulla rete principale. Questo è in realtà un argomento ortogonale per dimostrare se il sistema stesso è diverso e se supporta STARK o PLONK. In generale, ci sono pochissimi progetti che utilizzano PLONK per verificare lo stesso zkEVM e quindi utilizzano STARK per verificarlo. Questo è molto raro, perché farlo non migliorerà notevolmente la sicurezza, ma farà pagare a Prover costi più elevati, quindi è così generalmente non viene eseguita. Si verifica questa situazione di convalida incrociata.

In realtà stiamo lavorando su qualcosa chiamato Multi Prover Due set di Prover possono dimostrare insieme lo stesso Blocco, ma le due Proof verranno aggregate off-chain e quindi inserite in-chain per la verifica. Pertanto, la convalida incrociata tra STARK e SNARK non verrà eseguita sulla catena. La nostra soluzione multi-Prover è garantire che quando un set di codici Prover ha un problema, l'altro set di codici può coprirlo. Se un sistema ha un bug, l'altro può funzionare come al solito, quindi questo è un altro argomento convalida incrociata.

11.Nickqiao: Multi Prover di Scroll, in cosa sarà diverso il programma di prova eseguito da ciascun Prover?

YeZhang: Prima di tutto, supponiamo di avere un normale zkEVM scritto in halo2 e un normale Prover per generare ZKP e quindi verificarlo sulla catena. Ma qui c'è un problema. zkEVM è molto complicato e potrebbero verificarsi dei bug. Se si verifica un bug, ad esempio, un hacker o un team di progetto utilizza il bug per generare una prova e alla fine i soldi di tutti possono essere ritirati, il che sicuramente non va bene.

L'idea centrale di Multi Prover è stata in realtà proposta per la prima volta da Vitalik all'evento di Bogotà. Ciò significa che se zkEVM può contenere bug, è possibile eseguire diversi tipi di Prover contemporaneamente. Ad esempio, è possibile utilizzare il Prover basato su SGX di TEE (Scroll attualmente utilizza questo set) o basato su OP, oppure utilizzare zkVM per. esegui EVM per eseguire un prover. Questi Prover dovranno comunque dimostrare contemporaneamente l'efficacia di un Blocco L2.

Supponiamo che ci siano 3 diversi tipi di Prover Se e solo se le 3 diverse prove generate da loro superano tutte la verifica, o almeno 2 delle 3 prove superano la verifica, è possibile finalizzare lo stato finale del livello 2 sulla catena Ethereum. Multi Prover può garantire che quando un Prover fallisce, gli altri due Prover possono subentrare. Infine, la stabilità dell'intero sistema Prover sarà molto buona, il che migliora la sicurezza di ZK Rollup. Naturalmente, questo introdurrà anche altri svantaggi, come l'aumento del costo operativo complessivo di Prover. Abbiamo un blog dedicato per introdurre questi concetti.

12.Nickqiao: Ora, per quanto riguarda la generazione di prove ZK di Scroll, come è costruita la sua rete di generazione di prove (pool minerario ZK) è autocostruita o alcuni calcoli verranno esternalizzati a terzi come Cysic?

YeZhang: Per quanto ci riguarda, l'intero design è in realtà molto semplice. Vogliamo che più possessori di GPU o minatori partecipino alla nostra rete di prova (pool di mining ZK), ma per ora il mercato dei prover di Scroll è ancora gestito da noi stessi. e collaboreremo con alcune persone di terze parti con cluster GPU per eseguire Prover, ma questo è per la stabilità della rete principale, perché una volta che il tuo Prover sarà decentralizzato, ci saranno molti problemi.

Ad esempio, se il tuo meccanismo di incentivi non è progettato bene, se nessuno genera prove per te, le prestazioni della rete ne risentiranno. Nella fase iniziale abbiamo scelto un approccio relativamente centralizzato, ma il design dell’intera interfaccia e del framework rende molto semplice il passaggio a una modalità decentralizzata. Le persone possono utilizzare il nostro quadro tecnico per costruire una rete Prover decentralizzata e aggiungere alcuni incentivi.

Ma per ora, per la stabilità di Scroll, la nostra rete di generazione Prover è ancora centralizzata. In futuro, decentralizzeremo la rete Prover su scala più ampia Tutti potranno gestire il proprio nodo Prover, compresi noi piattaforme come Cysic, rete Snarkify, ecc., se qualcuno vuole avviare il proprio Layer 2 attraverso il nostro stack tecnologico, può andare al mercato Prover di terze parti e chiamare direttamente il servizio Prover dell'altra parte.

13.Nickqiao: Scroll ha investito o prodotto nell'accelerazione hardware ZK?

YeZhang: Questo è in realtà ciò che ho menzionato prima. Le due direzioni principali su cui Scroll ha lavorato inizialmente erano rendere zkEVM da impossibile a possibile. Il secondo è il motivo per cui possiamo renderlo possibile da impossibile a possibile perché l'efficienza dell'accelerazione hardware ZK ha stato migliorato.

In effetti, ho iniziato a lavorare sull'accelerazione hardware ZK tre anni prima di iniziare a lavorare su Scroll. Abbiamo anche documenti sull'accelerazione hardware ASIC o GPU. Conosciamo molto bene l'hardware zk, che si tratti di chip o GPU, a livello accademico o pratico, abbiamo una credibilità molto forte.

Ma Scroll stessa si concentrerà sull'accelerazione hardware della GPU, perché non abbiamo le risorse per specializzarci in FPGA o hardware, né abbiamo l'esperienza specializzata nel tape-out. Pertanto, sceglieremo di collaborare con aziende hardware come Cysic, specializzate in hardware, e ci concentreremo sul campo orientato al software dell'accelerazione GPU. Il nostro team ottimizzerà l'accelerazione hardware della GPU e quindi renderà accessibili i risultati ai partner esterni che potranno realizzare chip specializzati come gli ASIC. Discuteremo e scambieremo spesso anche i problemi incontrati.

14.Nickqiao: Hai appena detto che in futuro Scroll passerà ad altri sistemi di prova. Per quanto riguarda alcuni nuovi sistemi di prova, come Nova o altri algoritmi, puoi darci un po’ di scienza divulgativa? Quali sono i loro vantaggi?

YeZhang: Sì. Una direzione che stiamo attualmente esplorando internamente è quella di utilizzare domini più piccoli, che possono essere combinati con i nostri attuali sistemi di prova, come librerie come PLONKy3, che possono implementare rapidamente alcune operazioni su domini piccoli. Questa è un'opzione. Come possiamo passare dal nostro dominio grande originale a un dominio piccolo?

Stiamo anche esaminando alcune direzioni internamente, come un sistema di prova chiamato GKR, che richiede un tempo lineare per generare prove ed è molto meno complesso rispetto ad altri Prover. Tuttavia, attualmente non esiste un modo particolarmente maturo per implementare il progetto. Per raggiungere questo obiettivo è necessario investire più manodopera e risorse materiali.

Ma il vantaggio di GKR è che è molto efficiente quando si tratta di calcoli ripetuti. Ad esempio, se una firma viene calcolata 1.000 volte, GKR può generare in modo efficiente prove per tali cose. ZK Bridge Polyhedra utilizza GKR per dimostrare le firme, il che è molto efficiente. Quindi, EVM ha molti passaggi di calcolo ripetuti e GKR può essere utilizzato per ridurre meglio il costo di generazione di prove ZK.

Poi ci sono alcuni vantaggi, ovvero il sistema di prova GKR richiede molti meno calcoli rispetto ad altri sistemi. Ad esempio, se usi metodi come PLONK o STARK per dimostrare il processo di calcolo di una funzione hash keccak, devi impegnare tutte le variabili nel mezzo e tutto ciò che è generato durante l'intero processo di calcolo keccak e calcolarli tutti una volta.

Ma con GKR, devi solo impegnare il suo breve livello di input e può esprimere tutti i parametri nel mezzo attraverso le relazioni di trasferimento. Non è necessario impegnare le variabili nel mezzo, il che ridurrà molto il costo del calcolo. Il protocollo di controllo della somma dietro GKR viene utilizzato anche dagli argomenti Jolt o Lookup o da alcuni nuovi framework popolari, quindi questa direzione ha del potenziale e stiamo studiando seriamente anche questa direzione.

Infine, c'è la Nova che hai citato. Penso che Nova sia diventata popolare qualche mese fa, perché Nova è più adatta a gestire questo tipo di calcoli ripetuti. Ad esempio, se inizialmente vuoi dimostrare 100 attività, il sovraccarico per questo è 100. Ma ciò che fa Nova è che posso impilare questi 100 compiti da dimostrare uno sopra l'altro, e combinarli casualmente in modo lineare, e infine combinarli in qualcosa che deve essere dimostrato alla fine, e poi dimostrare semplicemente il risultato finale compito. Dimostrare che i 100 compiti precedenti sono tutti validi. In questo caso, il sovraccarico di prova originale di 100 può essere notevolmente compresso.

Quindi, in alcuni lavori successivi come Hyper Nova, Nova può essere esteso ad alcuni sistemi di prova diversi da R1CS, ad altri formati di scrittura di circuiti e può supportare la ricerca o altre cose, in modo da rendere una VM migliore Provata dai sistemi di prova ZK come come Nova. Ma al momento la produzione di Nova e GKR non è sufficientemente perfetta e attualmente sul mercato non esiste una libreria valida ed efficiente per Nova.

E poiché Nova è piegato in questo modo, la sua idea progettuale è diversa da altri sistemi di prova. Penso che sia ancora molto immaturo e solo un'alternativa con del potenziale. Ma attualmente, dal punto di vista di Production Ready, i sistemi di certificazione ZK più comuni sono stati immessi sul mercato prima, ma è difficile dire quale sia il migliore a lungo termine.

15.Faust: Infine, voglio parlare di valori. Ricordo che hai detto che dopo il tuo viaggio in Africa l'anno scorso, hai sentito che la blockchain sarebbe stata adottata su larga scala con maggiore probabilità in luoghi economicamente arretrati come l'Africa. Puoi parlarci dei tuoi pensieri a questo riguardo?

YeZhang: Ho sempre avuto la ferma convinzione che la blockchain abbia davvero spazio per essere applicata nei paesi economicamente arretrati. In effetti, ora puoi vedere che ci sono molte truffe nel settore blockchain, che hanno scosso la fiducia di molte persone nel settore. Ecco perché devono lavorare in un settore senza valore reale. Oltre alla speculazione valutaria o al gioco d’azzardo, esistono altri scenari applicativi pratici?

Penso che tu possa percepire meglio il potenziale della blockchain quando vai in alcuni luoghi economicamente arretrati, in particolare l’Africa. Perché le persone che vivono in Cina o nei paesi occidentali hanno sistemi monetari e finanziari molto solidi. Ad esempio, i cinesi sono molto contenti di usare WeChat e Alipay e il RMB è relativamente stabile. Non è necessario che tu effettui pagamenti tramite blockchain.

Ma in luoghi come l’Africa, hanno una forte domanda di blockchain e stablecoin on-chain, perché l’inflazione valutaria è davvero grave. Ad esempio, in alcuni paesi africani il tasso di inflazione può raggiungere il 100% ogni sei mesi , ogni volta che acquisti cibo ogni sei mesi, il prezzo aumenterà del 20%. Se è un anno, potrebbe aumentare ancora di più. In questo caso, le loro valute si sono gravemente deprezzate e anche i loro asset si stanno deprezzando, quindi molte persone sperano di utilizzare i dollari statunitensi per ottenere valute stabili o valute stabili da altri paesi sviluppati.

Ma è difficile per gli africani richiedere conti bancari nei paesi sviluppati. Per loro le stablecoin sono una necessità urgente. Anche se non esiste la blockchain, vogliono comunque detenere cose come i dollari statunitensi. Ovviamente, per gli africani, il modo migliore per detenere dollari statunitensi è ottenere stablecoin. Ogni volta che vengono pagati, possono andare su Binance e scambiare rapidamente i soldi con USDT o USDC, per poi usarli quando hanno bisogno di soldi , che porterà loro ad avere bisogni reali e applicazioni pratiche per la blockchain.

Infatti, dopo essere andato in Africa, sentirai ovviamente che Binance è stato implementato in Africa per molto tempo e ha svolto un lavoro molto solido. Molti africani fanno davvero affidamento sulle stablecoin, anche se tutti preferiscono fidarsi dell'exchange potrebbe non fidarsi del sistema valutario del proprio paese, perché molti africani potrebbero non essere in grado di richiedere prestiti a livello locale. Supponiamo che tu voglia prendere in prestito 100 yuan, la banca emetterà varie procedure e condizioni e alla fine potresti non essere in grado di ottenere un prestito, ma sugli scambi o su altre piattaforme on-chain questo è molto più flessibile, quindi penso in Africa, le persone hanno applicazioni ed esigenze più pratiche per la blockchain.

Naturalmente, la maggior parte delle persone non sa molto di cosa sto parlando, perché alla maggior parte delle persone che usano Twitter non interessa questo, altrimenti non lo vedranno su Twitter. Ci sono molte regioni relativamente arretrate come l'Africa, inclusi paesi in cui Binance ha un gran numero di utenti, come la Turchia, alcuni paesi del sud-est asiatico e l'Argentina. Scoprirai che le persone in queste regioni utilizzano molto gli scambi. Quindi penso che in questi luoghi il caso di Binance abbia dimostrato che le persone hanno una domanda molto forte per la blockchain.

Quindi penso che sia davvero necessario costruire mercati e comunità in queste aree. Abbiamo anche un team dedicato in Turchia. Abbiamo una comunità molto grande in Turchia, e poi ci espanderemo lentamente nelle aree menzionate in precedenza, nell'Africa sudorientale , l'Argentina e altri paesi sono in fase di transizione. E penso che tra tutti i Layer 2, Scroll abbia maggiori probabilità di mettere radici con successo nei paesi sopra menzionati, perché la cultura del nostro team è piuttosto diversificata. Sebbene i tre fondatori siano cinesi, il nostro intero team probabilmente comprende almeno 20 o 30 paesi Anche se in totale siamo solo settanta o ottanta, in ogni regione ci sono almeno due o tre persone, quindi la cultura complessiva è molto diversificata. In confronto, altri Layer 2 a cui puoi pensare sono fondamentalmente dominati da occidentali, come OP, Base e Arbitrum, che sono completamente occidentalizzati.

Per riassumere, speriamo di costruire una serie di infrastrutture con scenari di applicazione pratici per le persone in Africa, che è economicamente arretrata e ha un reale bisogno di blockchain. Sembra un po' come "aree rurali che circondano le città", vai e inizia lentamente a farlo Adozione di massa. Quindi penso che i miei sentimenti durante il mio viaggio in Africa siano ancora molto profondi, ma al momento il costo dell'utilizzo di Scroll è ancora un po' alto per alcune persone, quindi spero ancora di ridurre ulteriormente il costo, ad esempio, dieci volte Oppure di più, e poi portare gli utenti sulla blockchain attraverso altri mezzi.

In effetti, c'è un altro esempio che non è stato menzionato prima e che potrebbe essere in qualche modo inappropriato, ovvero Tron. Tutti possono avere delle cattive impressioni al riguardo, ma è vero che molte persone nei paesi economicamente arretrati lo utilizzano. A causa della precedente strategia di scambio di HTX e di molte altre strategie di marketing, TRON è lentamente diventato un marchio a sé stante. Penso che se ci fosse una catena nell'ecosistema Ethereum in grado di portare questi utenti nell'ecosistema Ethereum, sarebbe un risultato molto grande e farà anche cose molto positive per l'industria, penso che sia molto importante .

Ora molti second-layer di Ethereum stanno distribuendo i dati TVL, facendoli circolare. Siete 600 milioni di dollari USA, potremmo essere 700 milioni di dollari USA, sono 1 miliardo di dollari USA, ma penso che rispetto a queste cose, le notizie siano più scioccanti. è che TEDA All'improvviso è stato detto che avrei emesso un altro 1 miliardo di USDT su questo secondo livello o quale catena, o quante monete stabili sono state emesse. Se una catena cresce naturalmente a tal punto da non aver bisogno di catturare i bisogni degli utenti attraverso le aspettative di airdrop, allora sarà considerata uno stato relativamente di successo, almeno uno stato di cui sono più soddisfatto, cioè può fare il le reali esigenze degli utenti raggiungono un certo livello. Di conseguenza, sempre più persone utilizzano effettivamente la vostra catena quotidianamente.

Infine, in realtà voglio fare una digressione. Successivamente ci saranno molte attività nell'ecosistema Scroll. Spero che tutti presteranno maggiore attenzione ai nostri progressi successivi e parteciperanno maggiormente al nostro ecosistema defi.