Introducing the Dweb

Introducing the Dweb

The web is the most successful programming platform in history, resulting in the largest open and accessible collection of human knowledge ever created. So yeah, it’s pretty great. But there are a set of common problems that the web is not able to address.

Have you ever…

  • Had a website or app you love get updated to a new version, and you wished to go back to the old version?
  • Tried to share a file between your phone and laptop or tv or other device while not connected to the internet? And without using a cloud service?
  • Gone to a website or service that you depend on, only to find it’s been shut down? Whether it got bought and enveloped by some internet giant, or has gone out of business, or whatever, it was critical for you and now it’s gone.

Additionally, the web is facing critical internet health issues, seemingly intractable due to the centralization of power in the hands of a few large companies who have economic interests in not solving these problems:

  • Hate speech, harassment and other attacks on social networks
  • Repeated attacks on Net Neutrality by governments and corporations
  • Mass human communications compromised and manipulated for profit or political gain
  • Censorship and whole internet shutdowns by governments

These are some of the problems and use-cases addressed by a new wave of projects, products and platforms building on or with web technologies but with a twist: They’re using decentralized or distributed network architectures instead of the centralized networks we use now, in order to let the users control their online experience without intermediaries, whether government or corporate. This new structural approach gives rise to the idea of a ‘decentralized web’, often conveniently shortened to ‘dweb’.

You can read a number of perspectives on centralization, and why it’s an important issue for us to tackle, in Mozilla’s Internet Health Report, released earlier this year.

What’s the “D” in Dweb?!

The “d” in “dweb” usually stands for either decentralized or distributed.
What is the difference between distributed vs decentralized architectures? Here’s a visual illustration:

visual representation of centralized, decentralized, and distributed networks
(Image credit: Openclipart.org, your best source for technical clip art with animals)

In centralized systems, one entity has control over the participation of all other entities. In decentralized systems, power over participation is divided between more than one entity. In distributed systems, no one entity has control over the participation of any other entity.

Examples of centralization on the web today are the domain name system (DNS), servers run by a single company, and social networks designed for controlled communication.

A few examples of decentralized or distributed projects that became household names are Napster, BitTorrent and Bitcoin.

Some of these new dweb projects are decentralizing identity and social networking. Some are building distributed services in or on top of the existing centralized web, and others are distributed application protocols or platforms that run the web stack (HTML, JavaScript and CSS) on something other than HTTP. Also, there are blockchain-based platforms that run anything as long as it can be compiled into WebAssembly.

Here We Go

Mozilla’s mission is to put users in control of their experiences online. While some of these projects and technologies turn the familiar on its head (no servers! no DNS! no HTTP(S)!), it’s important for us to explore their potential for empowerment.

This is the first post in a series. We’ll introduce projects that cover social communication, online identity, file sharing, new economic models, as well as high-level application platforms. All of this work is either decentralized or distributed, minimizing or entirely removing centralized control.

You’ll meet the people behind these projects, and learn about their values and goals, the technical architectures used, and see basic code examples of using the project or platform.

So leave your assumptions at the door, and get ready to learn what a web more fully in users’ control could look like.

Note: This post is the introduction. The following posts in the series are listed below.

About Dietrich Ayala

Dietrich Ayala is a developer advocate at Mozilla, the non-profit makers of the Firefox web browser, where he's been working for internet freedom and shipping open source software to hundreds of millions of people for over a decade.

More articles by Dietrich Ayala…


