Zero Knowledge Proofs and ZK Programming in Blockchain Application Development

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.

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.

Update

Steve Rich's Exciting New Book: A Journey into the World of Forex Trading!

Interview

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
https://remix.ethereum.org/

Clone the workshop specific github repo, including workshop steps and slideshows
https://github.com/Daniel-Szego/Zeroknowledgeworkshop

—-
Hyperledger – Open Source Blockchain Technologies

Hyperledger is an open source community focused on developing a suite of stable frameworks, tools and libraries for enterprise-grade blockchain deployments.
It serves as a neutral home for various distributed ledger frameworks including Hyperledger Besu, Fabric, Sawtooth, Indy, as well as tools like Hyperledger Avalon, Cactus and libraries like Hyperledger Aries, Ursa. Learn more about Hyperledger projects: https://www.hyperledger.org/use

Discord: https://discord.gg/rVCn4j7UFd
Case Studies: https://www.hyperledger.org/learn/case-studies
Training & Certification: https://www.hyperledger.org/learn/training
Tutorials: https://www.hyperledger.org/use/tutorials
Webinars: https://www.hyperledger.org/learn/webinars
Events: https://www.hyperledger.org/events
Vendor Directory: https://www.hyperledger.org/use/vendor-directory

Subscribe to the Hyperledger Newsletter: https://www.hyperledger.org/newsletter

Follow-us on Twitter @Hyperledger

Learn about Hyperledger Membership: https://www.hyperledger.org/about/join

#Hyperledger #Blockchain
License
Creative Commons Attribution license (reuse allowed)