3 ms·
Disclaimer: I'm creator of a mesh network, or a decentralised, anonymous 'reddit' called Aether.[0] [1] I'm probably biased. The main problem with these networ
by rolleiflex 12y ago
Disclaimer: I'm creator of a mesh network, or a decentralised, anonymous 'reddit' called Aether.[0] [1] I'm probably biased.
The main problem with these networks is not the declining user interest per se, it's rather that they are by their own nature, a) very hard to engineer, and b) almost impossible to monetise. The engineering effort required to make a decentralised network reach resilience (and visible uptime) of the most basic Rails web app on Heroku is orders of magnitude away from just hosting it.
For A, Decentralisation is a cruel mistress; every assumption you will make about computers connecting to your network will slowly fall apart as you move deeper into the architecture, engineering and design of your services—that makes it a fascinating challenge as much as a hard one fortunately. On the more unfortunate side, you eventually end up with cases that require you to entirely reëngineer your stack to provide for them; and not providing them access is philosophically against the democratic access decentralisation offers. For starters, anything higher than C/C++ is probably a non–starter, a lesson I learned the hard way. My own work is built in Python and getting it to perform adequately well on even most medium–grade computers has been a challenge. Distributed network means distributed loads, and there is a significant amount of computers who aren't able to pull their own weight on the Internet, especially in the developing world.
It also means that you'll be bogged down with a lot of platform support issues, small bugs etc.
For B, there are two issues. The first issue is that in a decentralised network it's almost impossible to target a specific person or entity to pay if you're not willing to create an exception for yourself (i.e. all computers able to call your servers, and consequently in absence of your servers the network goes down) but if you're willing to do that, you can just make it into a traditional system in the first place, and you just made it both subject to your whims, and as fragile as any other centralised service. That's a no-go.
Beyond this, the moral imperative is that you shouldn't be charging for a service that doesn't cost you money to maintain. For additional services, sure, but you still need to figure out how to attach an additional service without which the core network continues to function.
In general, it's a massive engineering task that isn't lucrative, and the effort required to maintain and keep functional increases exponentially as the network scales. For me, I'm stuck at packaging the new version for the last few months because PyInstaller doesn't like the way I split Aether into two applications—and you end up with these corner cases nobody on the entire Internet has ever encountered before. There's no Stack Overflow for that. It's fun, but it's also tiring.
[0] http://www.theverge.com/2013/11/27/5150758/aether-aims-to-be-a-reddit-for-the-privacy-conscious http://www.theverge.com/2013/11/27/5150758/aether-aims-to-be...
[1] http://www.getaether.net http://www.getaether.net
- bdickason 12y agoQuestion: If you assume that at some point (until it becomes ubiquitous), the mesh network must connect to existing broadband providers for bandwidth, how could you avoid charging? I'm not suggesting profiting off of users, but rather covering the bandwidth costs incurred by each user in the network. In theory, the costs approach zero over time (once density is reached in each distribution of nodes), but surely some monetary transfer is ok.
- rolleiflex 12y agoAether is not a full-fledged mesh network in that sense, it still relies on an existing IP connection between the nodes. But in cases of full blown mesh networks, there needs to be 'exits' from the mesh to the normal Internet, and those points would cost money to run. In that case, though, those exits would be clearly identified, i.e. not fleeting interstitial nodes on the mesh network, and you could direct payment to them. The problem arises when you try to transfer money from a mesh node to another, not from a mesh node to a known location (the exit).
- bdickason 12y agoAgreed. I'm approaching this thinking that the exit points can be backbone providers and we could build simple software to enable users to pay for the bandwidth (to the exit) that they've utilized. Connectivity within the network would be free and we could even place peering points at the exit to reduce outbound bandwidth. Then it just becomes a question of incentivizing users by consistently driving down costs (in theory) to promote density of nodes.
- rolleiflex 12y agoYes, this could be an intermediary state between a full–blown mesh network which everything is fully peered, and a fully centralised network such as today's Internet. It all depends on everybody carrying their own weight, though, and of all, that seems to be the farthest away concept so far. Phones and other mobile devices are consuming an increasingly sizeable chunk of the pool and those devices are barely able to connect and to their work, much less work for others due to battery restrictions, which are ultimately bound by the laws of physics. This is also the reason Aether will most probably never have a mobile version. Not until they finally make nuclear fusion work, and compact it enough to make batteries with it! Shame, for I would love to see it happen.