https://github.com/alexcitten/merklezkp
A Rust-based project integrating Merkle trees with Zero-Knowledge Proofs (ZKPs).
https://github.com/alexcitten/merklezkp
Last synced: 9 months ago
JSON representation
A Rust-based project integrating Merkle trees with Zero-Knowledge Proofs (ZKPs).
- Host: GitHub
- URL: https://github.com/alexcitten/merklezkp
- Owner: Alexcitten
- License: mit
- Created: 2024-09-07T17:16:22.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-07T17:17:46.000Z (almost 2 years ago)
- Last Synced: 2025-03-21T15:23:04.235Z (about 1 year ago)
- Language: Rust
- Size: 6.84 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Merkle ZKP
A Rust-based project integrating Merkle trees with Zero-Knowledge Proofs (ZKPs).
## Overview
This project demonstrates my ability to implement cryptographic data structures, specifically **Merkle Trees**, combined with **Zero-Knowledge Proofs** for verifiable computation. The Merkle tree ensures data integrity by constructing efficient, verifiable proofs of inclusion, while the ZKP component provides a mechanism for proof generation without revealing sensitive information.
## Key Features
- **Merkle Trees**: Ensures data integrity by constructing efficient proofs of inclusion.
- **Zero-Knowledge Proofs**: Verifiable computation without revealing sensitive information.
- **zk-SNARKs**: Implemented via the `bellman` library, providing secure proof creation and verification for small inputs.
- **Rust Performance**: Leverages Rust’s performance and memory safety to handle complex cryptographic operations with minimal overhead.
## My Role
In this project, I implemented the core cryptographic primitives and ensured the efficiency and security of proof generation and verification. By combining **Merkle Trees** and **zk-SNARKs**, I demonstrated the ability to integrate advanced cryptographic protocols into practical applications, proving the inclusion of specific data without revealing the data itself.
## How to Use
```bash
git clone https://github.com/Alexcitten/merklezkp
cd merklezkp
cargo build
cargo run
```
## Expected Output
Upon running the program, you should see the following output, which demonstrates the generation of a Merkle root, proof for the first element, and validation of the proof:
```bash
Merkle Root: 58c89d709...131c102cfd
Proof for first element: [("3e23e81...59c009d", true), ("d3a0...4891a", true)]
Leaf hash: ca9781...7785afee48bb
Is proof valid? true
```
This demonstrates that the program successfully constructs a Merkle tree, generates a valid proof for the first element, and verifies that the proof matches the root.
## LICENSE
This project is licensed under the MIT License