Zk-STARK è un tipo di prova crittografica altamente sicuro che utilizza i principi di Zero Knowledge Proofs (ZKP) per creare dati crittografati che possono essere facilmente verificati senza rivelare informazioni sensibili su tali dati e, soprattutto, con resistenza al quantum computing garantendone la sicurezza in un futuro non così lontano.
LI test (o protocolli) a conoscenza zero (ZKP) si sono evoluti molto dal loro inizio, e una di queste evoluzioni sono gli zk-STARK. Il termine ZK-STARK è l'acronimo di Argomenti di conoscenza trasparenti scalabili a conoscenza zero. Questo è un termine che in spagnolo significa; Zero Knowledge Test con argomenti scalabili trasparenti. Questo concetto si riferisce a una derivazione dei test ben noti zk-SNARKs cosa piace ai progetti Zcash usano nel loro blockchain, per fornire un alto grado di privacy e anonimato, e che abbiamo già studiato in precedenza.
Tuttavia, gli zk-STARK sono più di una piccola derivazione, ma in realtà sono un miglioramento significativo rispetto agli zk-SNARK. E questo non solo perché sono meno complessi da eseguire, ma perché sono più sicuri e persino resistenti al calcolo quantistico. In poche parole, sono il futuro immediato delle prove a conoscenza zero, soprattutto se vogliamo essere al sicuro dalla tecnologia di calcolo quantistico sempre più vicino.
Ma come funziona uno zk-STARKs? Quali sono i suoi vantaggi e rischi? Quali progetti blockchain stanno valutando di utilizzarli nel prossimo futuro? Bene, lo saprai di seguito.
zk-STARKS, un miglioramento per qualcosa di già sorprendente
Come abbiamo accennato all'inizio, Gli zk-STARK sono un miglioramento dei ben noti test zk-SNARK. Un miglioramento necessario a causa dell'enorme complessità algoritmica, matematica e crittografica rappresentata dai test zk-SNARKs. È vero, gli zk-SNARK sono test fantastici e molto sicuri, ma sono molto complessi a livello algoritmico. È così tanto che anche gli specialisti di crittografia hanno problemi a rilevare gli errori in essi.
Quanto sopra può sembrare qualcosa di incredibile, ma è la verità, e questo è diventato chiaro quando Zcash ha presentato un file errore molto grave nel codice. L'errore in questione ha permesso a chiunque di creare criptovalute da zero. In questo modo, ciò che tutti credevamo fosse impossibile nelle criptovalute, generando monete dal nulla, un piccolo errore nella crittografia zk-SNARK di Zcash lo ha reso possibile.
Tuttavia, per rassicurare gli sviluppatori di Zcash, il bug era così complesso da rilevare che solo poche persone al mondo avrebbero avuto le conoscenze necessarie per rilevare e sfruttare il bug. In un certo senso, hanno evitato il disastro di una valanga di monete “false” solo perché la crittografia è così complessa che pochi la capiscono. Ma questa situazione è tutt'altro che ideale e dovrebbe essere evitata a tutti i costi, perché "Security by obscurity" non è una vera sicurezza.
L'estrema complessità è nemica della sicurezza
D'altra parte, questo fatto mette anche l'accento su una realtà: zk-SNARKS potrebbe diventare il peggior nemico delle monete per la privacy come Zcash. Ed è che, sebbene sia difficile ammetterlo, che un sistema di sicurezza crittografico sia così complesso da eseguire il debug, non va bene. Fortunatamente, questa è una realtà che era già nota molto prima di questo errore, ed è stato ciò che ha portato allo sviluppo degli zk-STARK.
Di seguito discuteremo più in dettaglio l'origine degli zk-STARKS e come possono offrirci più sicurezza, con meno complessità.
Gli inizi della crittografia potente ma semplice
Per conoscere gli inizi degli zk-STARK dobbiamo risalire all'anno 1990, quando iniziarono i primi lavori su questi test. In questo momento sono iniziate le ricerche preliminari e lo sviluppo della tecnologia zk-STARKs. Tuttavia, questi sistemi iniziali si sono rivelati poco pratici.
Non è stato fino a quando Eli Ben-Sasso, Iddo bentov, Yinon horesh y Michele Riabzev, presentato nel 2018, il loro lavoro congiunto "Integrità computazionale scalabile, trasparente e sicura post-quantistica" (in spagnolo, Scalabile, Trasparente e Integrità Computazionale Sicura Post-Quantum). Il lavoro presentato è unico nel suo genere, dimostrando una solida costruzione crittografica, che supera di gran lunga i ben noti test Zcash zk-SNARKs. E il migliore di tutti: erano molto più facili da applicare e più sicuri della loro controparte.
Raggiungerebbero questo obiettivo con un approccio molto più elementare su come creare una prova di conoscenza zero. Più specificamente, rinunciare alla costruzione di uno spazio di lavoro crittografico altamente affidabile o "scatola nera". Ciò che sembra contrario a qualsiasi principio di sicurezza crittografica, è stato applicato in questo nuovo sistema. Ma allo stesso tempo questa scelta ha permesso di ridurre la complessità del sistema, il lavoro necessario alla sua realizzazione, e non ha rinunciato alla sicurezza, ma al contrario, ha permesso nuove modalità per offrire di più.
In questo modo e facendo uso di crittografia omomorfica, Secure Multi-Party Computing (MPC) e test interattivi, questi ricercatori, sono riusciti a progettare zk-STARK. In poche parole, zk-STARK è l'unione di almeno 50 anni di ricerca sulle criptovalute. Un lavoro influenzato da menti brillanti come quelle di Shafrira Goldwasser y Silvio Micali.
Quindi, con questo approccio avventuroso, zk-STARK inizierebbe la sua strada per diventare un degno rivale di zk-SNARK, mirato ad essere il sistema di crittografia che molte criptovalute useranno in futuro, un futuro che potrebbe essere dominato dai computer quantistici.
Cosa significa zk-STARK?
Il termine zk-STARK può essere suddiviso come segue:
- zk, come in zero knowledge e con grande enfasi sulla conservazione della privacy,
- Scalabile (S - Scalabile), poiché il test è di dimensioni relativamente "piccole" (o accettabili) e la verifica richiede un tempo esponenzialmente inferiore rispetto all'esecuzione di calcoli ingenui (ovvero, è quasi istantanea, anche per test di grandi dimensioni)
- Trasparente (T - Trasparente)poiché non ci sono requisiti per una configurazione affidabile, come nei sistemi zk-SNARK.
- Argomento (AR - ARgument), come in uno schema di prova crittografica computazionalmente sicuro che raggiunge l'integrità e la robustezza di un linguaggio specifico.
- Conoscenza (K - Conoscenza)in quanto si basa su dichiarazioni relative a informazioni di pubblico dominio.
Usi dei sistemi zk-STARK
L'utilizzo principale di sistemi di test della conoscenza come zk-STARK, si concentra sul creazione di sistemi altamente sicuri e privati. Sistemi in cui vi è una totale decentralizzazione delle informazioni e vi si può accedere solo in una serie di condizioni chiaramente espresse. Condizioni difficili da ottenere anche con mezzi non convenzionali, come un hack.
Questo ovviamente include sistemi come le criptovalute, dove l'uso della crittografia non solo consente la sicurezza della rete, ma protegge anche gli utenti della rete, fornisce loro privacy e anonimato a seconda dei casi. Ed è proprio in quest'ultimo che brillano zk-SNARK, perché come tutte le prove a conoscenza zero, sono perfette per la privacy e l'anonimato non rivelando in alcun modo le informazioni, ma allo stesso tempo lasciando uno strumento per validare la transazione di modo inequivocabile e deterministico. Vale a dire, zk-STARK non rivela le informazioni che crittografa, ma puoi sempre convalidarne la veridicità, qualunque cosa accada.
Migliora la scalabilità delle blockchain
Un altro possibile utilizzo di zk-STARK è in promuovere la scalabilità della blockchain, consentendo alle prove crittografiche di occupare meno spazio. Nelle criptovalute come Bitcoin, dove la dimensione del blocco è una limitazione del numero di transazioni che possono essere elaborate al secondo, questo è vitale. Con prove crittografiche più piccole, anche le transazioni occupano meno spazio e più transazioni possono rientrare in ogni blocco. L'effetto diventa maggiore quando viene applicato a migliaia di transazioni, migliorando così la scalabilità. Tuttavia, questa è solo una parte di una soluzione di scalabilità, poiché test crittografici più piccoli non faranno aumentare drasticamente le prestazioni della blockchain.
Altri possibili usi di questo tipo di sistema sarebbero, ad esempio, sistema di streaming completamente crittografato e protetto da copyright. Con questo, gli attuali sistemi di crittografia basati sulla crittografia per lo più simmetrica non sarebbero necessari. Il Anche i sistemi di voto elettronico traggono grandi vantaggi da questi tipi di sistemi. Questo grazie al fatto che consentono all'elettore di esprimere il proprio voto, si può verificare, ma in nessun modo sapremo chi lo ha espresso.
Come puoi vedere, il potenziale di zk-STARK non è solo nel mondo blockchain, ma anche molto oltre.
Quanto sai, Cryptonuta?
I test ZKP come zk-STARK diventeranno uno standard di crittografia in futuro?Certo!
Il progresso dell'informatica quantistica si sta avvicinando sempre di più alla fine delle prove crittografiche asimmetriche poiché le abbiamo applicate finora. Nuovi protocolli come ZKP e zk-STARK saranno senza dubbio la base della nuova crittografia che proteggerà il nostro mondo digitale e questo implica anche la blockchain.
Principali differenze tra zk-STARK e zk-SNARK
- Gli zk-SNARK richiedono una fase di configurazione affidabile mentre gli zk-STARK utilizzano la casualità verificabile pubblicamente per creare sistemi informatici verificabili senza fiducia.
- Gli Zk-STARK sono più scalabili in termini di velocità di calcolo e dimensioni rispetto agli zk-SNARK.
- Gli Zk-SNARK sono vulnerabili agli attacchi dei computer quantistici a causa della crittografia che utilizzano. Gli zk-STARK sono attualmente resistenti ai computer quantistici.
Altri aspetti importanti possono essere visti nella seguente tabella comparativa, dove possiamo vedere i diversi campi in cui spicca zk-STARK rispetto ad altri test ZKP noti.
zk-STARK e le sue applicazioni oggi
Sicuramente hai trovato sorprendente tutto ciò che zk-STARK ci offre, ma sfortunatamente la tecnologia è così nuova (2018) che non è stata ampiamente testata, studiata e non è ancora applicata in nessun sistema di produzione reale. Nemmeno nel mondo delle criptovalute.
Al momento, l'unica utility nota per zk-STARK è stata sviluppata da Starkware, un'azienda creata dai designer di zk-STARK. L'obiettivo è progettare un livello di test che consenta di utilizzare la tecnologia sulla blockchain, scambi decentralizzati e altro ancora. Tuttavia, ci vorranno ancora alcuni anni prima di poter vedere la tecnologia applicata in quegli spazi. Il futuro della crittografia zk-STARK punta sicuramente ad essere promettente.