ZK Shroud Arena

ZK Shroud Arena

Real-time proof-of-location game with custom zones

Created on 21st June 2025

ZK Shroud Arena

ZK Shroud Arena

Real-time proof-of-location game with custom zones

The problem ZK Shroud Arena solves

ZK Shroud Arena is a zero-knowledge, location-privacy battle royale game.
Players must stay within a dynamic safe zone made of H3 cells to earn rewards while keeping their location completely private.

This is enabled by our Rust and Arkworks based ZK circuit, which proves that a point is within the designated area without revealing coordinates. It supports high-fidelity maps, generates proofs in under 1 second, and has a circuit size of only around 42,000 constraints, making it suitable for real-time and IoT-constrained environments.

Unlike existing approaches that support only one simple shape, our circuit accepts up to 1,024 convex polygons with configurable vertex limits (default: 6). Because the circuit supports convex polygons with up to 6 vertices, it is naturally compatible with the H3 grid system, which represents each cell as a hexagon. The circuit is written in Rust for ZK ecosystem compatibility and is MIT licensed for open use.

Beyond gaming, this circuit can be applied to other privacy-preserving location use cases. For example, ensuring that a rented car stays within a permitted zone without exposing its actual route, or enforcing zone compliance in airsoft matches without revealing player positions.

Because the proof generation time is fast enough for real-time use and the circuit can represent complex areas, this project aims to serve as a foundation for what proof-of-location protocols should be capable of.

Challenges we ran into

Arkworks Complexity

Arkworks is a robust library for building ZK circuits, supporting both Groth16 and PLONK and offering BN254 and BLS12-381 curves. We chose Arkworks with Groth16 and BN254 for fast proof generation. However, the lack of documentation and API changes across versions (current version 0.5) make development difficult. Even simple tasks, such as initializing Poseidon, could require importing many several crates. We managed to work through these challenges by consulting our reliable friend, ChatGPT o3.

Blockchain Integration

Most ZK frameworks provide a straightforward way to generate a Solidity verifier, but Arkworks does not. Fortunately, the community project arkworks-solidity-verifier works surprisingly well. Though, we had to downgrade Arkworks to version 0.3 to make it work, since that repository has not been updated in two years.

GPS Accuracy Limits

GPS is highly accurate in outdoor environments but becomes unreliable indoors. If the allowed zone is too small and does not account for this limitation, players might appear to be outside the zone even when they are actually inside. On the bright side, GPS remains reliable in most outdoor settings, even in areas with tree cover, as long as the user stays outside.

GPS Spoofing Concerns

This project assumes that the GPS signal is not spoofed and that the proof generation process is done with some trusted hardware, such as a box inside a rented car, where no one should open the box for modifications. As for ways to overcome this problem, we encourage people in the future who read this project description to continue improving and to set a newer standard for proof-of-location protocols even further.

Tracks Applied (1)

ZK Hack Berlin Winners

ZK Shroud Arena demonstrates a practical, novel use of zero-knowledge proofs for location privacy. We built a Rust and A...Read More

Discussion

Builders also viewed

See more projects on Devfolio