Skip to content

Notebooks covering mathematical analysis of ZKP building blocks, algorithm implementations of various proof systems, and protocol optimization techniques.

License

Notifications You must be signed in to change notification settings

inference-labs-inc/n-ary_notebooks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

   ____     ___                           __        __     
  /  _/__  / _/__ _______ ___  _______   / /  ___ _/ /  ___
 _/ // _ \/ _/ -_) __/ -_) _ \/ __/ -_) / /__/ _ `/ _ \(_-<
/___/_//_/_/ \__/_/  \__/_//_/\__/\__/ /____/\_,_/_.__/___/

N-ary Notebooks

N-ary Notebooks is an ongoing research and development project dedicated to overcoming key technological challenges in the field of zero-knowledge proofs and cryptographic protocols. By addressing specific scientific uncertainties related to the efficiency, scalability, and security of zero-knowledge proof systems—such as zk-SNARKs, sum-check protocols, the GKR protocol, and arithmetic circuits; we aim to achieve significant advancements in cryptography.

Our project tackles these uncertainties through systematic investigation and experimental development. We are exploring novel mathematical models and algorithmic frameworks that have not been extensively studied or applied in current cryptographic systems. This involves iterative testing, validation, and refinement of protocols to push beyond the limitations of existing technologies.

Project Goals

  • Advance ZKP Research: Provide a shared platform for exploring new ideas in zero-knowledge proofs, from rigorous mathematical foundations to novel proof constructions.
  • Mathematical Analysis: Complexity Analysis and Security Proofs: Studying zk-SNARKs, sum-check, and GKR protocols to optimize efficiency and ensure robust security.
  • Optimize Cryptographic Protocols: Experiment with and refine ZKP-based protocols to improve their efficiency, security, and scalability for real-world applications.
  • Collaborative Learning: Create an environment where experienced professionals and advanced students can learn together through clear examples and reproducible experiments, accelerating understanding of complex concepts.

What’s Inside

  • Core Topics: Notebooks covering mathematical analysis of ZKP building blocks, algorithm implementations of various proof systems, and protocol optimization techniques.
  • Real-World Examples: Demonstrations of ZKP use cases (e.g. privacy-preserving blockchain transactions, verifiable credentials), complete with code and explanatory notes.
  • Detailed Commentary: In-depth documentation within each notebook explains the theory behind the code, making every notebook a standalone learning module.

How to Get Involved

  • Explore & Learn: Dive into the notebooks. Run the code, read the insights, and experiment with parameters. If you encounter questions or issues, feel free to open an issue for discussion.
  • Contribute New Notebooks: Have a novel ZKP idea, optimization, or tutorial to share? We welcome you to fork the repository, add your notebook, and submit a pull request. New examples, improved algorithms, and fresh research findings are all valuable contributions.
  • Improve & Review: Help enhance existing notebooks by fixing bugs, optimizing code, or refining explanations. Peer review and collaboration will ensure the repository’s content remains accurate and high-quality.
  • Spread the Word: If you find this project useful, share it with colleagues or students. More participation means more ideas and faster progress for the ZKP community.

Each notebook in this repository documents a step-by-step exploration of complex cryptographic concepts, emphasizing precision in protocol implementation and practical applicability. We employ rigorous analytical methods and experimental techniques to validate our approaches, ensuring that our findings contribute valuable insights to the scientific community.

We believe that an open, hands-on approach will accelerate innovation in zero-knowledge proof technology. By bringing together a community of ZKP enthusiasts and experts, N-ary Notebooks aims to be a catalyst for learning and discovery in the field of cryptography. Thank you for being part of this journey – let’s push the boundaries of what’s possible with ZKPs, together!


Getting Started

Clone the repository, install the required packages, and start exploring with Jupyter Notebook.

# Clone the repository
git clone https://github.com/inference-labs-inc/jupytersnarks.git
cd zero-knowledge

# Install the required packages
pip install -r requirements.txt

# Launch Jupyter Notebook
jupyter notebook

About

Notebooks covering mathematical analysis of ZKP building blocks, algorithm implementations of various proof systems, and protocol optimization techniques.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published