Hacker News new | comments | show | ask | jobs | submit login
Mozilla and NSF offer $2M prize to decentralize the web (blog.mozilla.org)
255 points by livingparadox on June 22, 2017 | hide | past | web | favorite | 39 comments

CJDNS is a self-organising IP address allocation and routing layer. A node's public key acts as its IPv6 address, and routing uses a DHT of those nodes.

This style of network has the property that you can take two independent CJDNS networks, link them together, and all nodes are mutually addressable/routable. This is in contrast to The Internet, whose addressing is centralised on IANA.

cjdns is moderately active, though most links between nodes are via an overlay on top of the public Internet. The goal is to have physical/wireless links between geographically close nodes.

Use https://peers.fc00.io/ to find a cjdns node geographically close to you.

Decentralized protocols such as ipfs/scuttlebutt work particularly well on cjdns, as a file shared on ipfs in one network, will automagically become available on another network, once those networks are linked.

cjdns: https://github.com/cjdelisle/cjdns

CJDNS + IPFS to me is a grand vision for an idealized, completely distributed web. Combine that with some sort of distributed naming system (Namecoin, etc.), and you have a system that requires literally zero central authorities to operate. You just generate your own IPv6 addresses that are derived from a private key you generate yourself, and it works out of the box with all existing applications that support IPv6. No more IP registries (ARIN/APNIC/RIPE/etc), no more BGP. It's a network that can sustain itself by millions of individuals users routing internet traffic by peering directly with other users and datacenters.

As I understand it, there was some way to de-anonymize traffic to a certain extent (which is still far better than the current situation), and that turned off some of the "purists" which is just a shame. From a practical perspective, even with some issues, getting rid of BGP is more than enough of a benefit.

I can't express enough how brilliant CJDNS is to me, it's really a magical idea. Which is not to say there won't be potential issues (even potentially existentially damning issues), but wow. I'd love to see this project move forward and get more attention. It's the first thing I've seen that really made me think about how we could design a better internet than the one we have today.

FWIW, I'm already happy to just nominate the CJDNS project as a potential winner of this prize, already.

Off topic: Hey Kyle, how are the Supporter Plans working out for neocities? It'd be great to see a blog post about how the sites doing!

I'll get to it soonish. Apologies, been busy this summer. :)

Is the CJDNS protocol written up anywhere so it can be reviewed? I'm curious but don't see any explanation of its operation anywhere.

tomfitz linked the whitepaper for you, and that's a great overview of the basics. However, some things have changed and I'm not sure the docs have updated with what's currently on GitHub.

How does CJDNS compare to Host Identity Protocol?

How does it incentivized nodes to route packets for others?

It does not technically. However, peerings are done manually based on trust/friendship, so misbehaving nodes would get unpeered.

I think the headline here is misleading. What they are offering is a prize to decentralize the internet - the actual network to which people connect in order to use the web. Judging from the other comments here, I don't think a lot of people have actually read the article.

IPFS and blockchain are technologies that are built on top of the internet - they assume a network connection already exists.

> IPFS and blockchain are technologies that are built on top of the internet - they assume a network connection already exists.

I wont speak for blockchains. Call them by the boring name as "Append-only databases with a consensus mechanism on what to add, with a proof-of-something to affirm that work of some soft was done".

IPFS is different. They have already planned that IP4 isn't the next thing. Or IP6, or IP8, and on. They created what they call a MultiAddr that encodes the protocol definition to explain to peers and IPFS what protocol stack to use, and then lay IPFS on top of that.

Obviously when a new protocol comes into play, they add a new multiaddr type for the new protocol, and off you go.

Well, I also did actually read the article, and the contest website and even the explanatory PDF and I took away a different message. It doesn't appear to specifically require that the result is a network connection in the sense of an IP packet forwarding layer. They're looking, I think, for a services-equivalent outcome for temporarily or permanently disconnected communities, one that is at least gatewayed to the Internet. So the term "decentralise" is perhaps poorly chosen, it seems to me they're hoping for application services (probably including web requests) in a disconnected and/or ad-hoc mesh mode.

My gut feeling is that to create a long-term platform (rather than a point solution) we'd have to refit many extant application protocol stacks with CRDTs and reconceptualised crypto. Although for this contest I'd be imagining something less advanced, maybe a drone-based 4G hotspot loitering over communities with a copy of Wikipedia, a camera trained to detect signs of urgent distress, and a store-and-forward microblogging service like some automated Postman.

Someone should call Elon Musk and Vint Cerf about it, too, because I see many similarities between the outcomes for this and the outcomes for the Interplanetary Internet [1] which has been an ongoing research effort for years.

[1] https://en.wikipedia.org/wiki/Interplanetary_Internet

yeah, I think the competition is looking for tech like the one opengarden had, something of a mesh network where people are connected thru bluetooth and wifi (direct), etc.

So something more similar to the Serval Project?


I had the same thought that this is some incentive to prevent big players monopolies with stuff like federated social networks or global distributed search engine without owner. Unfortunately it is only about connectivity to the internet, not only the web.

