Skip to content

A privacy preserving location sharing DID method - Winner of ETHWateloo2023 Best use of Polygon ID Prize

Notifications You must be signed in to change notification settings

asghaier76/ETHWaterloo-DidLoc

Repository files navigation

PRIVACY PRESERVING LOCATION DID Method Specification

Preface

The privacy preserving location DID (did-loc) method specification is complaint with the DID requirements specified by W3C Credentials Community Group. For a detailed read on DID and other DID method specifications check the W3C specs This method was mainly inspired and based on Polygon DID method open source code (https://github.com/ayanworks/polygon-did-resolver) and aiming at providing an approach to extend the capability of messaging Web3 protocols such as XMTP Protocol (https://xmtp.org/docs/developer-quickstart) to allow for location based and geofencing wallet to wallet communciation and push notification.

Motivation

Location sharing and applications requiring geofencing and handling events related to wallets proximity is very limited in distributed ledgers because of the nature of DLT and the fact that all data is available and public on chain. However, the demand is clear for such functionalities to enable users to associate locations and points of interest POIs to their wallets but without sacrificing their privacy and allowing the location information to be accessible to any one. To resolve this, the adopted approach by this method relies on the use of homomorphic encryptions. Homomorphic encryptions allow an entity to share sensitive information in encrypted format with another party that can perform certain operations on the encrypted and return it to the first party that upon decryption can see the exact result for the original information. In location-based applications, most of the use cases revolve around entities being able to share their locations with each other to perform calculations related to proximity and geofencing. The use of homomorphic encryption is applied for geofencing and proximity calculations, where few protocols exist that allow one entity to share its location with another entity that can perform some calculations and with data exchange with the first entity can both identify if they are in proximity of each other without exposing the actual location information. For this purpose, loc-did provides a decentralized method based on the concept of DID to enable users to associate their wallet addresses with different POIs/locations without sharing the actual location information, yet allowing other parties based on some agreement after exchange of messages to establish if these registered POIs are in proximity of their locations or their own POIs.

Abstract

The Location DID method allows any Ethereum key pair account to create an identity and associate with that identity different geo locations / points of interest, either physical or virtual, in a privacy preserving way. For handling all CRUD operations of the DID Document, the loc-did registry is represented by a smart contract that is deployed on polygon testnet and mainnet, please see registry-contract Method-Specs DID-LOC-Resolver

About

A privacy preserving location sharing DID method - Winner of ETHWateloo2023 Best use of Polygon ID Prize

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published