Bitcoin Forum
November 07, 2024, 06:14:00 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Proof of location  (Read 4810 times)
MrBea (OP)
Sr. Member
****
Offline Offline

Activity: 242
Merit: 250

Bitcorns


View Profile
March 18, 2014, 01:07:44 AM
 #1

Hello Bitcoin braintrust.  I am working on a project that requires proof-of-location.  A google search yields a number of centralized solutions.  One being...
https://cs.uwaterloo.ca/~uhengart/publications/gis10.pdf
Is this a solved problem or can reported location always be spoofed?
Could there be a blockchain style proof of location?

I would be willing to collaborate with someone(s) if this seems like an interesting problem to you.  I'm looking for an open source solution. 

MrBea

Gathering bitcorns.
canton
Sr. Member
****
Offline Offline

Activity: 261
Merit: 285



View Profile WWW
March 18, 2014, 01:25:36 AM
 #2

Is this a solved problem or can reported location always be spoofed?

I know there's a lot of interest in this topic as it relates to cheating in augmented reality games. There's probably a lot of thought, energy, and maybe even FOSS solutions out there... google for (example) "ingress prevent gps spoofing"
giszmo
Legendary
*
Offline Offline

Activity: 1862
Merit: 1114


WalletScrutiny.com


View Profile WWW
March 18, 2014, 02:58:51 AM
 #3

Is this a solved problem or can reported location always be spoofed?

I know there's a lot of interest in this topic as it relates to cheating in augmented reality games. There's probably a lot of thought, energy, and maybe even FOSS solutions out there... google for (example) "ingress prevent gps spoofing"

canton you could certainly share more insight from your own research Grin At least on indigogo you claim you have it sorted out, albeit I doubt it is physically possible to have some open source solution that can not be spoofed by some fake gps signal.

ɃɃWalletScrutiny.comIs your wallet secure?(Methodology)
WalletScrutiny checks if wallet builds are reproducible, a precondition for code audits to be of value.
ɃɃ
jonald_fyookball
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008


Core dev leaves me neg feedback #abuse #political


View Profile
March 18, 2014, 03:13:33 AM
 #4

sounds like an interesting problem.  have  you thought about measuring relative ping latency

b¡tco¡n
Member
**
Offline Offline

Activity: 84
Merit: 10

Correct Horse Battery Staple


View Profile
March 18, 2014, 03:50:52 AM
 #5

Assuming you are on a fast network I can verify you are in my city by pinging you. The time should take less than the time it would take light to get to the city walls.

That may be too harsh but I could may verify by the network trace or some other details like that.

Now my "vote" for your location can be given gravitas via proof of work or proof of stake.

Unlike the bitcoin block chain you need a proof of work PER location verification. Thats a lot of proofs. Although the difficulty level will probably be a lot less than the one you need to win 25BTC as a miner.

Then the receiver can decide how many proofs he needs to be convinced that you are where you say you are.





1GiB1jQnqjwmNW4U4i8autnnVb1fG8HTYM

This would be my avitar; http://s9.postimg.org/m2pzsiy57/avi.png
Cubic Earth
Legendary
*
Offline Offline

Activity: 1176
Merit: 1020



View Profile
March 18, 2014, 05:57:15 AM
 #6

How about this:

Your a mining node, and you attempt to build a distance model of the network based on ping times.

Your model is compared against other models, and the models that best fit together to produce would share a reward.  Therefore, every miners best chance would be to submit the most accurate model they could build.

It would have to be a pretty sophisticated matching algorithm that compared the distance models, and of course it would need to be able to be verified by everyone.

As a miner, the models I submit to the network would need to include some proof of work and my a public key so I could receive and award if I was due.  The distance models would only be relayed if accompanied by sufficient proof of work.

benjyz
Full Member
***
Offline Offline

Activity: 140
Merit: 107


View Profile
March 23, 2014, 11:05:44 AM
Last edit: March 23, 2014, 11:33:08 AM by benjyz
 #7

funny, I almost started on the thread on the topic, but decided it's too crazy. I thought of the same exact concept, because proof of identity seems not to work very well, when one considers facebook clickfarms and the discussions around Mike's passport idea.

The internet was never designed for using location data, and it is fundamentally a system where location does not matter. One domain resolves to an arbitrary IP address and usually one does not care whether the packet travels for 3 seconds or half a second. IP addresses are assigned in a hierarchical manner. service providers get some subspaces and assign numbers to their customers (IANA => ISP => node).