It can be done. It has been done, many times, from 1980s amateur packet radio to 2000s WiFi meshes. It's not inherently difficult. The hard problem is doing it with enough bandwidth to support cat videos. Netflix, and bloated web pages.

Suppose you had a distributed emergency IP radio network available that could provide 56Kb as long as at least one solar powered node per square kilometer was working. It would deliver VoIP and SMS, plus slow data connections. It would have HF links for long-haul connections even if telco services were unavailable. Who would use it?

FEMA tried distributing HF radios to first responder agencies, as a backup in case everything else went down. They can't even get most agencies to turn them on and talk for a monthly test.[1]

[1] https://www.dhs.gov/shares

What if nodes were incentivized to route traffic for others via crypto currency, e.g. proof of routing. Maybe then you could get real bandwidth.

FirstNet[1] is a national first responder wireless network meant to address this concern. It's predicated on the assumption that network operators have already sunk in money to maintain resiliency in the face of emergencies, thus marrying federal funds with (what is now) private sector wireless infrastructure dedicated to first responders who generally always have and use their mobile phones.

[1] https://www.firstnet.gov/news/firstnet-partners-att-build-wi...

US based only? A pity.

People had a pretty good go at this in the early 2000s, when WiFi arrived on the scene. Most of those networks died and the ones that remain never took over the world [1]. The sticking points in the efforts that I was involved in were:

1) Hassle in obtaining and setting up the hardware (particularly permanent antennas).

2) Lack of density, meaning it was hard to find others to connect to.

3) Address allocation and routing never really worked out, due to the need for central coordination.

I've been thinking about it ever since... Lots of ideas, but no 100% practical solution (yet).

It'll be interesting to see what happens this time, after 15 years of further development.

[1] https://en.wikipedia.org/wiki/List_of_wireless_community_net...

Some of these communities are actually very alive: https://map.hamburg.freifunk.net/

The developers behind Scuttlebutt [0] should apply for this! It pretty much perfectly meets Mozilla's criteria.

[0] https://github.com/dominictarr/scuttlebutt

I am fortunate to consider Dominic a friend (he's slept on my couch, and I have shared beers with him in multiple cities), but I don't think that's quite enough to decentralize to meet the criteria.

I think that the real solution requires caching, lookups, and multiple types of access through fingerprinted (sorry, can't say "secure") forwarding and proxying. It's a big task, but I do think that a small example could be built within the next year.

Heck, even LoRa, with the right software behind it could be a contender, if married to the correct technology.

Hm. That gets me thinking.

This challenge isn't about the web, it's about the internet.

Web centralization is another problem and one I'm more worried about. Google and facebook control so much of it and they are so opaque.

I think the future of the web will be peer-to-peer communication between browsers. When you open a web site, you will join a pool of users who are already on that site. There will be some super nodes, who act similar seeders, and the rest will be leachers. The more you spend time on a site, the more you will become a seeder.

The team working on Lantern/Outernet is working in this area, using a satellite to beam wikipedia to all of the Earth.




The OLPC project using wireless mesh networks essentially addressed these very problems.

Is this just going to be linked? Or does no one care to talk about it

Does this include software or only hardware applications?


Isn't this the problem that Blockstack is solving?

Once again, real life imitates the Silicon Valley show...

I don't know why you are being downvoted... I immediately thought Pied Piper, then had a bit of chuckle. Jian Yang!!!!

Isn't the web already inherently decentralized (of course we all know there are forces trying to create their own walled gardens)? In the end, you just have to make something better that requires decentralization, and then it will win. In this way, the "survival of the fittest" for memes holds.

What's a problem that only a decentralized web can solve?

- Privacy? (Most) People don't care. Irrelevant.

- Security? (Most) People don't care. Irrelevant.


Even Bitcoin and other cryptocurrencies would be irrelevant if it were not for their volatility, resulting in speculation, creating a feedback loop.

I thought the article pretty clearly framed the problem they try to solve as "benefits of connectivity for places and situations that don't have direct or regular connectivity to the internet (and thus no reliable access to centralized services)".

I don't see the relevance of this comment to my original point. Also, why do you need a whole new "internet" to make what you describe (and the article describes) as an offline application?

I keep hearing this "people don't care" argument but this is not at all true. People very much care. It's easy to be in one's bubble and assume that nobody cares because everyone around you is handing out data left and right.

Education and messaging are obviously required to make the general public care but even companies like Slack went through this phase where they had to educate people about the product. But tbh, the real problem is that the solutions just aren't good enough and convenient. Tell me today, what is a good solution for me or average joe to keep all my data to myself without giving it to the big G and at the same time have a good experience sharing it with friends and family? I would love to hear proper solutions.

For example, people would _love_ to use firefox for privacy and security reasons but they aren't because firefox is not good enough compared to chrome.

Are you actually disagreeing with me? If people cared the product would be good. The lack of a good product reflects the apathy. As for your question, the two are inherently at odds. People prefer the later to the former. That's my point.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact