FreedomNode - old

From My Wiki
Revision as of 20:46, 21 April 2012 by imported>Charlesnw (moved FreedomNode to FreedomNode - old: No longer accurate. We are separating the compute and radio portions)
Jump to navigation Jump to search

The FreedomNode is the foundation of the Free Network technology stack – a device that will allow neighbors to communicate with one another directly, without need for a paid service provider. We think of it as the ultimate sharing machine, allowing you to privately store, selectively distribute and globally publish a wide range of materials, using a variety of connectivity options.

Lets start with the user experience, and from there we can seek to understand the technical aspects. For the time being, we’ll talk only about the experience of the node as a standalone device, and exclude the (likely) possibility that some users will boot the software on existing machines. The node presents a uniform interface across client devices using HTTP(S) – a collection of stylesheets allow the interface to adapt successfully to a wide array of different screen resolutions and input methods.

In simple terms, you interact with your node by opening a browser – any browser – and navigating to your node’s address. That address can be a global name such as a user-owned DNS entry, or a third-party subdomain such as username.fnf.tel, or, from the same local network, a local address, such as ‘https://mynode’. Alternatively, the node can be accessed from its unique IPv6 address.

Navigating to the address of a node prompts the user to authenticate. This is done using the F-Pass system. F-Pass is the key to trust and addressing on the Free Network – tying together x.509, PGP, IPv6, and secure, one time passwords.

Once authenticated, the user is presented with a main menu that provides access to all of the essential functions of the node. Icons exist for Blogging, Microblogging, Planning (like plans.txt on Unix or GrinnellPlans), Mail, and an A/V Center (photos, music, video, and files). An additional icon leads to a list of contacts, with a final icon leading to system settings.

Users can be organized into aspects, with a ‘Neighbor’ aspect generated automatically for those with whom you can communicate without need of an Internet Service Provider. From the contacts page, a user can access the blog, microblog, plan, or shared media of another user. Users have precise control over who can access each piece of media on their node. Sharing is encrypted by default, anonymized when desired, and opportunistically peer-to-peer – that means that we all cooperate to move each others’ messages, when it is possible, rather than paying a professional bit-mover


Now that we’ve established what the node is designed to accomplish, let’s talk about its actual design. At the core of the FreedomNode is a small-form computer, designed to run continuously for years on end. The computer’s onboard capabilities can be expanded with USB mass storage, and miniPCI radio modules.

On bare metal, the node will run genode, a novel GPL operating system architecture that allows for true fault isolation and tolerance. On top of that, a lightweight debian install will be used to ensure long-term package support and stability. The user-facing services run on top of Debian, powered by a collection of existing open-source daemons and tools. These services benefit from the tight integration of a unified interface and a unified authentication and identity management system.

Add to that the ability to communicate without using the telco’s wires, and you’ve got a truly disruptive piece of tech. The Byzantium Project has built a solid foundation for mesh communications – their routing scheme (based on the babel protocol) will be integrated with nodal services so that local traffic never has to leave the neighborhood network. There is much to do, but we aim to have the FreedomNode ready to release in 18 months or less – join us now, and help us build the greatest tool in the liberation technology toolkit.