FOAM Location Update


#1

This post is to serve as a comprehensive update on the FOAM Location progress and direction of the project. Over the past months we have been heads down prioritized on building, designing and testing the architecture of new FOAM radio hardware and software, described below. Further we have been focusing on recruitment and team growth, adding an additional electrical engineer, two software engineers, a business strategy position as well as expert academic consultants in time synchronization and localization as well as leading programmers in FPGA’s, which are now a part of the new Zone Anchor prototype. With this updated design, outdoor testing has begun at our New Lab headquarters along side meetings with a number of companies about participation in pilot projects across the Brooklyn Navy Yard.

Our previous demo at ETH New York featured an end-to-end blockchain enabled radio system, which included time synchronization over proto-zone anchors, local Tendermint consensus based blockchain logs and a plasma implementation for connectivity to the Ethereum root chain.

The goal of this end-to-end prototype was to demonstrate the core architecture of the protocol by processing and validating a Presence Claim over radio and have Presence Claim data make its way securely from radio logs to Ethereum. This demo used commercial-off-the-shelf LoRa transceivers to articulate the design, where a time synchronization protocol is implemented. This demo focused on the end-to-end flow over localization because the resolution provided by off the shelf LoRa transceivers is not sufficient for the protocols needs. That said, localization is derived from time difference of arrival on the time stamps, which are in the Tendermint based logs in the demo. Localization needs to be computed and to do so in that setup would need to be done from those logs off-chain. From this demo, base work on the time sync protocol, tendermint consensus, scaling side chain solutions complete and will be iterated on. The next step we focused on was localization software and new hardware architecture.

From the end-to-end prototype, we have been designing the next version of a Zone Anchor that utilizes a Field-Programmable Gate Array (FPGA) and a Software Defined Radio (SDR) for precision time-stamping and running localization algorithms on the board itself. This entails building custom printed circuit boards (PCB) with the components we want to utilize and include for computational and cryptographic capabilities beyond a single off the shelf LoRa radio.


FOAM custom LoRa enabled printed PCB

The current FOAM hardware (Zone Anchor) consists of a RF transceiver that’s capable of communicating with other anchors, as well as localizing simple devices that utilize the LoRa protocol (Location Customer). It has the capacity to communicate over LoRa as well as as a backhaul (WiFi, Ethernet, 5G etc). It speaks a custom protocol between anchors that is implemented on a CPU with additional cryptographic primitives on an FPGA. The same FPGA also runs custom filtering and localization algorithms on the pure radio signal to enable localization and time-stamping that’s beyond the in-built capabilities of the LoRa chip. Together, Zone Anchors form a FOAM hybrid mesh network.

FOAM Location is designed as a protocol to provide a specific service on fault tolerant time synchronization and secure location verification. As we move into the next decade a problem plaguing all technological endeavors, in particular blockchain scaling based ones, is the end of Moore’s Law. The long-held notion that the processing power of computers increases exponentially every couple of years has hit its limit. On this topic professor emeritus of the University of California, Berkeley, David A. Patterson states:

It’s conventional wisdom among computer architects that the only thing we haven’t tried is domain-specific architectures. That idea is relatively simple: It’s that you design a computer that does one domain really well, and you don’t worry about the other domains. If we do that, we can get giant improvements.

The Zone Anchor is a domain specific architecture (DSA) that aims to be a fully open-source software and hardware platform for high-precision localization of radio packets. By focusing on this fundamental use case the result is a new alternative value add service to GPS for location verification, a need many are increasingly becoming aware of, “Ghost ships, crop circles, and soft gold: A GPS mystery in Shanghai ”. The architecture builds on a novel solution of LoRa hardware and SDR on top of FPGAs with a System on Chip running Linux. The reason for a DSA is more than just the bandwidth and computational requirements for the signal processing. We’re building a completely open-source software and hardware solution in order to radically be able to build out a network of devices that is truly independent of any specific vendor. The blockchain and localization software continue to be radio agnostic with the option of exploring alternative to LoRa. This FOAM Software defined radio additionally fits into the FOAM stack for advanced front end and dashboard capabilities.


Overall FOAM Location System Architecture

As the LoRa radio itself has only been on the market for about as long as Ethereum has been live there have been recent advances in microprocessing that further enable a Domain Specific Architecture for FOAM Location. For many years, engineers and researchers have used FPGAs to build prototypes that were very expensive and required high power consumption. Advances in FPGA technology have made them a viable option for making low-cost, low-power consumption, high-performance systems and tiny FPGAs are growing in popularity. FPGAs are hardware devices that allow reconfiguration of their internal logic gates which enables one to trade off general computation capabilities for increased performance on specific workloads

