Proof-of-Location (zkPoL)
Provides privacy-first location verification through Zero-Knowledge Proofs, ensuring users meet geolocation criteria without revealing their exact whereabouts.
User Journey
Alice wants to join an exclusive web3 campaign only available to users in specific regions. Using zkMe, he proves that he's physically located within the required area, without revealing his exact coordinates or address. After one-time verification, he receives a Proof-of-Location credential containing a zero-knowledge proof. This lets him access geo-restricted dApps and services, all while preserving his privacy.
See It in Action
See how users can prove their location without sharing coordinates and generate a zkPoL credential in just a few simple steps.
Why zkMe zkPoL?
Enhanced compliance: Enforce geolocation requirements while preserving user inclusivity.
User privacy protection: Validate user location with zero-knowledge proofs (ZKPs) without accessing or storing sensitive personal data.
Access to global liquidity: Expand to permitted jurisdictions while staying compliant with local regulations.
Risk mitigation: Reduce legal and regulatory risks by ensuring users comply with geographic restrictions and avoiding unauthorized access.
Regulatory adaptability: Easily adjust geolocation parameters as regulations evolve, without relying on blanket bans or rigid restrictions.
Facilitates global expansion: Support protocols in entering new markets with privacy-preserving compliance infrastructure.
How It Works
The procedure of performing a zero-knowledge Proof-of-Location, or Zero-Knowledge Geolocation, involves a series of steps to verify a user's location within a specific area without disclosing their actual coordinates. Here's a high-level overview of the procedure:
Define the Geofence Coordinates: Clearly define the specific area within which you want to verify the user's location. This could be a polygon defined by a set of coordinates or a specific geographical boundary.
Users Share Geolocation: Users share their GPS information for the purpose of location verification.
Generate Random Numbers: The user's device generates a random number as part of the zkPoL process.
Zero-Knowledge Proof (ZKP) protocol:
Commitment Phase: The user generates a commitment that contains information about their location within the defined area, without revealing the actual coordinates. This commitment is typically computed using cryptographic techniques.
Challenge Phase: The verifier (the service or entity performing the geolocation verification) selects a random challenge and sends it to the user.
Response Phase: The user generates a response based on the challenge and their random number. This response is sent back to the verifier.
Verification: The verifier checks the validity of the response and whether it satisfies the geolocation verification criteria, without gaining knowledge of the user's actual coordinates.
Verification Result: Based on the verification outcome, the verifier can determine if the user is located within the defined area, without explicitly obtaining their real address or coordinates.
Pricing & Integration
From startups to scale-ups, our pricing and simple integration are built to support your growth. Drop us a line at [email protected] and let’s kick things off!
Last updated