Since winning the IOTA Flash Channel competition a couple months ago, we have had many people reach out to us asking about how to get involved, or just expressing their excitement for the project! This feedback has really validated our belief that an alternative, decentralized network is valuable for society. Yesterday we had a great time sharing our work at a Meetup here in Seattle. Here is an update of some things we have been working on:

Guiding Principles

There are a plethora of choices that one needs to make in the design and architecture of any new system. We are designing Fognet from the ground up following a set of principles that we believe will make Fognet a relevant and usable technology for people around the world.

Lightweight. Creating a system that is low-bandwidth and low-energy is our primary goal. Our vision of Fognet is to empower communities that may not already have access to wireless infrastructure, such as rural villages or inner-city neighborhoods. To this end, our goal is to power Fognet routers from battery or solar, making the system ready for deployment in low-resource environments.

Creating a system that is low-bandwidth and low-energy is our primary goal. Our vision of Fognet is to empower communities that may not already have access to wireless infrastructure, such as rural villages or inner-city neighborhoods. To this end, our goal is to power Fognet routers from battery or solar, making the system ready for deployment in low-resource environments. Open-Source. Fognet is built upon a wide variety of open-source technologies, from Arduino to React to our Bluetooth stack. We will be keeping much of the Fognet stack open-source as well. If you are front-end developer looking to get started working with IOTA, check out our open-source component react-iota

Fognet is built upon a wide variety of open-source technologies, from Arduino to React to our Bluetooth stack. We will be keeping much of the Fognet stack open-source as well. If you are front-end developer looking to get started working with IOTA, check out our open-source component Accessible. Fognet should be accessible by anyone, without the requirement of owning any special hardware. IOTA micro-transactions can help to make Fognet an open network that only requires a small amount of IOTA tokens to get started. Also, our work on the Fognet application builder interface will help create a dynamic ecosystem of Fognet apps that anyone can take part in, without needing to know how to code.

New landing page: fognet.world

The new Fognet landing page tells the story of the technology and principles behind it. This website is the first step toward creating a community of developers, makers, designers, and mesh network enthusiasts to help get Fognet ready for production deployments. If you like to make things and are interested in getting involved with Fognet, feel free to reach out to us through the form on the website!

Hardware development

After much experimentation with Bluetooth Mesh, we have realized that the technology is actually not scaleable enough for Fognet. Under the hood, Bluetooth Mesh uses a “flooding” protocol where messages are passed to all connected nodes, and ignored if they are not intended for any particular node. Routing is implemented as a second layer on top of the core mesh. Although Bluetooth Mesh is 100% decentralized and very resilient, it simply takes up too much bandwidth to be practical in a data streaming scenario.

We are committed to creating a system that lightweight and low-energy, so that nodes can run off battery or solar. To that end, we have been exploring another mesh network protocol called OpenThread, which was originally created by Nest Labs, and is now completely open-source. OpenThread uses a lightweight implementation of IPv6, so routing is built in to the protocol. The Thread specification also includes a well-defined role for “Border Routers”, which can serve as gateways from a local Fognet onto the regular internet.

We are still using Bluetooth Low Energy as the means of interacting with the Fognet from a client device. We are happy to see that our favorite Bluetooth chip manufacturer, Nordic Semiconductor, has recently released an updated version of the chip that we used in the first prototype of the Fognet Router. The chip (nRF52840) can run BLE and OpenThread simultaneously, which is perfect for our use case. Our current incarnation of the Fognet Router prototype is using this chip, along with the Tessel 2 development board (because we love Node.js).

Software

The data throughput of protocols like Bluetooth and OpenThread are obviously a lot lower than WiFi. Fognet may never be as efficient for certain use cases (like binge-watching Netflix), but our intention is not to replace the entire internet infrastructure. As stated above, our primary goal is to create a lightweight network that can be deployed in low-resource areas. The most essential functions of the internet, such as messaging, posting information, and discovering educational resources, do not always take up very much bandwidth. The bulk of data retrieved when loading a page (like Wikipedia for example) is not the actual page content, but the HTML, CSS, and Javascript that renders the page in your browser. Much of this code (such as frameworks, fonts, css libraries, etc.) is duplicated across many thousands of pages on the web, and downloaded over and over again by client devices.

We plan to cut out a lot of this bandwidth usage by creating a web development system where the code lives locally on the Fognet router, and is rendered for your client device through a set of configuration instructions. These instructions will be generated by a Fognet app builder interface, where anyone can create a unique layout, theme, and style for their Fognet application. Fognet applications will have a wide variety of components available, including IOTA micro-payment wallets and storefronts, so that anyone can take part in the decentralized economy that Fognet will enable.

Interoperability

The biggest challenge that Fognet faces is adoption. There is no point of setting up a Fognet router if you are the only one in your neighborhood to do so. Our solution to this issue is to find a way to make Fognet applications interoperable with the regular internet. We have been building out some concepts using the Masked Authenticated Messaging IOTA module, which enables many of the same features that Fognet will make possible. Data published to a Masked Message stream can be encrypted, and shared only with the people that you choose to give access. This enables data privacy, secure permissions, and of course decentralized marketplaces. The first iteration of the Fognet platform will be compatible with either a Fognet mesh, where content is served from local routers, or with Masked Messages stored on the global tangle.

Although the core Fognet implementation is our first priority, we will also be working on applications that can function immediately on the tangle, and one day run on the Fognet. We are most excited about use cases that allow anyone to sell their creative works online, whether that be music, writing, digital art, or educational content. The dynamism and energy that already exists in creative communities around the world is not reflected in the current generation of apps and websites for creators, and we look forward to building new ways of connecting people with Fognet.