Zero Knowledge Proofs and ZK Programming in Blockchain Application Development.
- Sean Bohan
- David Boswell
Zero Knowledge Proofs and ZK Programming in Blockchain Application Development
Time:
- Wednesday April 24, 2024 at 8AM Pacific to Noon
Recording:
Workshop Slides:
Description:
Zero knowledge proofs and SNARK systems are becoming one of the revolutionary technologies of the beginning of this century. In this workshop we will give a high-level introduction to the zero knowledge and SNARK technology stack rather from a software developer and IT professional perspectives with covering only slightly the deep mathematical basis. During the workshop we will implement an experimental zKRollup system in Circom on Hyperledger Besu or Fabric. We will make experimental integrations with Hyperledger Fabric and with Solidity as well, being compatible with Hyperledger Besu.
Workshop Leaders:
Andras Szabolcsi (https://www.linkedin.com/in/andras-szabolcsi/)
Blockchain and solution expert, co-founder at BlockBen and Natrix. Highly skilled and experienced System and Solution Architect in the financial software developing industries.
Daniel Szego (https://www.linkedin.com/in/daniel-szego/ )
DLT Architect
Agenda:
1. A conceptual introduction to zero knowledge proofs (50 min - presentation)
A gentle introduction to prover, verifier, interactive versus non-interactive models, SNARKs, zkSNARKs, computation models, arithmetic circuits, rank-1 constraints, DLS languages and accumulators.
2. Introduction to Circom programming (25 min - labs and Hands-on)
We will cover with lab exercises and hands-ons basic elements of the Circom programming language and the development flow including circuit and rank-1 constraint generation, compilation, power of tau, proving and verifying.
3. Break + discussion (10 min)
4. zkRollups basics (25 min - presentation)
A general introduction to the conceptual elements of zero knowledge rollups.
5. Implementing a simplified zkRollup for token transfer and integrating with Hyperledger Besu or Fabric (50 min - lab and demo)
During the demonstration and lab we will implement a prototype zero knowledge rollup for a simplified token transfer and integrate it with Hyperledger Besu or Fabric.
6. Conclusions and discussion (15 min + )
Preparation and Prerequisites:
Install Visual Studio Code
https://code.visualstudio.com/download
Install Circom
https://docs.circom.io/getting-started/installation/#installing-circom
Install Fabric-samples
https://github.com/hyperledger/fabric-samples
Make sure you can start the test network and create a channel as it is written in fabric-samples/test-network.
Make sure Remix Ethereum (browser application) runs, we will make the solidity demonstration only in remix, it is supposed to be however Hyperledger Besu compatible
Clone the workshop specific github repo, including workshop steps and slideshows
Learning Resources
If you'd like to prepare for this workshop by learning more about zero knowledge proofs, we recommend these resources:
Workshop: Hyperledger AnonCreds: Using ZKP Verifiable Credentials Everywhere
ID SIG Meeting: Understanding Zero Knowledge Proofs with High School Math
Getting Involved
If you'd like to get involved with the Identity community, you are welcome to do so. Everything that Hyperledger projects are involved with are open to anyone who is interested. More details about connecting with community members are below.