there are several questions that arise:

* how accurate is an IP address as a measure of location? not very. at least say 1-5% of the time the GeoIP location will be off by > 200 km, and on average probably 50-100 km. for some countries with very low distribution of backbones this could be 500-1000 km.
* can one use various pings to verify location? possible, but certainly not trivial.
* TOR. with TOR you can spoof arbitrary locations. which is not the same as having that location as the endpoint (latency will be very high).
* packet traversal has very high variance. this makes a very complicated problem.

I'm not sure anyone has experimented with it. Here is a project which scrapes maxminds Geodata:

http://freegeoip.net
https://github.com/fiorix/freegeoip
http://www.maxmind.com/en/geolocation_landing

to find geolocation on a map:
http://itouchmap.com/latlong.html

Proof of location based on TCP/IP seems not very viable, at least when it is supposed to be universal (for some internet nodes it can be accurate enough). Which leaves such an enterprise more in the area of cjDNS/I2P or GPS/mobile phones. 

A couple of pointers in that direction:

Todd E. Humphreys gave a TED talk on his work on next generation GPS http://www.ted.com/talks/todd_humphreys_how_to_fool_a_gps, http://www.ae.utexas.edu/faculty/faculty-directory/humphreys , where he predicts millimeter accuracy for GPS.

there is also the old idea of internet of things (where a map of location to internet is needed). But:

Quote
“I look today at some of the work being done around the ‘Internet of Things’ and it’s kind of tragically pathetic,” said MIT Media Lab founder and longtime tech futurist Nicholas Negroponte on the first day of the TED conference in Vancouver this week.

http://recode.net/2014/03/19/at-ted-sharpening-the-vision-of-the-internet-of-things/

amspir
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
March 23, 2014, 03:15:04 PM
 #8

Hello Bitcoin braintrust.  I am working on a project that requires proof-of-location.  A google search yields a number of centralized solutions.  One being...
https://cs.uwaterloo.ca/~uhengart/publications/gis10.pdf
Is this a solved problem or can reported location always be spoofed?
Could there be a blockchain style proof of location?
MrBea

Perhaps one design a system where proof of location is made by paying a small btc fee to a node that consists of a open wi-fi point.  If enough of a fee is sent to the node's dynamic bitcoin address, it will sign a bitcoin message certifying that the node was contacted over wifi at a certain time.  The location proof could be queried in some kind of decentralized database.  Secondly, nodes would have to overlap and communicate with each other, in essence, they would certify that they are in range of each other, and reported locations that appear to be outliers would be eliminated from the network.  Some kind of algorithm could be developed that establishes confidence of proof of location, depending on home many proofs that the locatee can obtain, and the trustworthiness of the locater nodes, based upon how many other nodes certify that node.

If there is a large enough user base of locatees willing to pay fees to local nodes for the service, the economic incentive to run a node should insure growth in urban areas where the user base is likely to use the service.

Cheating might be possible by establishing a relay point, and I'm not sure what can be done about that.
havanabob
Member
**
Offline Offline

Activity: 88
Merit: 10


View Profile
March 23, 2014, 04:35:21 PM
 #9

And who needs a project that requires proof-of-location? I don't.
amspir
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
March 23, 2014, 04:54:12 PM
 #10

And who needs a project that requires proof-of-location? I don't.

There are augmented-reality games where people must physically go to a location to play some sort of action in the game.

However, I can see more useful applications, such as temporal-geotagged digital images. 
dafqok
Newbie
*
Offline Offline

Activity: 30
Merit: 0


View Profile
April 17, 2014, 09:31:31 AM
Last edit: April 17, 2014, 03:05:49 PM by dafqok
 #11

And who needs a project that requires proof-of-location? I don't.

Proof of location & connectivity could be huge for dezentralization, an utilitarian incentive mechanism, scalability issues and increasing overall internet resilience.
Here're my ideas to that.

Introduction

