Nearby peer discovery without GPS using environmental fingerprints

https://news.ycombinator.com/rss Hits: 8
Summary

Your phone can see dozens of WiFi networks right now. So can mine. If we're in the same area, we're probably seeing many of the same networks. Can we use that overlap to discover each other without either of us revealing which networks we actually see? Without directly communicating in that particular environment? This is the core idea behind Shimmer: devices discover nearby peers by comparing their environments cryptographically, without disclosing the raw details. Instead of broadcasting "I see NetworkA, NetworkB, NetworkC," devices create fingerprints using locality-sensitive hashing. Similar environments produce matching fingerprints; different ones don't. Crucially, we never reveal our location: only that we're observing the same one. The technique isn't limited to WiFi. It works for any shared observations: Bluetooth beacons, common interests, cell towers, anything categorical. And while there are real security considerations (which I'll discuss later), the approach offers an interesting alternative to geolocation based proximity detection. Below, I'll walk through how it works with an interactive demo, then cover the implementation details and trade-offs. You can find a full implementation on GitHub How it works Step 1: MinHash - Creating Similarity Fingerprints MinHash is a technique that creates a compact "fingerprint" of a set. Similar sets produce similar fingerprints, which is exactly what we need for proximity detection. (source) Select at least 3 WiFi networks that your device might observe:馃挕 Note: In real applications, you'd combine WiFi SSID, BSSID (MAC address), and bucketed signal strengths for more robust fingerprinting. This demo uses only SSIDs for simplicity.CafeGuest_WiFiHomeNetwork_5GCoffeeShop_GuestLibrary_PublicOfficeNet_2.4Neighbor_WiFiCampus_SecureHotel_GuestAirport_FreeCalculate MinHash SignatureSelect at least 3 networks to calculate MinHash Step 2: LSH - Creating Collision Buckets Locality-Sensitive Hashing (LSH) divides the MinHash si...

First seen: 2025-11-25 14:25

Last seen: 2025-11-25 21:26