Many people have asked me over the years about combining a mesh network with a blockchain and a crypto-currency (e.g. a “meshcoin”). This could provide a reward for sharing internet over a community network. I’ve gathered all my thoughts about this here, and listed what I think are the major problems with this idea.
Both mesh networks and blockchains are decentralized. The idea to combine mesh and blockchains seems to be based on this abstract “decentralized” notion, not any clear idea how this could possibly work. What I think people mostly mean is combining public wifi access points with an app-based micro-payment system (not necessarily mesh or blockchain). Basically if people are rewarded with payment they would be encouraged to install more routers and maintain their network. People that use this network would pay them a small amount per Mb, or for time and quality of connection, or a set monthly fee. All of this would be automated somehow, or a payment made with a simple login app. Another approach is each router trades for bandwidth and the owner of the router gains or loses money.
Creating a blockchain incentivised network is a particularly difficult thing to do because it means combining software, hardware, infrastructure and a critical mass of users. I’ve been hearing about blockchain proposals for over three years, and never seen a prototype, so it seems (sorry to say!) like perpetual vaporware. I have seen a lot of whitepapers.
The hardest thing about building a typical community network is the social aspect. So how will this blockchain based network build from the first router to a complete network? A mesh network really needs density before it is useful, so it can be a chicken and egg problem.
A micropayment/reward system doesn’t have to be crypto-currency or blockchain based. Bitcoin micropayments are now impossible with bitcoin transaction fees, so maybe other theoretical crypto “payment channels” need to be used. It is also possible that the rewards be more like reputation points in a social network, or points in a game. “Gamifying” or social points actually seems more realistic than cryptocurrencies.
The router the user connects to is at the end of a line of routers connected to a gateway. Typically there are two or three “hops” to an IXP gateway node. This IXP “supernode” should really get most of the payment, as it has rent to pay for being on the roof, as well as connection charges. So the first node gets the payment and uses that to pay its gateway node and that node pays its gateway node and that node pays the “supernode”. Since a mesh network is dynamic, this could be very complicated.
If somehow people were paid in alt-coins the early adopters may benefit from coin deflation. This could also be an early incentive to help the network grow. It also sounds like a ponzi scheme and these “initial coin offerings” (ICOs) will be probably be outlawed soon.
People expect public WiFi access points to be simple and free, and costs are only going down from here (lower than free? User gets paid?). Why would they download an app to sign on? Why would they pay anything? Any implementation will need to be extremely easy to use (“low friction”) and better than other free services.
Most people now get data via their phone. Bandwidth for phones is increasing soon to gigabit speeds. It is getting harder for wifi to compete. People are cutting their cable and replacing it with tethering or portable hotspots from phone companies.
How are these meshcoins used? Someone that has shared a lot of bandwidth will only accumulate coins with nothing to spend them on, unless some future economy or exchange is developed.
Proof-of-work: A router can’t do “mining” or proof-of-work. Routers barely have enough CPU to function as a router. Would proof of “work” be proof of sharing bandwidth? How can it be done in an algorithmic unhackable way?
Measuring Mb: It is difficult to monitor each router to record how much bandwidth has been shared and used. For privacy, this should be done without knowing who the users are, and what they are doing with their bandwidth. A big problem is how do you know these packets aren’t faked by someone trying to be paid, or that the routers are real and not virtual.
With Ethereum you could have a smart contract that moves meshcoins from the user to the sharer for the time connected. How exactly would this work? Seems like a lot of hand-waving.
NYC Mesh routers are open and all members agree to our license (NCL). This makes it impossible for us to convert the existing nodes to a closed micro-payment system.
Some of the many people trying to do blockchain + mesh
Fon was a very large network that did this basic wifi sharing idea, and then gave up. It is important to figure out why they stopped, as this is about the only example of someone doing this. You can learn a lot by studying failures.