Essentially, current PoW schemes rely on fundamental physical objects that cannot be effortlessly replicated. In case of Bitcoin it's the existence of hashing power. Gold in that sense has has the same property: It can't exist in two locations at the same time. Either its in a vault at one given time, buried underground, used in electronic equipment, etc. However it cannot exist at different locations at the same time 1). This is a precondition of why people trust in bitcoin and trust in gold as an unforgeable signal of state and hence are willing to use it as money. Economists refer to that as scarcity.
Other phenomena exerting the same property and commonly accepted by mankind are space and time. In fact, everyone agrees that nothing with physical presence can exist at the same place at the same time 2). Just as historians arguing to reach consensus on historic events and its many interpretations (records of history are by definition incomplete), the trick is now to reach consensus on what exists at a certain time at a certain location. In the virtual world of internet, existence of rudimentary form is usually implemented by simply pinging each other.
Now, what if you could incentivize discovery and disclosure of nodes' locations in a way that honest reports are rewarded and dishonest reports are rejected, set aside a sophisticated collusion of the majority?

Decentralized Graph of Connectedness

In the virtual world, distance can be measured in terms of stochastic sampling of minimal ping response times. The lower the response time, the closer A to B. This probably correlates with physical distance, but not necessarily so. Network topology, hardware and routing are determining factors above all.
Just as in the physical world, relative location in the n-th dimension can computed by triangulation if one knows the distance from a set of n+1 nodes. For the time being though, it suffices to ascribe every active node in the network its ping times to its peers. Because ping times in principle are the same in both directions, the stake of connectivity can easily be verified and agreed on.
But why would a node in the network even report the true ping time or even worse, refrain from emulating seemingly consistent response times with his peers to forge an arbitrary location? In other words, nothing should stop a hostile node to delay pong responses consistently but with random offsets in order to spoof identities.

Convergence of Virtual and Physical Space

Remember that one scarce and also unforgeable property of a node is time and space. More precisely, virtual space as evaluated by triangulation of ping times. A node cannot operate or pretend to operate at the same time from a different location 3), as long as it responds the quickest way technically possible. Given the reward scheme miners currently follow, exactly such a reward can be issued to the fastest and most stable node in the network. Lets say three honest nodes A, B and C have the following ping times.
A <-> B : 20ms
B <-> C : 15ms
C <-> A : 10ms
Therefore A has a cumulated response time of 30ms to serve its peers. B 35ms and C 25ms. The obvious winner is therefore C which is entitled for the reward. C virtually is located somewhere in the middle of A and B and in coincidence, is also the most coveted node for reliable communication. In practice, you'd want to use a metric which also considers the amount of peers validated and connected to, which is then a degree of responsive and well vested connectivity 4).
In this scheme however, the losers are A and B. As long as they don't position themselves differently or improve their network access, none of them could challenge the dominance of C. Eventually they'd turn down their chances to ever earn a reward (which could still happen if C goes offline or drops in connection quality) and leave. Even worse, being a potent hub to begin with, C could act hostile and start impeding traffic relayed over it to manifest its monopoly position.
So how to align the interest of the bully C, its challengers A and B towards a single goal? One idea is to introduce marginal rewards. That means, given the metric of connectivity, the second best, third best and so one will earn a degressional part of the reward. This maintains a more diverse network.


Enter the idea of contestable physical space

By now, each node is ascribed with a connectivity measure which is easily verifiable by other miners. Especially since ping statistics are garnered from every challenging node in the process of mining to begin with 5).
With three participants, ranking the nodes with a 51% consent will be quick. Now what you'd really want to have is a system of global scale. Until each node pings its peers to broadcast either a claim to be the best connected one or verifies the best few, an unfeasible amount of time and coordination is necessary. Moreover, given changing topologies and routings of the underlying networks, consensus on ranking would hardly emerge at all globally. Besides, this would lead to a few supernodes, probably residing in the US/EU (or space) and would exclude late adopters of internet technology from mining rewards. That means the utilitarian approach for an arms race towards supreme network resilience must therefore be augmented with an egalitarian approach.
To really spawn a global effort, lets assume that every claim to have the best connectivity must also contain location stamp in physical space. Much like GPS coordinates. This ties in the whole mechanism into the real world where people actually live and access the network for their purpose. For sake of simplicity, divide the globe into reasonably granular cubes 6). Now, competition and ranking is carried out in this subspaces alone.
So how is a powerful and well connected node prevented from claiming a high rank in an arbitrary space? Simply, it can't. If it reports a location far off, the peer consensus of ping times would discard it. It is bound to real world constraints. It can't supply quality network connectivity locally without facing high latency in more remote areas because of constraints of the underlying network sophistication. Even raising a red flag from one honest node can quickly impede attempts of collusion where groups report artificially low ping numbers 7).
Moreover, the reward miners are entitled to, can be entirely made up from transaction costs from users which initiate transfers from this same space. Hence making local spaces self sufficient. Given local demand from users, establishing a new network node there becomes profitable. This scales from a hundred people in the same building to a one man show in the Sahara of Africa. In the latter case, the user could easily claim this unoccupied space but then has to be her own miner at the same time. Therefore receiving exactly the same amount of reward that is used to make a transaction 8.).

