Skip to content

Commit c1b0c33

Browse files
AddReadme.d ensuring project structure using readable tree format with aligned descriptions
1 parent 54146ac commit c1b0c33

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

ZKP_Demo_Tool/Readme.md

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# 🔐 Zero-Knowledge Proof Interactive Tutorial (Graph-Based Simulation)
2+
3+
This project is a **visual and interactive educational tool** that demonstrates the fundamental principles of **Zero-Knowledge Proofs (ZKPs)** using graph-based simulations and commitment schemes. It is built entirely using **Python + PyQt5**, and is designed to engage both cryptography students and mentors with real-world analogies and intuitive illustrations.
4+
5+
Developed by **Susmita Chakrabarty** as part of a GSoC proposal under the PyDataStructs organization.
6+
7+
---
8+
9+
## What It Teaches
10+
11+
This tutorial explains:
12+
13+
- **Commitment Schemes**: Using SHA-256 to create secure, hidden commitments.
14+
- 🔐 **Binding**: Commitments cannot be altered after submission.
15+
- **Hiding**: Commitments reveal no information until the reveal phase.
16+
- **ZKP Challenge Rounds**: Verifier issues a challenge, prover reveals commitment.
17+
- **Graph-Based Real-World Use Cases**: Transaction roles in banking systems, fraud detection, and more.
18+
19+
Each scene is part of a **narrative and interactive journey**, gradually introducing cryptographic guarantees in a way that is fun, memorable, and technically sound.
20+
21+
---
22+
23+
## 📁 Project Structure
24+
```plaintext
25+
ZKP_Demo_Tool/
26+
├── assets/
27+
│ └── scene1.png #Optional illustration or background image
28+
29+
├── tutorial/
30+
│ ├── tutorial_scene.py #Scene 1 - Intro to commitment schemes
31+
│ ├── scene2_commitment.py # Scene 2 - ZKP using transaction graph
32+
│ ├── scene3_bipartate.py # Scene 3 - Bipartite graph simulation
33+
│ └── run_all_scenes.py # Launcher GUI for all scenes
34+
35+
└── README.md # Project documentation
36+
37+
```
38+
## How to Run
39+
40+
### 1. Recommended: Start with the Launcher
41+
42+
```bash
43+
cd /ZKP_DEMO_TOOL/tutorial
44+
python run_all_scenes.py
45+
```
46+
## Designed For
47+
48+
- Cryptography students and researchers
49+
- Mentors reviewing GSoC/academic projects
50+
- Visual learners who prefer intuitive simulations
51+
- Anyone curious about ZKPs in real-world graphs
52+
53+
---
54+
55+
## Future Directions
56+
57+
- Add auto-mode for repeated ZKP rounds with statistics
58+
- Export logs to PDF for classroom use
59+
- Sound or animation effects for fraud detection
60+
- Homomorphic commitments or multi-party extensions
61+
62+
---
63+
64+
## Acknowledgments
65+
66+
This demo was designed to be engaging and intellectually rich while remaining accessible.
67+
Thanks to [Wikipedia - Commitment Scheme](https://en.wikipedia.org/wiki/Commitment_scheme), educational ZKP materials, and feedback from mentors and peers.
68+

0 commit comments

Comments
 (0)