Les màquines virtuals han revolucionat la manera com s’executen els programes, proporcionant entorns aïllats i reproduïbles. Aquestes màquines permeten als desenvolupadors crear aplicacions que es poden executar de forma consistent en diferents sistemes, eliminant les discrepàncies entre els entorns de desenvolupament i producció.
Aquest enfocament ha estat especialment beneficiós en el desenvolupament de contractes intel·ligents, on la consistència i la seguretat són fonamentals. Els contractes intel·ligents, programes autoexecutables amb les condicions de l’acord codificades, es beneficien enormement de les garanties d’aïllament i de reproduïbilitat que ofereixen les màquines virtuals.
En aquest context, sorgeixen les zkVMs (Zero-Knowledge Virtual Machines), una tecnologia emergent que no només manté els avantatges de les màquines virtuals tradicionals, sinó que també incorpora proves criptogràfiques de coneixement zero (ZKPs) per afegir una capa extra de privacitat i seguretat.
En aquest article oferirem una visió detallada de les zkVMs, explicant-ne l’arquitectura, el funcionament i les implicacions significatives que tenen per a la privacitat i la seguretat en entorns que utilitzin tecnologia blockchain o registres distribuïts (DLT).
Què són les zkVMs?
A diferència de les màquines virtuals (VM) tradicionals que executen programes, una màquina virtual de coneixement zero (zkVM) integra processos criptogràfics per garantir la privacitat i la seguretat, incorporant proves de coneixement zero, que permeten verificar l’execució d’un programa sense revelar informació sobre les dades o la lògica interna del mateix.
Així doncs, les zkVMs són essencialment circuits de coneixement zero (ZK) que executen una màquina virtual. Les instruccions del programa es poden introduir com a entrada pública al circuit perquè tothom pugui veure quin programa s’està provant realment.
A diferència de les VM convencionals, les zkVMs no se centren tant en l’aïllament entre sistemes operatius i aplicacions, sinó en assegurar que els càlculs es duen a terme de manera privada i segura. Aquest enfocament les fa especialment útils i accessibles per a múltiples aplicacions, destacant en l’àmbit de la tecnologia blockchain, on podrien esdevenir un catalitzador per a la seva adopció massiva. Tot i això, encara cal que la indústria evolucioni perquè aquest nou paradigma esdevingui una realitat tangible.
zkVM vs. zkEVM: Diferències clau
Una zkEVM és una zkVM especialitzada i adaptada per a la blockchain d’Ethereum. Executa contractes intel·ligents d’Ethereum utilitzant proves de coneixement zero, mantenint la compatibilitat amb la Màquina Virtual d’Ethereum (EVM). Això millora tant l’escalabilitat com la privacitat, ja que les transaccions es processen fora de la cadena i es verifiquen en cadena amb una única prova.
Mentre que les zkVMs ofereixen solucions de propòsit general aplicables a diverses blockchains, les zkEVMs estan optimitzades específicament per a l’ecosistema d’Ethereum.
Funcionament i etapes d’una zkVM (flux de procés abstracte)
Les etapes principals d’una zkVM, també conegudes com a flux de procés abstracte, són:
- Etapa del compilador: En primer lloc, es converteixen els programes escrits en llenguatges convencionals (com ara C, C++, Rust, Solidity, etc.) a codi màquina. Aquest procés es basa en l’arquitectura del conjunt d’instruccions (ISA) escollida per a la zkVM. El compilador tradueix el codi font a un format que la màquina virtual pot interpretar i executar de manera eficient.
- Etapa de la màquina virtual (VM): La màquina virtual executa el codi màquina generat pel compilador. Durant l’execució, es genera una traça que registra cada pas del procés. Aquesta traça es formata segons l’esquema d’aritmetització seleccionat, com ara R1CS (Rank-1 Constraint System), PLONKish, o AIR (Algebraic Intermediate Representation).
- Etapa del proveïdor: El proveïdor s’encarrega de traduir la traça d’execució en polinomis algebraics. Posteriorment, es compromet amb aquests polinomis mitjançant un Esquema de Compromís Polinomial (PCS). A continuació, realitza una Prova Interactiva d’Oracle Polinomial (PIOP) per demostrar que els polinomis compromesos compleixen les restriccions establertes. Finalment, el proveïdor genera una prova d’avaluació que serà enviada al verificador.
- Etapa del verificador: El verificador rep la prova d’avaluació i la valida seguint el protocol de verificació establert. Aquest procés és molt menys costós computacionalment que tornar a executar tot el programa original, cosa que destaca una de les grans avantatges de la criptografia de coneixement zero. El verificador accepta o rebutja la prova segons la seva validesa, assegurant així la integritat i la privacitat de l’execució.
Cal destacar també que el disseny i la implementació de cada component d’una zkVM estan fortament influenciats per la tecnologia de prova de coneixement zero escollida. Les dues principals són SNARKs (Succinct Non-interactive Arguments of Knowledge) i STARKs (Scalable Transparent Arguments of Knowledge), que permeten verificar càlculs complexos de manera eficient i sense revelar informació confidencial, una capacitat clau per preservar la privacitat i la integritat en entorns basats en blockchain.
El trilema de les zkVMs: equilibrant velocitat, eficiència i concisió
Les zkVMs, tot i situar-se al centre de la innovació en criptografia i tecnologia blockchain, enfronten un trilema clàssic propi de les tecnologies avançades: l’equilibri entre velocitat, eficiència i concisió.
Velocitat
La velocitat en una zkVM fa referència a la rapidesa amb què es poden generar i verificar les proves de coneixement zero. En un entorn descentralitzat i distribuït, aquesta rapidesa és fonamental per garantir que les transaccions es processin en temps real, mantenint la usabilitat del sistema.
- Desafiaments: Les proves de coneixement zero són intensives computacionalment degut a la seva complexitat matemàtica i criptogràfica. Aconseguir agilitat sense comprometre la seguretat i la integritat de les proves és un repte important.
- Solucions possibles: Implementacions optimitzades d’algoritmes, ús de maquinari especialitzat (com ara ASICs o GPUs), i paral·lelització dels processos poden contribuir a millorar la velocitat.
Eficiència
L’eficiència, en el context de les zkVMs, es refereix al consum de recursos computacionals i energètics necessaris per generar i verificar les proves de coneixement zero.
- Desafiaments: Reduir el consum de recursos és clau per a la sostenibilitat i l’escalabilitat de la tecnologia. Un sistema massa exigent pot ser inviable a llarg termini.
- Solucions possibles: Millorar l’eficiència passa per optimitzar els algoritmes i aplicar tècniques com la compressió de dades, que minimitza la informació que cal processar i transmetre.
Concisió
La concisió es refereix a la mida de les dades que cal transmetre i emmagatzemar per demostrar la validesa d’una transacció o execució de contracte, sense revelar informació innecessària.
- Desafiaments: La prova ha de ser prou petita per ser manejable i transmesa amb rapidesa, però alhora ha de contenir tota la informació necessària per a la seva verificació.
- Solucions possibles: L’ús de tècniques criptogràfiques avançades com SNARKs i STARKs permet generar proves més concises sense perdre robustesa.
Trobar l’equilibri entre aquests tres factors representa el gran repte del trilema de les zkVMs, ja que millorar-ne un pot implicar comprometre els altres. Per exemple, augmentar la velocitat pot requerir més recursos i reduir l’eficiència, o donar lloc a proves menys concises.
Per assolir l’optimització i l’equilibri dins aquest trilema, la comunitat de desenvolupadors i investigadors ha de continuar explorant noves estratègies, com l’ús d’algoritmes híbrids i tècniques d’aprenentatge automàtic que ajudin a millorar els processos. Així doncs, amb recerca i compromís, es pot assolir un balanç òptim que permeti a les zkVMs oferir transaccions ràpides, eficients i concises, i impulsar el futur de la tecnologia blockchain.
Conclusions
Les zkVMs s’han consolidat com una peça clau per millorar la privacitat, la seguretat i l’escalabilitat en múltiples aplicacions descentralitzades.
Si es desplega adequadament el potencial de les zkVMs per construir sistemes segurs i eficients, els contractes intel·ligents podran executar-se de manera privada i fiable, garantint la integritat i la confidencialitat de les transaccions. Tal com hem vist, les zkVMs permeten verificar l’execució correcta d’un programa sense revelar cap informació sobre les dades ni sobre la lògica interna del mateix, un aspecte fonamental en un context digital cada cop més conscient de la seguretat i la privacitat.
A mesura que la tecnologia evoluciona, la criptografia de coneixement zero es posiciona com una eina poderosa i universalment aplicable per escalar i protegir qualsevol software. La seva capacitat de proporcionar seguretat i privacitat sense sacrificar l’eficiència fa que les zkVMs esdevinguin una solució estratègica per afrontar els reptes actuals en l’àmbit tecnològic i criptogràfic.
Recursos:
[1] What is a zkVM?: A Zero Knowledge Paradigm (Part I)
[2] Exploring zkVM Design Trade-offs: A Zero Knowledge Paradigm (Part II)
[3] A journey into zero-knowledge proofs
[4] zkVM Takes Center Stage of the Blockchain World
Vols seguir aprenent sobre identitat autogestionada i proves ZKPs? No et perdis aquests recursos!
- Part I: Descobreix l’era de la identitat digital autogestionada
- Part II: De les bases de dades a la identitat digital descentralitzada
- Part III: Proves de coneixement zero (ZKPs): el futur de la gestió d’identitats
- Part IV: zkVMs: Les màquines virtuals de coneixement zero
A Block&Capital, especialistes en selecció de personal, treballem per crear oportunitats on el creixement i l’èxit siguin a l’abast de tothom. Si estàs preparat per fer un pas endavant en la teva carrera professional, no dubtis a contactar amb nosaltres.
Últims posts