Althea is a system that lets routers pay each other directly for bandwidth, similar to how ISPs peer with one another on the internet backbone. It also incorporates a price-aware routing protocol which sends packets along the cheapest and best paths in a network.
We’ve been working on the Althea governance paper which outlines a platform for creating “subnet DAOs”, blockchain-based organizations which regulate, assist, and promote local Althea networks. Here’s an overview:
The power of decentralization
Althea makes it easy for groups of people and businesses to form local internet access networks, without the network being owned by a single centralized ISP business with all the questions about ownership and management that that entails. Think about it- if there are 4 conventional ISPs in your area, and you are signed up with only one of them, you are only using a fraction of the available network infrastructure. Why? Because existing technology requires that there be one centralized entity with one network for you to pay (unless you are using a free community network, but the lack of money makes these hard to grow and maintain).
With Althea, neighbors can connect to other neighbors, as well as more commercial entities, or even nodes owned by independent entrepreneurs. There’s no requirement for one company to control an entire network to get paid. Every packet follows the most efficient path through the network, and every node is compensated for its contributions to the network. By decoupling compensation from centralized network control, Althea allows for networks that are more redundant, more efficient, and cheaper than traditional ISPs.
We’ve been testing this model in our Clatskanie, OR test deployment, and it has attracted interest from a wide variety of people who want to start Althea networks around the world.
Where is centralized still better?
Centralized networks do still have advantages over the basic Althea model outlined above in a few key ways.
Network promotion: A centralized ISP can devote resources towards promoting their business and signing up customers. In an Althea network, payments go directly to the nodes carrying the traffic. One pattern that we have seen is where a property owner who has a good location for a node (a high rooftop usually) has little interest in going out and finding users to connect to their node.
Network quality control: A centralized ISP is a group of people who benefit from happy customers, since all the money flows through them. If the only payments are for bandwidth, then the only people in the system who will have incentive to hook customers up and keep them happy are people who can expect to sell them bandwidth. There could be a tragedy of the commons where nobody takes care of a network as a whole.
Network security: If one entity controls every router on a network, as is the case with a conventional centralized ISP, then those routers can easily trust their neighbors, and other routers in the network. In the decentralized Althea model, the possibility exists that a router could lie about how good its connection to other routers or the internet is. If there is no factor limiting how many new routers are added to the network, an attacker could even cause routing to grind to a halt by advertising a million fake “Sybil” nodes.
Our solution: Althea subnets
Althea subnet organizations are groups of people empowered to play a role governing Althea subnets. First, let’s review what a subnet is. A subnet is a group of routers who all operate in a common range of IP addresses, and can all route messages to each other. Basically a local Althea network.
Some of the routers in the subnet may have a link to the broader internet. These are known as “gateways”. As long as there are a few good gateways in your subnet, you will have internet access. For this reason, subnets do not necessarily need to be very big. They need to be large enough to connect end users in an area to nearby gateways, but that’s it.
Also, a node can be part of more than one subnet. Most end users will not be part of more than one subnet, but larger nodes that serve end users in more than one subnet will obviously need to be.
Subnet DAOs are decentralized organizations which are empowered to give out IP addresses in a given subnet, and have the option to collect a continous IP address renewal fee from the nodes using these IP addresses. By default, Althea subnet DAOs run on Aragon’s DAO framework, which provides interfaces and contract code for subnet organizers to vote on which nodes to give IP addresses, to appoint other subnet organizers, to manage cryptocurrency and cryptoassets held by the subnet DAO, and many other features.
This system has been designed drawing on our team’s experiences helping run local meshnets. The intended use goes like this: a local group of volunteers, property owners, and entrepreneurs get together to start an Althea subnet in their area.
This group initializes a subnet DAO and adds the members of their group as organizers. Now they can give out IP addresses to people who want to get on the network. They can charge a small fee to each node as well. The fee is paid in the same cryptocurrency that is used bandwidth payments, probably Eth or DAI. This goes to the subnet DAO, and can be used to pay for promotion, meeting space, or other expenses, as well as rewarding the main organizers of the network in the area.
This is important, as it’s common for property owners with good node locations not to be the type to go out and promote Althea, and for people who are good at community organizing and promotion to not own property with good node sites.
Subnet organizers are responsible making sure that users have a good experience on their subnet. This includes helping users get set up, connecting them to hardware installers, making sure they are in range of other nodes, making sure that nodes in the network are behaving reasonably, and stopping attacks on the network.
If they do not do this well, users will complain, and word might get out that it would be easy, profitable, and good to vote them off the TCR.
Decentralized quality assurance: The global TCR
We expect that a lot of the early promotion of Althea will be done by subnet DAO organizers. However, Althea also has a large following of people who find out about it in the media or online, and will need to join a subnet to use the system. For this reason, we need a way to suggest high quality subnets in an area, and to weed out subnets that are providing a bad experience to users.
The global TCR (or “token curated registry”) lets a decentralized network govern a list of good subnets. The TCR model was pioneered by AdChain and has been adopted by many other projects, such as district0x, FOAM, and Civil.
From the Althea governance paper:
Someone starting a subnet DAO can stake any amount of ALGT and be included on this list. Someone who feels that a subnet DAO should not be on the list can put down a matching deposit to initiate a vote to kick them off the list.
If the subnet DAO being challenged loses the vote (because it is known to be blatantly scammy or provide a very poor experience), then that registry is removed from the list, and its deposit is split between the challenger and the token holders who voted to take it off the list.
If the challenger loses the vote, then the reverse happens. The challenger’s deposit is split between the token holders who voted to keep the subnet DAO on the list, and the subnet DAO itself.
Several things can be done with this curated list of good subnets. First, we can use it to populate an online map, or other method for new users to find a subnet in their area to join. Subnets can claim an area of operation. They will then appear to new users entering an address within this area.
If there are multiple subnets active in an area, they will be ranked by amount staked on the TCR, weighted by the size of their claimed area. Subnets with a larger area will have to stake more to have a higher ranking. This is to prevent very large subnets from being able to easily appear at the top everywhere.
Subnets with more staked have more to lose if they perform poorly. Subnets who claim to operate in an area outside the area that their intermediary nodes can realistically provide service will generate user complaints and may be kicked off of the list if they perform poorly enough.
Nodes with standard Althea firmware will not be able to join subnets which are not on the global TCR. This is to stop a bad subnet which is making users unhappy from growing. The organizers could just start another subnet, but it would have to start from scratch and add new users.
What if I don’t like the global TCR?
Althea’s code is 100% open source, under the Apache 2.0 license. We make guides and documentation on how to work on the code and flash routers (aka install the Althea OS) a priority. If you don’t like how the global TCR is being run, you can simply modify the software and flash it onto routers and give them out to people. You could make it so that these routers could join any subnet DAO, even if it’s not on the TCR, or even fork the global TCR if you think it could be run better.
We expect that if the global TCR curation tokens are fairly and widely distributed among people who want to see Althea and incentivized mesh succeed, then the Althea global TCR will be the best way for new users who want cheap, fast broadband internet access to find a local subnet.