Overall, this Proof of Location and Connectivity facilitates the very public good every cryptocurrency runs on: communication networks. It is utilitarian and egalitarian at the same time in that each corner of the world is open for profitable conquest as long as users are present who actually make transactions.

Of course it could just be thought of as a gimmick to location aware games. However, if this idea bears fruition it might elevate any cryptocurrency's use case and proliferation of a unified highly performant internet onto another level. Any thoughts welcome.

Footnotes

1) In the emerging privatized banking scene of the US, exactly these properties were subverted by moving gold faster from one bank to the other than the auditors were able to travel.
2) Except quantum stuff
3) Given that it has not access to a superior network coexisting to the TCP/IP based internet and colluding peers on the same coexisting network. Eventually, this would contribute to a faster and more reliable network again.
4) Maybe the average of the top quartile or proven network quality measures.
5) Jitter problems and consensus on sampling time window needs to be solved. But since every node is concerned with keeping track of time in ms accuracy, an accurate reference time can likely be established on the network.
6) Claims could also include more sophisticated volumes such as polygons to avoid predetermined boundaries and therefore artificial placement of competing miners in the centers of such cubes. If a threshold of competing miners is crossed, the volume is simply split. This works down to any accuracy the nodes will report their location. I.e, in a densely populated city, several spaces would cross the city but none of them occupied by an insurmountable number of miners.
7) Similar to the challenge-response protocol mentioned here: "proof of treachery" (http://bitcoinstats.com/irc/bitcoin-dev/logs/2012/07/18)
8.) Probably, you want to keep an inflationary reward to maintain some baseline participation. E.g. this reward can be issued per km^2.


Addendum: Sybil Attack Conundrum

