In this thesis, the aim is to understand the possibilities and limitations of Zero Knowledge Proofs (ZKP) in blockchain technology. The first chapters focus on the presentation of distributed ledger systems and the tools that will be used, with particular reference to Remix, the IDE of choice for programming smart contracts in Solidity, and Sepolia, the Ethereum Testnet where the smart contracts were deployed. Subsequently, zero knowledge proofs are defined, their characteristics are explained, and the difference between interactive and non-interactive proofs is discussed; the latter will be emphasized as they are the most interesting in this context. The thesis then moves on to possible theoretical application contexts, with a particular focus on verifiable computation. Zokrates, a framework used to implement the non-interactive ZKP protocol, will be presented, explaining its language, features, functioning, and differences compared to other programming languages. A focal point for explaining how to implement verifiable computation will be introducing the various representations of an arithmetic circuit, fundamentally of textual and matrix types. Through various tests, the limitations of Zokrates and, to some extent, the entire arithmetic circuits sector for ZKP were highlighted. The thesis concludes with a possible implementation on the subject and an attack that this technology may be able to avoid.

In questa tesi si pone come obiettivo comprendere possibilit`a e limiti delle Prove a Conoscenza Zero (ZKP) nella tecnologia blockchain. Le prime sezioni si concentrano sulla presentazione dei sistemi a registro distribuito e degli strumenti che andranno utilizzati, facendo riferimento in particolar modo a Remix, IDE di riferimento per la programmazione di smart contracts in solidity, e Sepolia la Testnet Ethereum su cui `e stato eseguito il deploy degli smart contracts. In seguito vengono definite le prove a conoscenza zero, le caratteristiche di questi oggetti e la differenza tra prove interattive e non interattive; ci si soffermer`a su queste ultime dato che sono le pi`u interessanti in questo contesto. Per poi passare ai possibili contesti di applicazione teorici, con un particolare riguardo al calcolo verificabile. Verr`a presentato Zokrates, framework utilizzato per implementare il protocollo ZKP non interattivo spiegandone il linguaggio, le caratteristiche, il funzionamento e le differenze rispetto ad altri linguaggi di programmazione. Punto focale per spiegare come implementare il calcolo verificabile sar`a introdurre le varie rappresentazioni di un circuito aritmetico, fondamentalmente di tipo testuale e matriciale. Attraverso diverse prove si sono poi evidenziati quelli che sono i limiti di Zokrates e in parte di tutto il reparto dei circuiti aritmetici per ZKP per poi finire con una possibile implementazione al tema e un attacco che questa tecnologia pu`o riuscire evitare.

Prove a conoscenza zero per la scalabilità e la privacy in una filiera

MOIAN, SEBASTIAN GEORGE
2023/2024

Abstract

In this thesis, the aim is to understand the possibilities and limitations of Zero Knowledge Proofs (ZKP) in blockchain technology. The first chapters focus on the presentation of distributed ledger systems and the tools that will be used, with particular reference to Remix, the IDE of choice for programming smart contracts in Solidity, and Sepolia, the Ethereum Testnet where the smart contracts were deployed. Subsequently, zero knowledge proofs are defined, their characteristics are explained, and the difference between interactive and non-interactive proofs is discussed; the latter will be emphasized as they are the most interesting in this context. The thesis then moves on to possible theoretical application contexts, with a particular focus on verifiable computation. Zokrates, a framework used to implement the non-interactive ZKP protocol, will be presented, explaining its language, features, functioning, and differences compared to other programming languages. A focal point for explaining how to implement verifiable computation will be introducing the various representations of an arithmetic circuit, fundamentally of textual and matrix types. Through various tests, the limitations of Zokrates and, to some extent, the entire arithmetic circuits sector for ZKP were highlighted. The thesis concludes with a possible implementation on the subject and an attack that this technology may be able to avoid.
2023
2024-07-15
Zero-knowledge proofs for scalability and privacy in a supply-chain
In questa tesi si pone come obiettivo comprendere possibilit`a e limiti delle Prove a Conoscenza Zero (ZKP) nella tecnologia blockchain. Le prime sezioni si concentrano sulla presentazione dei sistemi a registro distribuito e degli strumenti che andranno utilizzati, facendo riferimento in particolar modo a Remix, IDE di riferimento per la programmazione di smart contracts in solidity, e Sepolia la Testnet Ethereum su cui `e stato eseguito il deploy degli smart contracts. In seguito vengono definite le prove a conoscenza zero, le caratteristiche di questi oggetti e la differenza tra prove interattive e non interattive; ci si soffermer`a su queste ultime dato che sono le pi`u interessanti in questo contesto. Per poi passare ai possibili contesti di applicazione teorici, con un particolare riguardo al calcolo verificabile. Verr`a presentato Zokrates, framework utilizzato per implementare il protocollo ZKP non interattivo spiegandone il linguaggio, le caratteristiche, il funzionamento e le differenze rispetto ad altri linguaggi di programmazione. Punto focale per spiegare come implementare il calcolo verificabile sar`a introdurre le varie rappresentazioni di un circuito aritmetico, fondamentalmente di tipo testuale e matriciale. Attraverso diverse prove si sono poi evidenziati quelli che sono i limiti di Zokrates e in parte di tutto il reparto dei circuiti aritmetici per ZKP per poi finire con una possibile implementazione al tema e un attacco che questa tecnologia pu`o riuscire evitare.
File in questo prodotto:
File Dimensione Formato  
TESI_MOIAN_MAGISTRALE_pdfA.pdf

accesso aperto

Descrizione: Tesi finale
Dimensione 921.25 kB
Formato Adobe PDF
921.25 kB Adobe PDF Visualizza/Apri

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12075/17695