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
+8-24Lines changed: 8 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
Extension of [zkml](https://github.com/uiuc-kang-lab/zkml) for distributed proving using Ray, layer-wise partitioning, and Merkle trees.
4
4
5
-
> **⚠️ Status Note:** This is an experimental research project. For production zkML, consider [ZKTorch](https://github.com/uiuc-kang-lab/zktorch) (from the same research group) which uses proof accumulation/folding for parallelization. See [Status and Limitations](#status-and-limitations) for details.
5
+
> **⚠️ Status Note:** This is an experimental research project. For production zkml, consider [zk-torch](https://github.com/uiuc-kang-lab/zk-torch)which uses proof folding for parallelization. See [Status and Limitations](#status-and-limitations) for details.
6
6
7
7
## Completed Milestones
8
8
@@ -11,8 +11,6 @@ Extension of [zkml](https://github.com/uiuc-kang-lab/zkml) for distributed provi
11
11
3.~~**Ray-Rust integration**: Connect Python Ray workers to Rust proof generation ([#9](https://github.com/ray-project/distributed-zkml/issues/9))~~ Done
12
12
4.~~**GPU acceleration**: ICICLE GPU backend for MSM operations ([#10](https://github.com/ray-project/distributed-zkml/issues/10))~~ Done - see [GPU Acceleration](#gpu-acceleration)
13
13
14
-
**Note**: This project is experimental. For production zkML, see [ZKTorch](https://github.com/uiuc-kang-lab/zktorch) or [Status and Limitations](#status-and-limitations).
15
-
16
14
---
17
15
18
16
## Table of Contents
@@ -32,36 +30,22 @@ Extension of [zkml](https://github.com/uiuc-kang-lab/zkml) for distributed provi
32
30
33
31
### Project Status
34
32
35
-
This project implements a **Ray-based distributed proving approach** for zkML. It is experimental research code and should be considered:
36
-
37
-
-**Research/Educational**: Useful for studying alternative approaches to zkML parallelization
38
-
-**Not Production-Ready**: Missing formal security analysis and proof composition
39
-
-**Superseded**: The same research group (UIUC Kang Lab) has released [ZKTorch](https://github.com/uiuc-kang-lab/zktorch), which uses proof accumulation/folding for parallelization
33
+
This project implements a **Ray-based distributed proving approach** for zkml. It is experimental research code and should be considered useful for studying alternative approaches to zkML parallelization. The current status lacks formal security analysis and proof composition.
40
34
41
35
### Known Limitations
42
36
43
-
1.**Proof Composition**: This implementation generates separate proofs per chunk. It does not implement recursive proof composition or aggregation. Verifiers must check O(n) proofs rather than O(1), limiting succinctness.
37
+
**Proof Composition**: This implementation generates separate proofs per chunk. It does not implement recursive proof composition or aggregation. Verifiers must check O(n) proofs rather than O(1), limiting succinctness.
44
38
45
-
2.**Security Assumptions**: The distributed trust model (Ray workers) is not formally analyzed. The README does not address:
46
-
- Malicious worker resistance
47
-
- Collusion resistance
48
-
- Byzantine fault tolerance
49
-
50
-
3.**Scalability**: No published benchmarks comparing distributed vs. single-node performance. The approach inherits base zkml limitations (~30-80M parameter ceiling for halo2-based circuits).
39
+
**Security Assumptions**: The distributed trust model (Ray workers) is not formally analyzed. It does not address malicious worker resistance, collusion resistance, and Byzantine fault tolerance.
51
40
52
41
### When to Use This
53
42
54
43
**Consider this project if:**
55
-
- Researching alternative zkML parallelization approaches
44
+
- Researching alternative zkml parallelization approaches
56
45
- Need examples of Ray integration for cryptographic workloads
57
46
- Studying Merkle-based privacy for intermediate computations
58
47
- Building distributed halo2 proving (not zkML-specific)
59
48
60
-
**Use alternatives instead if:**
61
-
- Need production-ready zkML → Use [ZKTorch](https://github.com/uiuc-kang-lab/zktorch) or [EZKL](https://github.com/zkonduit/ezkl)
62
-
- Require formal security guarantees → Use frameworks with proven composition
63
-
- Need state-of-the-art performance → ZKTorch achieves 10min GPT-2 proofs vs. ~1 hour for base zkml
64
-
65
49
---
66
50
67
51
## Overview
@@ -90,7 +74,7 @@ distributed-zkml adds:
90
74
3.**Merkle Commitments**: Hash intermediate outputs with Poseidon, only root is public
91
75
4.**On-Chain**: Publish only the Merkle root (O(1) public values vs O(n) without)
92
76
93
-
**Note**: Each chunk produces a separate proof. This implementation does not aggregate proofs into a single succinct proof. Verifiers must check all chunk proofs individually (O(n) verification time). For single-proof aggregation, see [ZKTorch](https://github.com/uiuc-kang-lab/zktorch)'s accumulation-based approach.
77
+
**Note**: Each chunk produces a separate proof. This implementation does not aggregate proofs into a single succinct proof. Verifiers must check all chunk proofs individually (O(n) verification time). For single-proof aggregation, see [zk-orch](hhttps://github.com/uiuc-kang-lab/zk-torch)'s accumulation-based approach.
0 commit comments