Community Guidelines

Welcome to Ingopedia!

This is a community-driven effort to compile a comprehensive collection of resources and information related to Zero Knowledge Proofs. Our goal is to provide a one-stop-shop for anyone interested in learning about ZKPs, from beginners to experts.

We invite the community to help us keep Ingopedia up-to-date and relevant. If you have any suggestions or contributions, please feel free to submit them through the appropriate channels. We believe that the power of the community lies in collaboration and sharing knowledge, so we encourage everyone to get involved.

To keep this book organized, we ask that you use the designated sections for your contributions. If you have a new resource to share, please add it to the appropriate section. If you are unsure where to add your contribution, feel free to reach out to the moderators for guidance.

Thank you for being a part of our ZKP community and helping us build a valuable resource for all.

Note: The branch master contains the src files for the ingopedia mdbook. Each page from the deployment page has a editable button that allows one to edit the markdown file of the specific page.

The old Ingopedia is still available in the branch main, we are planning to continue in the mdbook format. Suggestions are welcome.

Nerdy Lion

Zero Knowledge Proofs


Curated Resources

Our curated resources consist of carefully selected, links, linktrees and other almanacs like “Ingopedia”. These resources are aimed at helping users access high-quality information in a quick and efficient manner.


Video Lecture Series

Our Video lecture series on ZK proofs offers in-depth and engaging presentations that cover the fundamentals and advanced topics of zero-knowledge proofs. These lectures are designed to educate and inform a wide range of audiences, and will contain series of videos on ZKP’s various concepts.


Articles

Our articles on ZK proofs are comprehensive and educational pieces that delve into the intricacies of zero-knowledge proofs. They consist of blogs, articles, PDFs, and notes. These articles aim to provide a clear understanding of this cutting-edge technology, its used-case applications, its vulnerabilities and its significance.


Hands on ZK

Our hands-on approach to learning ZK proofs provides interactive and practical training experiences that allow participants to build their skills and knowledge in an engaging way. These hands-on workshops, tutorials, and projects are designed to help learners apply their understanding of ZK proofs in real-world situations, making them an invaluable resource for anyone looking to further their expertise in this field.


Protocols

Our collection of mathematical papers, protocols, and code on ZK proofs is a comprehensive resource for researchers, developers, and students in the field of cryptography. These materials provide a deep understanding of the theories, implementations, and practical applications of zero-knowledge proofs, serving as a valuable reference for anyone interested in this cutting-edge technology.


Mathematics

The resources on the mathematics behind ZK proofs delve into the complex theories and mathematical concepts that underpin this innovative technology. These resources are intended for those with a strong background in mathematics, or those looking to deepen their understanding of the mathematical foundations of zero-knowledge proofs and their applications.

Curated Resources

Our curated resources consist of carefully selected, links, linktrees and other almanacs like “Ingopedia”. These resources are aimed at helping users access high-quality information in a quick and efficient manner.

What you will find here: Links, Linktrees, Almanacs


References

A collection of links and Almanacs breaking down ZKPs and related topics.

Libraries

A collection of libraries where you can create a ZKP.

Lecture Series

Our Video lecture series on ZK proofs offers in-depth and engaging presentations that cover the fundamentals and advanced topics of zero-knowledge proofs. These lectures are designed to educate and inform a wide range of audiences, and will contain series of videos on ZKP’s various concepts.

What you will find here: Video playlists of Podcasts, Lectures, and University/Professional Classes


ZK courses

University and proffesional level courses on ZK.

Discussions/Seminars

Podcasts and lecture playlists on various ZKP related topics.

Advanced Courses/Topics

Advanced University and proffesional level courses on ZK.

Articles

Our articles on ZK proofs are comprehensive and educational pieces that delve into the intricacies of zero-knowledge proofs. They consist of blogs, articles, PDFs, and notes. These articles aim to provide a clear understanding of this cutting-edge technology, its used-case applications, its vulnerabilities and its significance.

What you will find here: Blogs, Articles, PDFs, Notes


ZK Introductory

ZKSNARKS

STARKS

Applications

ZK Introductory

Understanding ZK from beginner to advanced on a surface level.


Beginner

Intermediate

Advanced

Ingonyama Blogs

Check out blogs, papers, pieces, and videos published by the Ingonyama Team


