canvas-website/backlog/tasks/task-029 - zkGPS-Protocol-D...

2.4 KiB

id title status assignee created_date updated_date labels dependencies priority
task-029 zkGPS Protocol Design Done
@claude
2025-12-04 21:12 2025-12-04 23:29
feature
privacy
cryptography
research
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