ConsenSys Mesh · Team Zero Designer & builder

GeoPass: proving where you were without saying where you are

A hardware, software, and blockchain prototype that rewards civic participation using zero-knowledge location proofs.

Background

Cities benefit when people show up: to the park cleanup, the council meeting, the local business district. But most "reward the citizen" schemes need to track exactly where you go, which is a privacy disaster waiting to happen. I wanted to know if you could prove you were somewhere in a region, on a given day, without handing over your GPS trail.

The build

The answer was zero-knowledge proofs. I wrote custom circuits in the Circom ZK library that take a GPS fix and prove it falls inside a defined region, without revealing the coordinates themselves. The device side is a Sony Spresense board with GPS, LTE, and sensors, acting as the trusted source of the location reading. It generates the proof, submits it, and the holder claims a GeoPass token on-chain. Local businesses can then offer incentives to token holders, and the city gets a feedback loop between engagement and local revenue.

Hardware, web services, and smart contracts all in one prototype. It's an "advanced" build in the Hackster sense, meaning there's a lot of glue.

Things I learned

  1. Writing ZK circuits for geometry is fiddly. Floating point doesn't exist; everything is field arithmetic.
  2. A "trusted" GPS device is only as trustworthy as its enclosure. Tamper resistance is the real hard problem.
  3. Prototypes that span three disciplines are the ones people actually remember.

Full writeup and code on Hackster, and the Team Zero project page.