Fast Danksharding using ICICLE

Introducing ICICLE: An Open-Source GPU Library for Zero Knowledge Acceleration

A Brief History of Lookup Arguments

How Zero-Knowledge Proofs Will Change Gaming Forever

Intro to ECNTT from Starkware Sessions 2023

Deep Dive into the Sumcheck Protocol with Justin Thaler

Multi-Precision Fast Modular Multiplication

Hardware-friendliness of HyperPlonk

Zero Knowledge Proofs and the Metaverse

The Z Games: Pushing ZK Provers to the Extreme

Goldilocks NTT Trick

Down the Rabbit Hole: Optimizing AWS F1 Direct Memory Access (DMA)

Sparkworks - Native Hardware Acceleration in Arkworks

NTT Mini: Exploring Winograd’s Heuristic for Faster NTT

Marlin & Me: A Deep Dive into the Heart of the Marlin ZK Protocol

Bridging the Multichain Universe with Zero Knowledge Proofs

Systemization of Knowledge: ZK-Friendly Hash Functions

HackerNoon: Using Cloud-ZK for Developing ZKP Acceleration in the Cloud

Cloud-ZK: A Toolkit for Developing ZKP Acceleration in the Cloud

HackerNoon: Lowering the Barrier of Entry to Zero Knowledge Proofs

A Mathematical Theory of Danksharding

PipeMSM: Hardware Acceleration for Multi-Scalar Multiplication

Fast Modular Multiplication

Ingopedia: A Repo for all things ZK

Poseidon-Hash Repository

Polygon’s zkEVM Fun Facts

Introducing Ingonyama

ZKSNARKS

A collection of resources explainig ZKSnarks.


Trusted Setup

Vitalik Snark tutorial

Recursive Snarks

STARKS

A collection of resources explaining Starks.


Introductory

Papers

Stark tutorials

Applications

A compilation of materials that showcase various applications of zk technology.


Untitled - ZK Use-cases

General

ZK Rollups EVMs/VMs

ZK bridges

ZKML

ZK Gaming

Ecosystem with ZK applications

Vulnerabilities

Potential vulnerabilities in ZK systems


Hands-On ZK/Cryptography

Our hands-on approach to learning ZK proofs provides interactive and practical training experiences that allow participants to build their skills and knowledge in an engaging way. These hands-on workshops, tutorials, and projects are designed to help learners apply their understanding of ZK proofs in real-world situations, making them an invaluable resource for anyone looking to further their expertise in this field.

What you will find here: Code-to-Learn Applications


General

Challenges and hackathons

Rust learning resources for ZK/cryptography

Benchmarking tools

Protocols

Our collection of mathematical papers, protocols, and code on ZK proofs is a comprehensive resource for researchers, developers, and students in the field of cryptography. These materials provide a deep understanding of the theories, implementations, and practical applications of zero-knowledge proofs, serving as a valuable reference for anyone interested in this cutting-edge technology.

What you will find here: Protocols, Papers, Code


Mathematics

The resources on the mathematics behind ZK proofs delve into the complex theories and mathematical concepts that underpin this innovative technology. These resources are intended for those with a strong background in mathematics, or those looking to deepen their understanding of the mathematical foundations of zero-knowledge proofs and their applications.

What will you find here: Atoms and building blocks of a ZKP


Finite Fields

Polynomials

Elliptic curves

FFT

MSM

Finite fields

Modular arithmetic

Polynomials

Cryptographic primitives

Elliptic curves

General

Pairings

Specific curves

Hash functions

Verifiable Delay functions

General

Arithmetization

Commitment Schemes

Secure Multi Party Computation

(needs sorting)

General

Proving Methods

(To add papers: Work in progress)

Sumcheck Protocol

Low degree Testing/FRI

Lookup arguments

Aggregations and recursions

Computational Primitives

Hardware acceleration

Need for hardware acceleration or not?

Competitions

General HW resources and guides

Benchmarks of ZKP primitives

Discrete Fourier Transforms

Algorithms and methods

Implementations

Multi scalar multiplications

Algorithms and methods

Implementations

Homomorphic Encryption

General

TFHE deep dive: ZAMA AI - Ilaria Chilloti

HE Libraries/implementations

Accelerating FHE