Writing FPGA code is a lot more challenging than writing software. FPGA code is developed by writing program-like text in a special kind of language, generically called a "register transfer language" (or RTL). As we have documented previously, FOAM’s Ethereum development stack was developed in house to make use of advanced safety and security features offered by modern functional programming languages like Haskell and PureScript. Keeping with our commitment to Functional Programming languages and philosophies we are programming our FPGAs in a language called Clash. Clash is a functional hardware description language that borrows both its syntax and semantics from the functional programming language Haskell. It provides a familiar structural design approach to both combinational and synchronous sequential circuits. Clash is built on Haskell which provides an excellent foundation for well-typed code. Together with Clash's standard library it is easy to build scalable and reusable hardware designs. We are excited to be working directly with the authors of this language on the FOAM implementation.

Another exciting development FOAM Location will utilize is the maturity of RISC-V and the rise of open-source hardware computing.

The instruction set architecture (ISA) of microprocessors is currently owned by Intel and Arm, which are proprietary and have heavy licensing fees for use in designs. In the IoT and microprocessor space, ARM dominates the market. The past year has seen a boom in chips made using an open source ISA called RISC-V, available to anyone, anywhere, and is free. Companies such as Google and Samsung are part of the RISC-V foundation and NVIDIA and Alibaba have started to roll out products based on this open source architecture this year.

The RISC-V ISA allows us to start with a clean slate and optimize designs for new workloads, ushering in a new era of silicon design and processor innovation through open standard collaboration. This open source approach to silicon has many benefits. The RISC-V Foundation writes:

  1. Unlocks architecture and enables innovation since RISC-V is a layered and extensible ISA, companies can easily implement the minimal instruction set, well defined extensions and custom extensions to create custom processors for these new and innovative workloads

  2. Reduces risk and investment via leverage of established and common IP building blocks with a growing set of shared tools and development resources with an engaged development community.

  3. Creates opportunities to create thousands of possible custom processors as implementation is not defined at the ISA level, but rather by the composition of the SoC and other design attributes. It’s possible to go big, small, powerful, or lightweight.

  4. Accelerates time to market through collaboration and open source IP reuse , this not only reduces development expense, but accelerates time to market.

FOAM Zone Anchors can take advantage of these advances for open source and inexpensive hardware. Our current design uses an ARM core but the FOAM Location software is portable across hardware development kits, towards a full custom PCB of the needed components.


MCCI Catena 4710 – LoRa based Feather-compatible FPGA board with RISC-V Core

Most recently we have been hacking on and porting our software to the MCCI Catena 4710, LoRa based FPGA board with a RISC-V core.

Web 3 and Cryptography

Smart contracts, cryptography and interoperability with web 3 are paramount to FOAM Location. The previously demonstrated radio protocol and its implementation as a blockchain application on Ethereum + Plasma. That demo made use of a Plasma side-chain backed by Tendermint and built using the Cosmos SDK. The demo and the ensuing discussions led us to the opinion that while the Tendermint/Cosmos offerings are promising, both the community and FOAM would greatly benefit from a framework that allowed for the development of such applications in Haskell. There are many reasons for this, but we mainly would point to the kinds of value in terms of safety and security that our Ethereum stack adds to the Etheruem developer ecosystem. Additionally, it would enable FOAM to continue to develop FOAM Location on Tendermint with the tools and languages that we excel with.

This work is on going and on track to be complete by the end of this year.

In parallel, web3 solutions are accelerating and the FOAM developer team is deeply integrated into conversations and research with the COSMOS team on the IBC protocol, recently highlighted at the Berlin Full Node meetup A Chain Reaction: Launching an Interchain Interoperability Standard, as well as the Plasma Group on Optimistic Rollups and ZK-Rollups (Optimistic vs. ZK Rollup: Deep Dive) which provide security and scalability solutions as the next stage of Plasma based research that fit into our ABCI architecture and will allow further optimization and privacy around generating, storing and revealing presence claims. We strongly believe in the emerging web3 smart contract ecosystem and FOAM Location is built from the ground up for interoperability. With additional cryptographic primitives on an FPGA integrations and signing messages to the blockchain fast and securely are at the top of mind when designing the protocol. Presence Claims are core to the protocol and privacy preserving features are a top priority and this topic continues to get mainstream attention, “Foursquare CEO calls on Congress to regulate the location data industry / New York City to Consider Banning Sale of Cellphone Location Data


