Idea: Logos Box

Hi everyone! This post is the result of colliding a ~15 year old idea for P2P networks with the Logos project. Sharing it here; all feedback welcome.

Abstract

This document proposes the Logos Box, a device directly inspired by the Freedombox. It is inexpensive to purchase and to run, comes with any and all Logos/IFT software preinstalled and preconfigured, auto-updates, is extensible and customizable, and is crucially not one of the personal devices that users are constantly powering on and off, instad offering the same uptime as the user’s home internet connection.

Introduction

Since their beginnings, applications using peer-to-peer networking on the open internet have faced multiple hurdles for adoption and success. This document claims that this stems mainly from two important problems:

  • The sheer number of technical concerns that P2P systems need to simultaneously address, and the resulting conflicts in the design space for solutions as a consequence.

  • The accidental difficulties that have been historically imposed in the task of creating and operating a P2P node and thus of one effectively being an economic, material contributor in P2P applications, networks and movements.

From the development perspective, P2P protocol and application specs are forced to assume that P2P node hosts are maximally heterogeneous, which in turn forces specs to cover a large range of possible P2P device QoS scenarios, such as “any” node ID uptime on average in the real, deployed P2P overlay network.

From the user perspective, most potential active members of P2P networks (i.e. average computer users) are not inclined or are actively demotivated when faced with sysadmin, IT, power-user or developer tasks. That is an accidental barrier of entry for the most part and it significantly hinders adoption by draining movement energy.

Both these issues can be solved with the same approach, which is to realize the P2P node or network participation as dedicated hardware operation membership at its core. In other words, parallel to the traditional DIY path to P2P overlay node operation, also allow users to simply purchase an actual, physical device that they can plug into a power socket and that’s essentially their own personal, secure and private P2P node. That simultaneously reduces user work to a minimum, which removes a significant damper on technical and operational participation in the P2P movement and drives the average node uptime on P2P networks closer to the average modern home broadband QoS worldwide (~99% uptime), which unlocks a much better baseline design space for P2P protocol specs and P2P applications.

Related work

The Freedombox project has implemented this idea while mostly focusing on a personal web server perspective, instead of a next-generation P2P network perspective such as that of blockchain-centric networks and movements that include economic and financial liberty via native P2P applications (e.g. Logos/IFT).

Impact in protocol and application design work (Vac)

A recurrent assumption of P2P applications and P2P networking in general is that protocol specs and implementations should not expect anything regarding peer churn or uptime, either individually or as distributed across the whole overlay network. That is because P2P was originally conceived to expect that the bulk of the overlay node software would be run in home user’s personal devices (PCs, laptops) that users frequently reboot, turn off, misconfigure, etc. instead of in dedicated hardware suited for server processes, be these located at the user’s home or in some remote facility run by some hosting business.

That was always the case because most P2P communities were loosely-connected and lacked a clear purpose beyond what a particular P2P application would do. For example, file-sharing P2P networks were mostly centered around the notion that files should be easily shareable, and nothing more. Hardcoding a specific P2P application to an entire P2P substrate has the positive trait of allowing the application itself to provide the P2P substrate with adequate strategies that allow the combined application-plus-substrate monolith to sufficiently deal with a fully heterogeneous network.

That local maximum in the design space has historically blocked progress into more general P2P substrates that could serve multiple types of P2P applications sharing both the same P2P substrate software and in some cases the same P2P overlay network at runtime. Now, drawing strategies at the substrate level for peer churn for example would unnecessarily constrain the possible P2P application space: not all P2P applications can deal with the inability to optimize for a minimum average node uptime at a minimally-sized region of the peer population, for example.

However, if the thrust for general P2P substrates which can run generic (unspecified) P2P applications with a wide gamut of unpredictable requirements is combined with a proper P2P movement, such as Logos, then it becomes possible to mobilize the user base to realize a new usage mode, in particular one that harvests the precious QoS, uptime capability that is already provided for free by the ubiquity of home broadband but that is sadly wasted when the average user is generically instructed by inertia to obtain membership in the P2P movement and the P2P substrate by installing the P2P node software on their powerful, but unstable and frequently power-cycled and installation-cycled laptop or desktop PC.

