2.4 KiB
| id | title | status | assignee | created_date | updated_date | labels | dependencies | priority | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| task-029 | zkGPS Protocol Design | Done |
|
2025-12-04 21:12 | 2025-12-04 23:29 |
|
medium |
Description
Design and implement a zero-knowledge proof system for privacy-preserving location sharing. Enables users to prove location claims without revealing exact coordinates.
Key capabilities:
- Proximity proofs: Prove "I am within X distance of Y" without revealing exact location
- Region membership: Prove "I am in Central Park" without revealing which part
- Temporal proofs: Prove "I was in region R between T1 and T2"
- Group rendezvous: N people prove they are all nearby without revealing locations to each other
Technical approaches to evaluate:
- ZK-SNARKs (Groth16, PLONK) for succinct proofs
- Bulletproofs for range proofs on coordinates
- Geohash commitments for variable precision
- Homomorphic encryption for distance calculations
- Ring signatures for group privacy
Integration with canvas:
- Share location with configurable precision per trust circle
- Verify location claims from network participants
- Display verified presence without exact coordinates
Acceptance Criteria
- #1 Protocol specification document complete
- #2 Proof-of-concept proximity proof working
- #3 Geohash commitment scheme implemented
- #4 Trust circle precision configuration UI
- #5 Integration with canvas presence system
- #6 Performance benchmarks acceptable for real-time use
Implementation Notes
Completed all zkGPS Protocol Design implementation:
-
ZKGPS_PROTOCOL.md: Full specification document with design goals, proof types, wire protocol, security considerations
-
geohash.ts: Complete geohash encoding/decoding with precision levels, neighbor finding, radius/polygon cell intersection
-
types.ts: Comprehensive TypeScript types for commitments, trust circles, proofs, and protocol messages
-
commitments.ts: Hash-based commitment scheme with salt, signing, and verification
-
proofs.ts: Proximity, region, temporal, and group proximity proof generation/verification
-
trustCircles.ts: TrustCircleManager class for managing social layer and precision-per-contact
-
index.ts: Barrel export for clean module API