5 ms·
I can't tell how it works from the site, but a good approach is to randomize the distance threshold a bit each time. For example: if users are within 1km, alway
by bo1024 10y ago
I can't tell how it works from the site, but a good approach is to randomize the distance threshold a bit each time. For example: if users are within 1km, always connect; if more than 2km apart, never connect; 1.xkm apart, connect with probability x.
That kind of thing combined with some rate limits (how often one can attempt to connect to a user) should be effective.
(edit) Actually, I think I like mseebach's suggestion even more: For each user, pick a random location about 100m away from them, then pretend they're there until they've moved far enough away, then repeat.
- civilian 10y agoHeh, it's like salting their location.
- yarou 10y agoBelieve it or not, but this is exactly what the Chinese government mandates. It's known as China shifting[0], and can cause quite a lot of headaches. [0] https://en.m.wikipedia.org/wiki/Restrictions_on_geographic_data_in_China#The_China_GPS_shift_problem https://en.m.wikipedia.org/wiki/Restrictions_on_geographic_d...
- bo1024 10y agoI'm thinking of ideas like [differential privacy](https://en.wikipedia.org/wiki/Differential_privacy https://en.wikipedia.org/wiki/Differential_privacy).
- rawnlq 10y agoI am not sure if your original solution will actually work. For example an attacker can just spoof enough accounts to sample from your distribution to figure out the true center. Imagine spoofing a grid of users with let's say K fake accounts per dot, then if you plot the histogram of who managed to connect you will see a very clear bump in the 2d histogram in the shape of circle. The solution in your edit is much better.