P2P protocol specs and applications still have to be able to handle heterogeneous nodes with any uptime; peer churn doesn’t just go away. However, new designs become possible when they can assume that nodes with 99% uptime exist and are actually plenty and relatively easy to find across the overlay. For example, various protocol or application designs that would require multiple point-to-point connections for fault tolerance at the overlay link level can now work by instead scanning the peer table for a single node that has been exhibiting stability and just connecting to that single node, which results in a much simpler protocol or application.

Although uptime improvement is by far the most impactful improvement for protocols and applications, there are other benefits as well. For example, light and edge nodes such as mobile phones can now more conveniently connect to the P2P network if the owner of the mobile phone also has a full node at home set up. Their own personal full node can relay the requests originating from their personal light node, minimizing information leak and virtually eliminating deanonymization risk at the edge connection, while also simplifying setup and service billing (the latter eliminated since the user’s full node is serving their own edge device).

Impact on the P2P movement (Logos)

The Logos Box is, first of all, an open design. It is ultimately software: a disk image that can be installed into any internet-enabled hardware device, turning any piece of computing hardware into a Logos Box. That means it is a DIY design by necessity.

However, it should be possible to buy a specific Logos Box hardware device (from one or more options) and get it shipped anywhere in the world easily upon a simple credit card payment. Once that plug-and-play Logos Box is received, the user just connects it to a power socket and connects it to the router with an Ethernet cable or via wireless, and performs either no configuration or minimal configuration via a secure web interface, exactly as they would when configuring their broadband modem or router.

The impact of a plug-and-play hardware and software solution to the Logos movement is that of enabling a much more empowering participation narrative. The main theme is that it is maximally inclusive: now literally anyone can materially participate with zero (or near-zero) technical knowledge or technical effort. One just needs money to buy an USB dongle, set-top box or small-form-factor server computer, and a domicile with electricity and broadband.

Affordable and easy membership in a P2P movement can partially or temporarily offset a lack of e.g. direct financial rewards for P2P node provisioning. However, P2P movements in general have historically shown to be able to just coast on idealism and on volunteerism alone. Honoring that fundamental motivation pool with delightful, plug-and-play software and hardware experiences may prove to be enough to trigger mass adoption in lieu of varied economic motivations and mechanisms which can also be considered; evolving commercial models can be left for future work.

In addition, by unlocking a zero-configuration path into being a material contributor to the actual running network, the DIY path stops being the normal expected path and technical hardware and software node builders and operators will be highlighted in the community by contrast. That would be rewarding to technical contributors and thus it would attract more contribution to the movement and grow it.

Features

The actual box product can be designed in various ways and also advertised and described in various ways. Follows some bullet-points that mix both design goals and user stories.

  • Generic and expansible: can contain multiple P2P engines and applications (Waku, Nomos, Codex, …) and can allow the user to add/remove apps over time; can also be set up to automatically add new core apps.

  • Automatic updates: the box can securely update all installed components.

  • Key management: the box can securely generate and hold various kinds of private keys on behalf of the user; the user can authenticate with the box using e.g. SSH or passwords, and the box can do e.g. signing transparently.

  • Key security: keys, node software and applications in the box are not exposed to e.g. inadvertent installation of malware on actively used laptop or desktop PCs.

  • Solve edge device problems: Your e.g. phone has full anonimity, since it enters the full-node P2P network via your Logos Box. Also, the phone app doesn’t need to pay for P2P API access.

  • Self-repairing: it is easy to reset the Logos Box to factory settings (e.g. reinstall boot partition from an installation partition).

  • No noise (fanless), no moving parts, no hardware maintenance.

  • Low energy consumption (but still has residential power draw available to it).

  • Open-source hardware.

  • Easy to configure via browser (authenticated web connection over LAN).

  • Bundled with prepaid and/or preconfigured subscriptions/memberships (e.g. Waku RLN) by including their costs into the purchase price of the device.