If verification involves weeding out noisy data sets however, e.g. with a gaussian distribution, possibilities for sybil attacks creep in. This is the case with latency data, as well e.g. seismic profile data. Since it becomes easy to forge directly neighbouring nodes with little effort by running your software twice, spoofing IP addresses and adding some figures to your genuine pong response times.
One way people try to tackle this problem is to extract honesty metrics with with sophisticated statistic methods, e.g. EigenSpeed (https://www.usenix.org/legacy/event/iptps09/tech/full_papers/snader/snader.pdf). Although, what I grasped is not yet convincing.
The most straight forward approach to curb spawning sybils is requiring a proof of stake (of currency), Slasher like, in addition. Then, one would have the perfect model of expansive capitalism. Currency is invested to nodes with which they compete in yet uncontested space. Much to think about but definitely appealing big time.
benjyz
Full Member
***
Offline Offline

Activity: 140
Merit: 107


View Profile
April 17, 2014, 10:20:21 AM
 #12

very good insights. I would note that hashing power accumulates in several distinct locations (data centers). The more geographically distributed mining would be, the more it would be owned by different people. unfortunately we can't just require that. imagine a reward that declines the more you mine from one location. miners would make the effort to open up new data centers, but this activity would be unprofitable, so that new miners could make more.

thinking about these things I find very fascinating, also because historically currencies were tied to geography / population, and there are good reasons for that. my idea of proof of location was a replacement for proof-of-work, or perhaps augment proof-of-work. essentially each of the describe segments (what you called cubes) would be tied to the money supply. the more segments get involved the better. one could imagine software for trading between those cubes as well. for example imagine a good being shipped from one location to another tracked by the Internet. each segment has a cost function. so instead of shipping companies you would have a public agent-transport-network. this can applied to just about any productive process.
HCLivess
Legendary
*
Offline Offline

Activity: 2114
Merit: 1090


=== NODE IS OK! ==


View Profile WWW
April 17, 2014, 02:39:05 PM
 #13

Countered by proof of tor?  Grin

benjyz
Full Member
***
Offline Offline

Activity: 140
Merit: 107


View Profile
April 17, 2014, 02:46:19 PM
 #14

mobile phones have GPS and are more widely available than desktop PC's. Bitcoin is kind of a very clever hack on TCP/IP. but showing its limits these days. if 5 mining pool operators validate everything, there not much point in the P2P part anymore. proof of location is one of the approaches which could work. I'm not aware of any other than proof-of-work and proof-of-stake.
dafqok
Newbie
*
Offline Offline

Activity: 30
Merit: 0


View Profile
April 17, 2014, 02:59:39 PM
 #15

very good insights. I would note that hashing power accumulates in several distinct locations (data centers). The more geographically distributed mining would be, the more it would be owned by different people. unfortunately we can't just require that. imagine a reward that declines the more you mine from one location. miners would make the effort to open up new data centers, but this activity would be unprofitable, so that new miners could make more.

thinking about these things I find very fascinating, also because historically currencies were tied to geography / population, and there are good reasons for that. my idea of proof of location was a replacement for proof-of-work, or perhaps augment proof-of-work. essentially each of the describe segments (what you called cubes) would be tied to the money supply. the more segments get involved the better. one could imagine software for trading between those cubes as well. for example imagine a good being shipped from one location to another tracked by the Internet. each segment has a cost function. so instead of shipping companies you would have a public agent-transport-network. this can applied to just about any productive process.

To curb contest of space which is unreasonable, just tie transaction rewards to where they've been initiated. So if you have users somewhere, providing resilient internet access + mining will be profitable (and make sense).

On the spatial partitioning scheme: one could refer to recursive schemes like BSP or octrees. Then, in places of high use, high density of mining and high competition, the space would be partitioned. Much like the self adjusting difficulty algorithm, only tied to actual meaningful supply/demand.
RockHound
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
April 17, 2014, 03:12:02 PM
 #16

Nice work on your research project OP! - there are several intriguing points been made here. I'm just a lowly geologist so not proficient with coding and cryptographic signatures. However, I do frequently sell on Localbitcoins and the geographic data provided (IP, International phone code) acts as another level of security and authentication between myself and clients.

These are regional proxies and our actual location is never disclosed for security reasons akin to that reporter singling out Dorian Nakamoto.

Imagine this scenario; An organized, well funded group monitor larger transactions that pass through the blockchain, extrapolate your IP to GPS location, pay you a visit, forcibly make you transfer Ƀ holdings.

It's a serious issue, would like to hear more  Smiley      
superresistant
Legendary
*
Offline Offline

Activity: 2156
Merit: 1131



View Profile
April 17, 2014, 03:27:27 PM
 #17


This would solve the distribution problem of PoS crypto.

doof
Hero Member
*****
Offline Offline

Activity: 765
Merit: 503


View Profile WWW
April 18, 2014, 11:26:55 AM
 #18

I have been thinking about this idea too.  Would be interested to see what comes out of this thread.
doof
Hero Member
*****
Offline Offline

Activity: 765
Merit: 503


View Profile WWW
April 18, 2014, 11:30:14 AM
 #19

And who needs a project that requires proof-of-location? I don't.
Community based currencies are a big topic, like "Brixton Pounds".   The idea has massive impacts on local economies.  Google prof Jem Bendall, he's the one that got Uni of Cumbria accepting BTC for tuition fees.  Its combining crypto with those philosophies.
dafqok
Newbie
*
Offline Offline

Activity: 30
Merit: 0


View Profile
April 26, 2014, 10:48:09 AM
 #20

This would solve the distribution problem of PoS crypto.

And it would solve it in a way where deployment of stake feeds back to the infrastructure Bitcoin lives on. Or to put it other words from a private discussion I've had:
Quote
... Problem with the PoW schemes is that it creates solely a self-referential scarcity. Meaning, that only if you act within the boundary of the one blockchain, competition for finding nonces is scarce. It does not tie into the scarcity on which cryptocurrencies really depend to begin with. Namely resilient P2P connectivity. This is what proof of location + proof of connectivity does. Regarding the IP abundance. Yes, IP addresses are not scarce, hence they are not suitable to base incentives on. The whole game is IP connectivity + location and the anti sybil attack methods ...

By now, there was no theoretical argument which discards the proposed protocol. If issues under footnotes 4) 5) and 7) are addressed, it can be practical as well. What we'd need is further discussion from guys with hardcore implementation knowledge for sure. Probably this should go into the technical board, OP/Mod?
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!