Waterfall Display of time-stamped de-chirped bursts of LoRa signal trains

We are extremely confident and excited in our new Zone Anchor hardware architecture and custom software defined radio. Advanced facilities at our New Lab headquarter provide oscilloscopes, RF equipment and support for product design and pilots we are leveraging. Through extensive design iterations and measurements for decoding LoRa signals, firmware development and thorough hardware evaluation, the time synchronization and localization algorithms are ready to move out of the lab and to field testing, which we have begun within the Brooklyn Navy Yard. Subsequent posts will detail this testing effort and results, as well as share on the Zone Anchor enclosure design and mounting.


#2

extremely exciting!!


#3

wow, very solid progress. i really like the fundamental decisions made regarding OS hardware in the stack


#4

Thank you for the detailed update. You hit a couple of key points that I would like to underline:

  1. Additional resources after establishing the demo worked, are a prudent and necessary expense. Bringing in an EE, and additional software engineers is great and I’m glad to see you made that decision.

  2. Your commitment to FP, and the strengths that a Functional mindset brings is also, incredibly important. Crypto and blockchain are especially unforgiving to errors and bugs, and FP removes a whole class of errors that can effect production applications. I believe that your focus on making the tooling you need will pay off handsomely in increased efficiency and reduced rework, and errors.

  3. That being said, your securing the assistance of the Clash developer is fantastic, it is true that FPGA’s are a whole different category of skills, and I truly believe, your use of a Functional basis for the FPGA design, will deliver here!

  4. The selection of RISC-V also is important to the next stage of general purpose computing. Intel has failed the industry with numerous exploitable flaws in their race to Ghz dominance, and we are still, even today coming to term with things such as Spectre, Meltdown etc that are causing continued degradation in legacy hardware (and today’s machine) due to the patches that Intel is pushing to “fix” the microcode. In some cases the performance hit is so severe that Admins and Developers such as Linus Torvalds are have declared them garbage. This is an insane state of affairs and I’m amazed that there has not been a class action suit to recall the effected chips. I understand fully this is proposition that could cost Intel Billions of dollars, and cause additional costs probably on par with the Y2K remediation.

  5. The web3 ecosystem is incredibly important, and I hope that we can avoid any missteps such as the opensea protocol mismatch we see with the Signal tokens. (and fingers crossed we can address that in the near future as there are some very nice and well placed Signals that have set the flag in the ground and accrued a significant time bonus)

Leveraging existing and proven platforms will enhance synergy, and provide onramps to FOAM. I’m thinking of Uniswap, Compound, and the new DAI (which will support multiple collateral with a base of alt-tokens) which are becoming the tinker-toy and lego building blocks for some incredible services. Uniswap is a simple and well thought solution to the issue of centralized, and controlled exchanges, which we have seen repeatedly are hacked, exit scammed, and really are not what Blockchains were invented to address. Through such a simple idea, these liquidity pools provide frictionless access to liquidity, and do it in a way that incentivizes swaps that are at the true market rate for the tokens.

FOAM has already seen competitors such as Platin, fall by the wayside. " For things to survive, they necessarily need to fare well in the risk dimension, that is be good at not dying, surviving, that type of thing." I see the recent announcement as the ground work required to build our future success. We also must keep our eyes on building a platform that incentivizes the effort and allocation of capital to build the platform that was described in the whitepaper.

Apple and Steve Jobs considered spending $2 Billion dollars to build a wifi network across America that would have powered the first iPhone / iTouch. It was not done because Jobs could not justify that expense. FOAM will require significant capital allocation, and we must align the rewards correctly to get these Zone Anchors deployed. It is a Chicken and Egg problem, the dApps will only come when the infrastructure is in place. The users will only use the dApps when they exist. There are significant opportunities for significant disruption to established and legacy applications that will be rendered useless when FOAM’s ecosystem is deployable; this disruption will reward the early adopters and first movers.

It is very important to realize a balance in FOAM’s ecosystem. Favoring one aspect over another risks crippling FOAM and preventing a harmonious and virtuous emergent cycle for the FOAM token. It is only with a true synergy that we will see FOAM become an engine to generate value for all the stakeholders.

Depending on where you are today, consider your timeframe. We are weathering a down-cycle alt-season. Projects such as FOAM that are building a product, platform and ecosystem will participate in the upswing when alts are back in favor. dPOL is not just a neat trick, it will enable applications that will be needed.