Brian Pak è CEO e co-fondatore di ChainLight, una società di sicurezza blockchain specializzata in audit di contratti intelligenti e monitoraggio on-chain.

Le parole conoscenza zero, una volta relegate ai documenti accademici e ai forum di crittografia, sono diventate mainstream.

La tecnologia ZK consente a una parte, come un protocollo blockchain, di dimostrare a un'altra parte che qualcosa è vero, come l'età di una persona, mantenendo tali informazioni completamente riservate.

La crittografia ZK sta riscontrando successo nel ridimensionare la principale rete di contratti intelligenti Ethereum. Più di una dozzina di reti basate su ZK, comunemente chiamate ZK rollup, funzionano su Ethereum, con depositi per un valore complessivo di 4 miliardi di dollari.

Ma nonostante l’hype, c’è un grosso problema. La mancanza di conoscenza di ZK è una bomba a orologeria.

La maggior parte degli sviluppatori di criptovalute sa ancora molto poco su questo argomento complesso.

E man mano che sempre più sviluppatori iniziano a sperimentare la tecnologia ZK, ciò sta creando gravi rischi per la sicurezza e persino impedendo alla tecnologia di raggiungere il suo vero potenziale.

Allo stesso tempo, la tecnologia ZK promette di rivoluzionare il settore delle criptovalute, quindi è fondamentale tenere aggiornati gli sviluppatori e la più ampia comunità di utenti.

Gli sviluppatori di ZK sono "fuori dalla loro profondità"

Nel 2022, il cofondatore di Ethereum Vitalik Buterin ha sottolineato i rischi per la sicurezza dei rollup ZK, come i bug nel codice di vincolo del circuito.

Questi codici sono fondamentali nei rollup ZK poiché definiscono e applicano regole per le prove crittografiche che garantiscono la validità della transazione.

I bug in questi codici possono portare a gravi vulnerabilità della sicurezza, come prove errate o accesso non autorizzato ai fondi.

Dopo l’avvertimento di Buterin, gli sviluppatori hanno identificato molte altre vulnerabilità nei progetti che utilizzano la tecnologia ZK.

A novembre, ChainLight ha scoperto un bug nei circuiti ZK di ZK Sync Era che avrebbe potuto consentire a un hacker di rubare 1,9 miliardi di dollari.

Sempre nel 2018, un crittografo Zcash ha scoperto una vulnerabilità nelle prove a conoscenza zero alla base del protocollo. Se non fosse stato risolto il problema, il bug avrebbe potuto consentire a un utente malintenzionato di creare token Zcash falsi senza essere rilevato.

Vulnerabilità come questa sono un triste atto d’accusa contro una nuova forma di tecnologia che chiaramente non è compresa da un numero sufficiente di persone.

Molti sviluppatori che scrivono il codice e professionisti della sicurezza che devono approvarne la sicurezza sono semplicemente fuori dalla loro portata.

E non sorprende: chiunque ti dirà che è necessario un livello di dottorato di ricerca in matematica per comprendere gli aspetti di sicurezza della tecnologia ZK.

Ciò significa che il numero di persone qualificate per l’audit del codice ZK è limitato, così come lo sono le risorse necessarie per formarle.

E la mancanza di esperti per verificare adeguatamente il codice ZK non è l’unico problema.

I rollup ZK, come zkSync Era e StarkNet, sono sviluppati internamente e, di conseguenza, i processi di revisione tra pari non sono così approfonditi come gli standard visti nel mondo accademico.

Rimarrò scettico riguardo alla sicurezza della tecnologia ZK finché il processo di revisione tra pari non sarà più standardizzato.

ZK non sta raggiungendo il suo potenziale

La mancanza di comprensione della tecnologia ZK le impedisce inoltre di sfruttare appieno il suo potenziale.

Ciò è dovuto alla mancanza di fiducia nella tecnologia che porta i costruttori a scegliere strutture più familiari.

Ad esempio, uno dei principali vantaggi pubblicizzati dei rollup ZK è la definitività immediata.

Ciò significa che non appena viene verificata la prova di un blocco sulla rete principale di Ethereum, i risultati sono definitivi. Ciò consente in particolare prelievi istantanei di asset e migliora anche la sicurezza.