22 comments

  1. Paul d’Aoust

    Super excited for this series. I hope you’re going to do Holochain, IPFS, Secure Scuttlebutt, and DAT!

    July 31st, 2018 at 13:03

    1. Rapnie

      And don’t forget to sprinkle in some ActivityPub :)

      August 1st, 2018 at 02:56

  2. Linus

    Problem is that dWeb most likely will fast become illegal, pushed by big corporations. The world is run by small people with big wallets. And a movement of good-doing devs will not have a chance against fat wallets.

    My prediction is that it will start with propaganda. Headlines that say “Is dWeb here to stay? No says experts” and “Dweb is riddled with security issues”. Making potentional users unsure. And if that will not kill it they will start the “Making this sh*t illegal” campaign. Probably taking all p2p traffic with it. Because Control = Money + Power.

    Sorry, you said no assumptions but this is just my prophetical prediction.
    I hope I am wrong.

    August 1st, 2018 at 01:06

    1. rtz

      The big companies would also introduce illegal content deliberately, as they do with torrent.

      August 2nd, 2018 at 04:18

    2. PBSLuvr

      It is with a heavy heart that I agree with Linus. It wish it were not so.

      August 5th, 2018 at 13:50

  3. Kristian Nygaard jensen

    How do I subscribe to future posts in this series

    August 1st, 2018 at 01:16

    1. Dietrich Ayala

      There’s a category RSS feed: https://hacks.mozilla.org/category/p2p-web/feed/

      You can also subscribe to the MDN Developer Newsletter which will likely have links to these. The entry is on the main page: https://hacks.mozilla.org/

      August 1st, 2018 at 09:22

      1. zakius

        would be nice if it worked out of the box in our browsers
        oh wait

        August 2nd, 2018 at 07:28

      2. Angelica Perduta

        subscribed, and thanks for those links

        August 2nd, 2018 at 09:00

  4. Oli

    I assume you’re going to cover ZeroNet? :)

    August 1st, 2018 at 07:30

  5. Lorenzo S

    Wow! Super nice! IPFS All the way!

    August 1st, 2018 at 08:14

  6. reagan Gibbs

    Distributed networks are the next step in our bumpy evolution towards true intellectual freedom, and perhaps physical freedom as well as any good definition of freedom has to include financial freedom or the opportunity to attain it.

    But remember,

    You are fighting some basic human instincts. Humans cleave to hierarchy tenaciously as a means to prevent others (or groups of others) from cutting in line. People are content to keep their place in line as long as they believe their turn will come. Creating distributed networks as the single way to disseminate information will only happen once we assuage their fears of someone taking their piece of pie.

    I hate the philosophic/metaphoric tone of my post; but the topic is so huge I don’t know how else to convey the info without going on at length.

    Distributed networking is not simply a technical challenge, it is a social/cultural/political one as well. I am truly happy Mozilla supports this kind of a future.

    August 1st, 2018 at 08:47

  7. zoobab

    HTTP implies a client and a server, just change the protocol to something that is fully p2p.

    August 1st, 2018 at 08:59

  8. Michael

    Looking forward to new blog posts!

    Played around with some dApps on the EOS Blockchain. It is such an interesting concept to play around with, sadly I don’t see mainstream adoption happening anytime soon.

    August 2nd, 2018 at 01:27

  9. rtz

    It would be nice to also have this as a portable protocol agnostic library with a known interface like sockets, or that overrides the existing syscalls like good ol’ tsocks. That way, virtually any program will support it natively.

    August 2nd, 2018 at 04:47

  10. Jeff Stephens

    Looking forward to this series! With the evolution and adoption of cross-cloud containerization and a serverless mindset, truly distributed systems are ripe for implementation.

    August 2nd, 2018 at 07:42

  11. Angelica Perduta

    What they seem to be doing with distributed initiatives like Tor is to blacklist the gateway IP addresses. I blogged about it here https://melahi.online/wordpress/2018/07/31/bit-ninja/

    August 2nd, 2018 at 09:06

  12. Gagan

    Please cover Maidsafe too. They are building a very cool technology.

    August 2nd, 2018 at 13:12

  13. Interested reader

    I hope this means IPFS. I would immediately switch to Firefox if it would have support for IPFS.

    August 2nd, 2018 at 22:15

  14. Christian

    It would be good if you can cover all of these: ZeroNet, IPFS, DAT/Beaker Browser, Blockstack, Maidsafe, and FreeNet.

    August 3rd, 2018 at 11:47

  15. Derick Eddington

    Great initiative! Please cover Holochain and IPFS. I’m not too worried about the inevitable political and mass-adoption hurdles. A large minority adopting the “radical” dweb will still be quite large nowadays. We don’t need to convince everyone. While the corruptos might be able to slow us down initially, they can’t stop us if we keep at it.

    August 10th, 2018 at 15:09

  16. Strypey

    I know there’s no consensus on this, and there may never be, but for me the most useful way to use the various terms is:
    * centralized: any system that depends on a single control centre (eg FB)
    * decentralized: any system that doesn’t depend on a single control centre
    – federated: a decentralized system using a P2P networks of servers, each providing one of more clients a gateway to the system (eg email, XMPP, BitTorrent [if you count trackers], Diaspora, Matrix, ActivityPub)
    – distributed: a decentralized system using a P2P network of clients, each of which also acts as a server (eg SSB, BitTorrent [if you don’t count trackers] BitCoin and other crypto-token systems, Twister, BitMessage).

    Before anyone points me at the classic graph, the one that uses “decentralized” where I propose using “federated”, I’m aware. But that graph is not gospel, it’s someone’s proposed definitions, just like these ones are. The word “decentralized” was being used in political discourse long before that graph, and before the internet, particularly (but not exclusively) by anarchist writers. The definition they used is closer to the one I propose, and many people seem to find arguments that “distributed” is *not* “decentralized” counter-intuitive.

    August 28th, 2018 at 02:43

Comments are closed for this article.