This week, Iterative Capital hosted Foam.Space CEO and co-founder Ryan King. In this recorded transcript, Ryan talks to host Lauren Stephanian and Head of Research Leo Zhang about the purpose and implementation of his team's "proof of location" system. Listen to the interview on Soundcloud here.
Hello, everyone. Welcome to another episode of Iterative Podcast. Today, we have our emcee, Lauren, as well as Ryan from FOAM.space.
Hi, I'm Lauren, the host of this podcast. I have over a year of experience consulting on technical blockchain projects for both large corporations and small startups raising ICOs. I also have experience in software dev and venture capital.
Great. I'm really happy to be here. My name is Ryan, co-founder of a protocol called FOAM, which is building proof of location for the blockchain.
Cool. Just a little bit about Iterative Capital, we are a cryptocurrency service provider started in 2016. We have a proprietary fund and over-the-counter trading desk, as well as a mining operation. My name's Leo, and I am the director of a research at Iterative Capital. Today, we're going to discuss FOAM space. Ryan, tell us about yourself, as well as your interest in the space. How did you start FOAM?
Sure. We actually started FOAM three years ago, in 2015, coming from the background of architecture, economics, urban development. We were really interested in how can you take values of space, whether that's data like Foursquare check-ins or actual equity in a building and capture it on the blockchain. That's basically where we began working on the project.
Who's on the core team at FOAM?
So the founders of FOAM are myself, my co-founder Katya, who's the chief creative officer, and our CTO is Kristoffer. Kristoffer has a background in geometry. He was working as a geometrist for Norman Foster and Partners Architects in London, working on things like the Apple campus. He was one of the first employees of Consensys and he worked on the Haskell client.
We met about three years ago, with my other co-founder, Katya. We were architects applying for these competitions here in New York City and we were winning them because we were proposing to give out tokens to people who came or we would make the actual installation out of the miners and capture the heat.
We started working together and thinking about how do you put space on the blockchain? What does the blockchain mean for space, even to the point that these miners need heat, they need warehouses, they need locations. Eventually, we realized there was a real need for proof of location to really build all these other ideas.
I was reading one of Kristoffer's blog post where he noted that, according to the United Nations, 70 percent of the world is unaddressed. Could you possibly tell me about what's available in terms of geolocation services and standards today, and what are the vulnerabilities?
Yeah, great question. Everyone probably thinks location is a solved problem, because GPS works, and we open our phone, and we all have addresses and you don't really think about it. Space is actually encoded in a certain format. It could be like this building's (address). That's a location. We can find it through that encoding. Another one would be latitude and longitude, which could be really long and confusing.
A lot of the undeveloped world--they don't have these formal registries or systems of postal addresses. Because of that, how do you get aid? How do you call for a package to be delivered? How can someone easily find your location? That's kind of an open problem. There are proprietary solutions, because before blockchain, you either could make an open standard--and you can't make any money off of it, so it kind of fizzles out. Or, you make a closed-off system to try to solve this problem and charge people fees.
There's a company called What3words. It takes a three by three box of land of the entire earth and generates three words for it. Like, monkey, cucumber, banana, would just be a point in the desert somewhere. Every single three by three area has a location with a really easy-to-remember name, so you could order something. That's great, but you also have to pay for it. It's a proprietary model.
We saw an opportunity in that there was no location in coding standard for blockchains. Smart contracts were using latitude and longitude in one system. We see another proof of concept, they use an address system. They now can't speak to each other about space. We saw a way that you can do essentially the same thing what3words is doing, but make it an open standard, and allow it to be something that some more contracts can adopt. We've proposed the crypto-spatial coordinate as this location in coding standard, but very much also in the sense that it's also time to start a conversation and see what the needs are for the standard, and how it can evolve.
How does proof of location work? Can you explain that to me?
Sure. Proof of location is about “can we come to consensus on if someone was verifiably at a certain place or time, and can they produce some sort of authenticated certificate proving that?” We currently today don't really have many proof of location systems. It's a real need. What that means is, with a GPS, I can find out my location really easily, but I can't send a message back to the satellite asking it to cryptographically sign my message of my location.
What that also means is, because we don't have this proof of origin of any sort of GPS signals, it's trivial on the client's side to just lie about your location. There's plenty of apps in the app store you could download called GPS spoofer, where you just, for developers, even, they make up their own locations to test out different things. We saw people like in Pokemon Go just lying about their location, making scripts so their character could run around the city. It's very easy just to lie to a computer system about your location because there's no authentication.
If you start to think about blockchains and smart contracts in the real world, such as a Pokemon Go on the blockchain, or something more serious, like supply chain, or anything that involves a location input--there's value attached to a smart contract, so any smart contract that would need a location input to autonomously execute. If we don't have secure location verification, people will just lie about their location to get whatever money is locked up in these contracts.
I was curious, what is the hardware component? We heard a little bit about LORA.
Yeah. First off, we're designing the protocol to be radio agnostic. It works through a time synchronization protocol that's Byzantine fault-tolerant. It allows nodes in a system to synchronize, self-stabilize, and determine its own geometry without an external input like GPS. That's just like a time sync algorithm. Then, we've been really working on the token economics of how we can get the system incentivized, and media-centralized, and set up.
Then, that said, it's like, what will the hardware actually be? We're agnostic, but the one that we're most excited about is called LORA, which is a low-power, wide-area network radio that goes up to 15 kilometers and has a like 10-year battery life. We're excited about that because it can work with this use case and synchronize and provide triangulations off of that. It's only about three years old and there are eight gateways covering New York City right now, covering the whole city, just run by amateurs. Other cities, such as Zurich, have 100 gateways. There's basically 1000% coverage in Zurich, because there's just all these people. If we can launch with this compatible hardware, you already have the node operators out there.
And what drives the token economy, here?
In our case--our token--the optimal utility is to bond it and stake it to participate as a validator or a verifier, and not necessarily to be moving around a lot. It has a low velocity. You want it to basically be this entrance fee to participate in the system, like a safety deposit that you could lose if you were found faulty, or you're acting malicious. The only way, then, to be able to accept fees for your services is when they want to pay a zone that's in a area for a presence claim that they want to produce, they could pay this with anything--a stable coin, Ether or our token.
That's really interesting. With proof of location, what kind of attacks are you anticipating? What kind of attacks do you guys are still trying to solve?
Yeah, great question. I think there are a ton of really interesting attack models and distributed, wireless sensor network systems about, primarily, lying about your location, enlarging your location. That's why we have so strictly said that we need a Byzantine fault-tolerant time synchronization protocol and that we require, basically, time of flight, because time of flight is one of the most rigid time synchronization protocols you can use, because it requires synchronized clocks. You can do trilateration, which, with multilateration, you don't need as such strict synchronized clocks.
Basically, that reduces one of the only attack factors to enlarging your distance, like, that you're further away than you said you were, or vice-versa, something like that. That's one attack vector.
Presumably, with proof of location, you have to ensure that times are very accurate, right? Are you worried about Ethereum transaction times?
I am worried about Ethereum transaction times or just general latency of the system, but on a local level, the entities are communicating over radio. We're worried about the latency of the messages getting across over radio waves. The entity asking to get a message in is also over radio. The local zone is keeping their log, a state machine that they vote on, very likely can be using something like Tendermint to keep consensus on the log. They're just voting about the system. That's a really instant finality blockchain. That data is being produced really quickly.
The latency part of Ethereum is how long it would take for this verifier to pick up this data, check it, and post it back on the public Ethereum chain. If you needed this presence claim verified in a matter of seconds, yeah, I'm kind of worried about the scaling. We think if you needed it within a matter of minutes, all that kind of could go through.
Okay. I also read a little bit about the crypto-spatial coordinates. Could you possibly explain those a little bit more for me?
Yeah. This is what we touched on earlier about that we came up with this idea of a standard to encode location. What that standard is that we proposed is an immutable way for a smart contract to make a claim to a location, and also get a location identifier that is human-readable, short, and memorable, potentially.
One of these open standards that is trying to solve the same problem what3word iss--but what3words is charging a fee--called a geohash. This was made in 2009. It's basically a way to make a very short identifier out of a very long latitude-longitude of up to any precision you want. They'll just generate this identifier key.
What we did is we take that and allow any smart contract address, which is also unique, to make a claim to a geolocation with a geohash. Out of that, you get a deterministic, new identifier, which is a crypto-spatial coordinate. From this crypto-spatial coordinate tag, you can deterministically determine what the smart contract address is and what the location is. You can verify this on and off-chain. You could look on-chain at the address and see that it has this encoding. Then, potentially, if they're making a claim to being there, you could go there and check it.
This is something any contract could inherit, this proposed standard. You don't need any FOAM-specific token, and ideally, any and all use cases will use this encoding as just a shared standard. If you use this crypto-spatial coordinate encoding, you can be picked up by our API for our spatial index web app, which is a front-end visualizer that basically we imagine a mashup between a Bloomberg terminal and Google Maps, where you can actually visualize these economies on the blockchain, but visually, and laid out visually as such, because they have coordinates attached to them. Out of this visualizer we built, you can basically visualize any sort of smart contract on a map.
How granular does it get, the proof of location?
Yeah, we're targeting a 10 meter accuracy. Ideally, like four, like GPS is up to four meter accuracy. The interesting part is, there are not any field data results about this. The highest number of deployed LORA gateways in any city is 98, like I said, in Zurich. I don't think any of them are testing localization. The only test I've seen is like a max of like 40 gateways. They got it like four meter accuracy. Other ones said like sub-10 meters definitely possible, but the problem is that the system would become too expensive. No one's actually built it. That's part of the incentive model here, where you actually could incentivize people to set up these nodes. There's a lot of room for experiments to see the optimal layout or node count to get even more accurate.
What are some use cases you see as being really interesting?
For proof of location, I think the most interesting or most high-security nature is in mobility, especially when you think of autonomous cars, if you have a Byzantine fault-tolerant real-time mapping of a deployed fleet, that's a shared standard across industries. In IOT, we don't have any trusted IOT today in non-blockchain scenarios. It's all like their centralization.
For any of these IOT data market blockchain projects we see, none address data provenance. I can buy your data very easily now with a token, but can I have some kind of authentication where this data came from? That's where we see the biggest need. Especially in supply chain, all of these industries are racing towards adopting blockchain, and none have considered secure localization or location verification.
There's also tons of really exciting, fun, creative apps we see that are going to take off, especially like geofencing based on augmented reality games, a decentralized Foursquare that's tokenized in reputation. Even stable coins, people are trying to make some massive, stable coin for the whole world. You can adjust spending based on a certain area. Yeah, we think there's a lot of creative potential in DApps, as well.
Image courtesy of Pixnio.
Mar 14, 2019
Feb 4, 2019
Nov 16, 2018
May 11, 2018
May 1, 2018
Apr 16, 2018
Mar 16, 2018
Mar 14, 2018
Feb 28, 2018
Jan 30, 2018
Jan 25, 2018
Jan 17, 2018
Jan 15, 2018
Jan 9, 2018
Jan 8, 2018