I rollup ottimistici, il principale rivale dei rollup ZK, richiedono un periodo di attesa di sette giorni per ritirare gli asset.

C’è un crescente consenso sul fatto che i rollup ZK siano la soluzione migliore per scalare Ethereum al di là dei rollup ottimistici.

Alcuni arrivano addirittura a descriverli come il “Santo Graal” delle soluzioni scalabili.

Il co-fondatore di Immutable X, Robbie Ferguson, ha descritto i rollup ZK come "di gran lunga il modo più semplice per scalare transazioni ad alto rendimento".

Ma, in realtà, la maggior parte degli sviluppatori non utilizza ancora la tecnologia per il suo vero potenziale perché semplicemente non si sente a proprio agio nell’utilizzare alcune delle sue funzionalità uniche a causa della complessità.

Ad esempio, nessuno dei rollup ZK esistenti ha effettivamente la finalità istantanea pubblicizzata.

La codifica è così tecnica che gli sviluppatori potrebbero avere paura di commettere un errore, portandoli invece a scegliere di non implementare la finalità istantanea.

Invece, i protocolli hanno un cosiddetto ritardo di esecuzione, in cui c’è una finestra di circa un giorno per rilevare un exploit e annullare le modifiche prima che vengano finalizzate.

Con questo, la sicurezza dei rollup ZK comporta un grosso compromesso e rinuncia a uno dei suoi vantaggi più significativi.

Solo una migliore comprensione della tecnologia ZK consentirà ai costruttori di massimizzarne il potenziale senza compromettere la sicurezza.

Sicurezza fin dalla progettazione

In tutto il web3 – non solo nella sfera ZK – i progetti non prendono abbastanza sul serio gli audit.

Molti progetti considerano gli audit semplicemente come marchi di approvazione per apparire affidabili, piuttosto che come rigorosi esercizi di sicurezza che dovrebbero essere.

Esistono diversi casi in cui bug noti si sono insinuati nei nuovi protocolli DeFi, costando milioni agli investitori.

Ad esempio, diversi protocolli che hanno biforcato il codice del protocollo di prestito Compound v2, come Hundred Finance e Onyx Protocol, lo hanno fatto alla cieca e non sono riusciti a tenere conto dei vettori di attacco noti nel codice.

Gli sviluppatori dovrebbero invece sforzarsi di creare protocolli che siano sicuri fin dalla progettazione, il che significa che sono costruiti in modo da proteggere innanzitutto dagli attacchi.

Costruire in base alla progettazione inizia con il rimanere aggiornati sulle minacce nell’ecosistema.

Se un progetto non dispone delle risorse per un audit approfondito, deve comunque tenere il passo con gli hack che accadono ad altri progetti in modo che non ne diventino vittime essi stessi.

Anche se non riuscire a creare protocolli sicuri fin dalla progettazione sarebbe un problema per qualsiasi progetto, è particolarmente dannoso nel caso della tecnologia ZK.

Ad esempio, diamo un'occhiata agli ZKEVM esistenti: rollup ZK che replicano perfettamente il sistema operativo di Ethereum.

Molti ZKEVM si basano su circuiti definiti manualmente, che richiedono il coinvolgimento umano e utilizzano librerie giovani e non testate.

La probabilità che gli sviluppatori commettano errori in questo ambiente è elevata, lasciando i rollup ZK più vulnerabili al rischio di attacchi.

Con gli investitori che si accumulano nei rollup di ZK, incentivati ​​da potenziali lanci di token, diventano obiettivi redditizi per la prossima grande rapina di criptovalute.

Soluzioni

L'implementazione della sicurezza all'inizio del ciclo di sviluppo e su base continuativa, ad esempio tramite bug bounties, può aiutare a risolvere questo problema.

Non c’è dubbio che la tecnologia ZK sia un punto di svolta per Ethereum e lo sviluppo costante è fondamentale per scalare la blockchain.

Tuttavia, le soluzioni offerte dai rollup ZK sono eguagliate dal loro potenziale di causare problemi di sicurezza.

Le startup devono innanzitutto essere oneste nel decidere se utilizzano la tecnologia ZK perché è necessaria o perché stanno saltando sul carro.

Se sono sicuri di essere i primi, allora devono essere consapevoli dei rischi e costruire con la sicurezza fin dalla progettazione è assolutamente fondamentale.