Skip to content

feat(release): v0.9.2 - Positioning Upgrade#22

Draft
imzzaidd wants to merge 2 commits into
mainfrom
v0.9.2-positioning-upgrade
Draft

feat(release): v0.9.2 - Positioning Upgrade#22
imzzaidd wants to merge 2 commits into
mainfrom
v0.9.2-positioning-upgrade

Conversation

@imzzaidd
Copy link
Copy Markdown
Contributor

v0.9.2 -- Positioning Upgrade

Summary

Upgrade the positioning subsystem with maximum likelihood estimation (MLE), Kalman filter tracking, Cramer-Rao lower bound (CRLB) accuracy metrics, zero-knowledge proof of position, and RTT-based distance bounding. This release transforms triangulation from a basic weighted-centroid approach into a statistically rigorous positioning engine suitable for presence verification in adversarial environments.

Planned Changes

Maximum Likelihood Estimation (MLE)

  • Replace weighted centroid with MLE-based position estimation
  • Gradient descent solver with convergence guarantees
  • Configurable iteration limits and tolerance thresholds
  • Bounded arithmetic throughout (saturating operations)

Kalman Filter Tracking

  • State prediction and measurement update for position tracking
  • Configurable process noise and measurement noise matrices
  • Innovation-based outlier rejection
  • Smooth position trajectory for moving actors

Cramer-Rao Lower Bound (CRLB)

  • Theoretical accuracy bound computation from anchor geometry
  • Fisher information matrix assembly from RSSI/RTT measurements
  • Confidence ellipse parameters for position uncertainty
  • Automatic quality assessment (reject estimates below CRLB threshold)

ZK Proof of Position

  • Zero-knowledge proof that an actor is within a specified region
  • Circuit: prove position within region with consistent measurements
  • Integration with pallet-zk for on-chain verification
  • Privacy-preserving presence verification (prove location without revealing it)

RTT Distance Bounding

  • Round-trip-time based distance measurement
  • Speed-of-light upper bound enforcement
  • Relay attack detection via timing analysis
  • Integration with device-scanner for RTT collection

Deliverables

  • MLE position estimator with gradient descent solver
  • Kalman filter for position state tracking
  • CRLB accuracy metric computation
  • ZK proof of position circuit and verifier
  • RTT distance bounding protocol
  • Triangulation pallet upgrade to MLE backend
  • Device-scanner RTT collection integration
  • pallet-zk circuit for position proofs
  • Statistical accuracy benchmarks vs. weighted centroid
  • Adversarial positioning test suite

Invariants Affected

  • INV73-75: ZK proof system extended with position proof type
  • INV64-65: Device positioning enhanced with RTT bounding
  • INV1-13: Presence verification strengthened by ZK position proofs
  • INV43: Chain binding extended to position proof statements

Breaking Changes

  • pallet-triangulation API overhaul (weighted centroid to MLE)
  • PositionEstimate type gains uncertainty/confidence fields
  • New PositionProof variant in pallet-zk proof types
  • Device-scanner inherent format extended with RTT data

Testing

  • cargo test --workspace passes
  • cargo clippy --all-targets -- -D warnings clean
  • cargo fmt --all -- --check passes
  • no_std verification for all crates
  • MLE convergence tests with known anchor configurations
  • Kalman filter tracking accuracy with synthetic trajectories
  • CRLB computation validated against analytical solutions
  • ZK position proof soundness and completeness tests
  • RTT bounding correctness with simulated relay attacks
  • Regression tests: MLE accuracy >= weighted centroid in all cases

Milestone

v0.9.2 - Positioning Upgrade (due: 2026-08-31)

Checklist

  • cargo fmt
  • cargo clippy
  • cargo test
  • no_std check
  • Documentation updated
  • CHANGELOG.md updated
  • Triangulation architecture doc updated
  • ZK circuit specification documented

@imzzaidd imzzaidd added this to the v0.9.2 - Positioning Upgrade milestone Mar 30, 2026
@imzzaidd imzzaidd added version:v0.9.2 v0.9.2 Positioning Upgrade priority:high Should be resolved before release type:feature New feature or capability labels Mar 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority:high Should be resolved before release type:feature New feature or capability version:v0.9.2 v0.9.2 Positioning Upgrade

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant