Goodbye Trust Zone Program. Hello FOAM Testnet

FOAM is a Proof of Location technology for applications needing secure location services. It enables a handshake between the location service providers and the user, proving the user’s location. Terrestrial radios and time-of-flight algorithms are used to perform localizations, and digital signatures ensure the location data cannot be spoofed. The system is completely independent of satellite-based location services like GPS.


tldr; The goals of the Trust Zone Program have been met. Proof of Location has successfully been tested in many geographies. Existing Zones have become part of a testnet with cryptographic signatures. Onchain proofs are the next step ⛓🫧📡

Introduction

In Spring 2022, we announced the FOAM Trust Zone Program (”TZP”), a permissioned beta-testing program focused on stress-testing FOAM radios (”Zone Anchors”) in various environments and configurations to learn more about the limits of the technology. This program was designed for early, qualified stakeholders aligned with the mission of the protocol, to contribute to defining and refining features. After about a year in action, we’re happy to call this program a success! In addition to testing our radios, we’ve formed close relationships with key partners and learned valuable lessons. We look forward to the next phase, focused on bringing Proof of Location onchain, with exciting announcements to follow.

Trust Zone Program ✅ 🏁

With the help of our Zone Operators in the beta program, we’ve logged hundreds of hours of testing in a multitude of environments, ranging from extremely rural wide-open spaces to the densest of city blocks and everything in-between. The high level goal of the beta has been achieved: replicate the localization results in different geographies that were previously proven in our Brooklyn Zone. Zones were setup and tested across the U.S., in Spain and in New Zealand. Some Zones were temporary, while others are highly active and expanding. Along the way, we formed close-knit relationships deploying and testing with key partners including wireless ISPs, universities, and committed enthusiasts. We look forward to continuing to build these relationships, as FOAM’s success critically depends on them.

Testing Overview

Beta testing for the program meant running an array of experiments and configurations. These included simple radio visibility tests, which test the ability of the Zone Anchors to send and receive arbitrary data-packets over-the-air (OTA), as well as more advanced “Static” and “Dynamic” experiments. In Static Experiments, Zones localize Zone Anchors (i.e. their “static” locations). These experiments are less practical from a real-world perspective, but can be automated daily and nightly, allowing us to accumulate historical troves of experimental localization data. That Zone data is then used to glean insights on the performance of the hardware and software, spot issues with the Zone and to run simulations, among other things.

Static experiment being run. Black dots represent GPS location as a benchmark, and colored dots represent the FOAM-calculated locations. Compared with Dynamic Experiments, we expect much lower accuracy in Static Experiments since fewer Zone Anchors are being used to localize.
Static experiment being run. Black dots represent GPS location as a benchmark, and colored dots represent the FOAM-calculated locations. Compared with Dynamic Experiments, we expect much lower accuracy in Static Experiments since fewer Zone Anchors are being used to localize.

Dynamic Experiments involve Zones localizing a hand-held mobile transmitter moving around the Zone. This is where things are fun. Beta-testers walk, bike, or drive around their Zones to localize themselves as they move through space and time. Note that we use GPS location as a benchmark for accuracy comparison purposes with our FOAM-calculated locations, but the core value proposition of FOAM is not enhanced location accuracy - it’s location assurance with cryptographic signatures.

Dynamic experiment being run in San Diego Zone. GPS and FOAM location dots overlapping, indicating FOAM at parity to GPS
Dynamic experiment being run in San Diego Zone. GPS and FOAM location dots overlapping, indicating FOAM at parity to GPS

New Features Tested

As we successfully implemented new core features to our stack, we rolled them out to beta Zones for testing. Some examples of these new features include cryptographically-signed (OTA) radio packets, IPFS/IPLD storage, and a transition from short-duration “Experiments” to continuously running Zones. These add important qualities, such as authentication, verifiability, and always ready Zones, each of which are critical additions that set the stage for an onchain and production-ready network.

Authentication. For cryptographically-signed OTA radio packets, we opted to use the same signature and hash schemes as Ethereum. We consider our project to be a physical extension of Ethereum connecting attested location data to smart contracts, so we try to stay as compatible as possible with the Ethereum ecosystem and its standards. Now, Zone Anchors and mobile transmitters use keccak256 to hash and secp256k1 to sign packets before sending them over-the-air (OTA). This also means nodes have public key identities, which can easily become Ethereum/L2 addresses in the future. Upon receiving the signed OTA packet, the other Zone Anchors in the Zone use the OTA signature to authenticate the message, via ec-recover of the public key from the sender’s signature. What matters for localization is the packet’s metadata - timestamps - but what matters for authentication is the packet’s data - signed payload.

Radio packets are now over-the-air (OTA) cryptographically signed
Radio packets are now over-the-air (OTA) cryptographically signed

