Nelle VM tradizionali, il consenso dipende da "tutti i nodi che eseguono ripetutamente ogni transazione", quindi la capacità di throughput dell'intera rete è limitata dal nodo più lento, e la potenza di calcolo viene sprecata in un gran numero di calcoli ripetuti. Nella zkVM, il processo è suddiviso in "esecuzione + prova + verifica": il programma e l'input devono essere eseguiti solo una volta nella zkVM, generando un risultato e una prova a conoscenza zero; gli altri nodi non devono ripetere i calcoli, ma devono solo verificare questa prova. In questo modo, il carico computazionale è notevolmente ridotto. Prendendo come esempio la zkVM di RISC Zero (d'ora in poi R0VM): 🔹 Essa utilizza il set di istruzioni RISC-V come nucleo, gli sviluppatori devono solo scrivere programmi guest in Rust / C / C++, e poi compilarli in file RISC-V ELF; 🔹 Ogni file ELF corrisponde a un ID immagine unico, utilizzato per garantire che "l'esecuzione sia effettivamente questo codice"; 🔹 Il risultato dell'esecuzione genera una ricevuta (Receipt), che include: Journal: output pubblico o risultati di impegno; Seal: una breve prova ZK verificabile on-chain o off-chain. Alla fine, i nodi sulla rete devono solo verificare questa ricevuta, senza dover rieseguire tutti i calcoli. In questo modo, il costo di "consenso globale" scende drasticamente da esecuzioni ripetute a verifica di prove brevi.