Closing remarks

In short, plug-and-play Logos nodes are about energizing the movement with simplified material participation and making the P2P overlay more powerful for the benefit of protocols and applications.

Although the Logos/IFT project could make and ship these devices, another way to materialize the idea would be just as the set of hardware and software standards for a compliant box. In that way, independent groups around the world would actually manufacture, integrate and sell a version of the device to local customers, just needing to obtain a certification that ensures their devices are on par with the Logos box standards. However, there are clear benefits to at least dogfood the first outlet which manufactures, sells and ships devices to users (it would not need to grow its capacity as increased demand could be met by growing a network of third-party providers instead).

Some instantiations of the Logos Box could include software agents (apps) that obtain economic rewards of various kinds automatically by mining or payments for P2P service provisioning, which is relevant to e.g. incentivization systems.

2 Likes

Dappnode?

Yes, a way to describe it would be “Dappnode but for Logos.” E.g. you probably can’t buy a physical Dappnode that already comes with e.g. a Waku node ready to go. Configuring a Dappnode to do that would be DIY.

Maybe Umbrel?

Umbrel could be a good idea! It would cover the hardware part completely, and Logos would package itself inside the UmbrelOS / app store framework. Power up a generic Umbrel node and click on the app store to install Logos.

1 Like

Thanks for the article! I really like the idea :raised_hands:.

It could start with a generic software-only solution that is easy to integrate with existing hardware (RPI, old PCs, etc.). In fact, to simplify things for now, I would begin with a fixed set of RPI models.

The idea needs further development around the user story connecting the smartphone with the appliance. One possible approach is using a web gateway, e.g., logos.io, which can be used to download logo images (for RPI) and also help link the appliance to the smartphone.

It is very important to implement this idea within a narrow scope and target market. For example, initially focusing only on RPIs that can help gamers earn income from their gameplay.

Cheers!

1 Like

Yes! Specifically to the point of a software-only solution, the hardware aspect works initially and mostly to motivate the vision of the software platform and the story underlying it. This is really first of all, and all about, a potential story element to motivate people in the movement: that you construct the Networked State by constructing and animating the P2P network(s) that support the “cloud-level” provisioning of private applications and the communities they serve, and you do that by flashing a ready-made disk image in whatever devices you have and then letting that (independent) device running in your home. Then it’s all about figuring out what exactly is in that image (there could be several distros to choose from, but let’s think of the first one, the default one), which I guess would also include an extension mechanism to allow you to inject extra configurations, components (agents, etc.) that make your node also serve your specific interests and goals and those of the communities you are participating in.

Software-only could carry this project for many years in fact, to the point that you only think about a decentralized network of hardware provisioning when the P2P meshes have crossed a few million nodes in total. So if people can see that that’s how you grow from millions to billions of nodes (at the story, roadmap, vision level), i.e. the million-to-billion is plug-and-play hardware since in that leg “flashing a device” is already too much, then that motivates the global movement to be part of the million-nodes milestone and to actively construct it in the next years by installing software on their own devices (and then doing membership registrations via crypto, generating node and app keys themselves, etc.)

And when one starts to think about that default software that comes in the image, one cannot help but think that it also comes with application-level components such as some kind of game or blockchain or messaging component (when you install an OS, it comes with some games and apps). That is, it comes with applications as well, or at the very least application agents that you can excite by RPC’ing from your actual everyday user device such as your phone or laptop in the LAN: you connect via browser and you start to play with these, and these in turn fire lower-level resource or service requests to the “cloud-level” components. Your node will in any case join P2P mesh(es) immediately when you boot it up, and it will default to “seed,” as it were, the network with P2P routing, etc. even if you as an user are not actively requesting specific applications or services to the application agents that are nevertheless ready to service your own LAN or authenticated requests.

This is all very hand-wavey I know, but it has sparked discussion and excited the imagination so mission accomplished for the post!

1 Like