You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+13-38Lines changed: 13 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,7 +55,16 @@ On-chain: Only the Root hash
55
55
Private: Outputs A, B, C (never revealed)
56
56
```
57
57
58
-
The Merkle tree preserves privacy of intermediate values. Partitions enable parallel proving; the Merkle tree commits to their outputs privately.
58
+
### Why Merkle Trees?
59
+
60
+
Without Merkle trees, all intermediate values must be public for the next chunk to verify them—**O(n) public values**, which is expensive in ZK circuits.
61
+
62
+
With Merkle trees, only the root is public—**O(1) public values**. The next chunk verifies specific inputs with O(log n) Merkle proofs inside the circuit.
- Verify Ray installation: `pip install --upgrade ray`
341
-
342
-
#### "PyTorch CUDA not available"
343
-
- Install PyTorch with CUDA: `pip install torch --index-url https://download.pytorch.org/whl/cu118`
344
-
345
320
## CI
346
321
347
322
Lightweight CI runs on every PR to `main` and `dev`:
@@ -352,9 +327,9 @@ Lightweight CI runs on every PR to `main` and `dev`:
352
327
## TODO: Next Steps
353
328
354
329
1.~~**Make Merkle root public**: Add root to public values so next chunk can verify it~~ ✅ Done
355
-
2.**Complete proof generation**: Connect chunk execution to actual proof generation
356
-
3.**Ray-Rust integration**: Connect Python Ray workers to Rust proof generation
357
-
4.**GPU acceleration**: Current implementation is CPU-based. GPU acceleration for proof generation requires additional work (Halo2 GPU support or custom GPU kernels)
330
+
2.**Complete proof generation**: Connect chunk execution to actual proof generation ([#8](https://github.com/ray-project/distributed-zkml/issues/8))
331
+
3.**Ray-Rust integration**: Connect Python Ray workers to Rust proof generation ([#9](https://github.com/ray-project/distributed-zkml/issues/9))
332
+
4.**GPU acceleration**: Current implementation is CPU-based. GPU acceleration for proof generation requires additional work ([#10](https://github.com/ray-project/distributed-zkml/issues/10))
0 commit comments