Verifiability. FOAM’s protocol generates a fair amount of data, especially in this test phase. Storing all this information onchain would be extremely expensive and unnecessary. Thus, we opted to integrate with IPFS, which we chose not only because it’s decentralized with fairly solid tooling, but also because IPLD stores data in a deterministic way with content addressable IDs (CIDs). Integrating this with FOAM means other entities in the system can easily query input (time-stamped radio - “pseudorange”) data and verify that output localizations were calculated correctly. A cool bonus fact here is that FOAM Zone Anchors now double as IPFS clients.

Always ready Zones. Another core new feature we tested with beta Zones represented a move from the concept of a discrete and time-limited “Experiment”, such as a Static or Dynamic Experiment, to Zones continuously running. This is critical for a real-world functioning Zone, to be always-on and ready to localize. In this mode, the Zone sits idle listening for radio broadcasts from a mobile transmitter requesting a “Presence Claim” (i.e. proof of location). When the Zone receives a request, Zone Anchors attest to witnessing the message by signing and gossiping it. They also come to consensus on whether they all heard this request, and who it originated from (in the form of the mobile’s node public key).

Mobile Nodes. Once Zones were installed and operating effectively Dynamic Experiments involving Zones localizing a hand-held mobile transmitter moving around the Zone were enacted. At the beginning of the program, full fledged Zone Anchors were being used as mobile nodes, which are impractically large to carry around. The Foamspace team began work on a hand held preassembled LoRa transmitter platform with off the shelf components and a 3D printed enclosure for participants to test with. Since, the team has begun work on a product version of the mobile node that can connect to and be controlled by a smart phone over bluetooth.

Lessons Learned

Zone Onboarding & Operators. One major takeaway is that building the do-it-yourself (DIY) Zone Anchors is actually quite easy. It’s finding the 4 right locations that have line-of-sight, certain distances and infrastructure availible that is the hardest. It also takes some work, and sometimes re-work, to install the Zone Anchors and antennas in positions that are conducive to the highest quality localization results. Forming an initial Zone is not as easy as strapping an antenna on your roof or in your apartment window. Professional deployers and Internet Providers that have access to high locations with infrastructure including power, internet backhaul, or masts readily available in these early stages have had the advantage.

Zone Limits. A critical and often-stated objective of the program has been to “stress-test” our core radio hardware and software, to learn their limits and spot opportunities for improvement. We certainly stress-tested some Zones, testing distances upwards of 2km, urban areas with various line-of-sight obstructions, and by testing during the coldest and hottest months of the year in quite extreme environments (even in forest fires 😨). The learnings here are vast, and point us in various directions for improvements and upgrades. As an immediate outcome, we’ve already made a big overhaul to our Zone Anchor firmware focused on modularizing the various radio software packages.

Radio Upgrades. Learnings from the program reinforced the need for more powerful radio hardware, which is a need that will soon be filled by our plug-and-play radios we’ve shared photos of previously. They are not only easier to setup, but also designed with a custom PCB and hardware accelerators for this specific use case. Additionally the enclosures have been designed and tested extensively for weatherproofing and heat dissipation. (Shout out to our partner Pensa for recently winning an award for their design of those enclosures 👏.)

We love crypto. A final takeaway from the program was that our community cares most about the intersection of web3, specifically the Ethereum ecosystem, with secure location data. People want location data onchain, and they are waiting for the FOAM protocol to provide it. Over the past 2-3 years, we’ve been mostly focused on the radio/location side, building and testing custom hardware and software from the ground up. It has not been easy, and although there is still a ton of work that could be done on that front, we’re more excited than ever to start getting back to our onchain roots.


What’s Next

Now that we’ve completed basic stress-testing and are experimenting with features well beyond the scope of the initial Trust Zone Program, we are officially moving to the next phase! Say goodbye to the Trust Zone Program, and hello to a Physical Testnet. These beta Zones together represent a continuously running physical test-network.

With this new beginning, we’ve shifted our focus back to our roots on the blockchain side and have quietly been building our own devnet and Proof of Location smart contracts. Soon, our physical testnet will be coupled with an onchain equivalent. Announcement coming in a subsequent post! 👀 Together, these components will bring us closer to realizing the complete vision of onchain Proof of Location for Ethereum.

Get Involved

We continue to remain open and welcome to new beta Zones via our application waitlist, which we check regularly. If you meet the core requirements listed below for participating in our network at this stage as a Zone Operator, please reach out via our waitlist or by emailing coleman@foam.space with your location coordinates or addresses.

Requirements

  1. A minimum of four outdoors locations, where radios (12” x 10” x 5.5”) and antennas* (~12-36”) can be installed

  2. Visual line-of-sight between at least four locations

  3. Distance of approximately 100m-2000m between each location

  4. Stable power supply,** such as GFCI or power-over-ethernet (PoE+)

  5. Internet available (e.g. cellular LTE, WiFi or Ethernet)

*Radios use open, unlicensed Industrial, Scientific, Medical (ISM) band of the radio spectrum, to send and receive transmissions. Hardware uses LoRa, a low-power, long-range radio technology.

**Supply voltage of at least 12V required with max current ~600mA. Average power consumption is 0.15 kWh per day.

Subscribe to FOAM
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.