The Living Thing / Notebooks :

Decentralized nets

Also mesh nets and other things that people will mistake for blockchain

Perhaps you live in a jurisdiction where political speech is censored or substantially manipulated, and you want communications to function without a single point of failure for the state to target. Aside: Who, today, does that not described? Serious question.

Or maybe you just don’t want centralised surveillance of your friendships.

Ideally I’d like to find robust ways of participating in the internet bidirectionally, in non-real-time, without assuming the internet is plugged in and working.

For unidirectional stuff, see offline internet.

The Web as we know it is not especially well suited to this, so this might be a hard sell to Joe Suburbia, but I imagine not so bad for Indonesians with smartphones or others in the internet badlands, say, Reza Desakota.

Contents

What follow are some sneakernettish decentralised forums/ social media for people who worry that their favourite social network might be politicall censored by state power or corporate manipulation.

BitTorrent

The classic; not really great for live and updating documents though.

Scuttlebutt

André Staltz explains one such social media alternative, called scuttlebutt (which, to be precise, is shorthand for a complex ecology of pieces making up the “scuttleverse”, most of which, as a consumer, you can ignore.)

Scuttlebutt is decentralized in a similar way that Bitcoin or BitTorrent are. Unlike centralized systems like PayPal or Dropbox, there is no single website or server to connect when using decentralized services. Which in turn means there is no single company with control over the network.

However, Scuttlebutt differs from Bitcoin and BitTorrent because there are no “singleton components” in the network. When accessing the BitTorrent network, for instance, you need to connect to a Distributed Hash Table [for which] you need to connect to a bootstrapping server [and] still depend on the existence of ISPs and the internet backbone. Also, those systems are concerned about public information. For instance, with Bitcoin, each peer stores the entire log of all transactions ever sent by anyone.

Secure Scuttlebutt is also different to federated social networks like Mastodon, Diaspora, GNU social, OStatus. Those technologies are not peer-to-peer, because each component is either a server or a client, but not both. Federated social networks are slightly better than centralized services like Facebook because they provide some degree of choice where your data should be hosted. However, there is still trust and dependency on third-party servers and ISPs, which makes it possible for administrators of those to abuse their power, through content policies, privacy violations or censorship.

In Scuttlebutt, the “mesh” suffices. With simply two computers, a local router, and electricity, you can exchange messages between the computers with minimal effort and no technical skills. Each account in Scuttlebutt is a diary (or “log”) of what a person has publicly and digitally said. As those people move around between different WiFi / LAN networks, their log gets copy-pasted to different computers, and so digital information spreads.

What word of mouth is for humans, Scuttlebutt is for social news feeds. It is unstoppable and spreads fast.

Hmm.

Docker image/sanity check/tutorial.

The main backend bit is the distributed data store scuttlebot. On top of that you run user-facing apps like patchwork, which is a user forum thing.

Retroshare

Retroshare is…

  • A Decentralized Social Sharing Network designed For the People with no dependencies on any corporate system or central servers.
  • Make strong crypto useable for the average computer user, have strong crypto in daily communication.
  • The right to have secrets. You decide who can receive information. Hide information from intelligence agencies and spying companies.
  • Freedom of speech, no censorship.
  • Independence from corporate systems and centralized servers. Central services might shut down or change their terms of services at any time. Do you remember Myspace? Or German Studivz? Remember when Facebook changed their terms of service? Skype being bought by Microsoft?
  • Free software. Only free software can provide free and secure communication. Developers can read Retroshare’s source code and verify the security.

Features chat, voice and video, offline mail, file sharing, distributed search, forums and compatibility with TOR, and sneakernet everything.

Beaker

Beaker is based on the dat protocol for data sharing. It sounds like zeronet but a bit less shaky, if not better designed for real use cases.

Create and fork websites directly from your computer. You control your data. No blockchain required.

Create peer-to-peer websites

Create and share websites for free, with no advertising and no third-party services, directly from your device.

Visitors to your site rehost your files automatically on the peer-to-peer network, so you don’t have to pay hosting costs.

Fork websites and applications
Live creatively with open-source web applications. Any peer-to-peer website can be copied to your device to remix, remake, and reshare.
Share files secretly
Your recipient downloads your files directly from your computer. Only people who know the site’s URL can decrypt and download the files.

They also have pointed blockchain-mania snark:

We quickly ruled out the blockchain variants (Bitcoin, Ethereum, Namecoin) as the core network model of Beaker for the following reasons:

  • Proof-of-work and global ledger distribution are inefficient. So far, blockchain networks have struggled with throughput as they scale. Betting on a blockchain includes the risk that throughput may decrease over time, and/or that users will be forced to download large datasets to participate.
  • The requirement to use global consensus on all transactions results in a direct costs for operations in the form of transaction fees. We know that many network operations do not require global consensus, and therefore a blockchain makes a poor default for applications.
  • We believe Proof-of-work is wasteful, and we have ethical reservations about the expenditure of resources to sustain PoW. At this time, Proof-of-stake is still an unproven alternative, but we are interested in its potential.
  • We have concerns over governance models. By investing decision-making in miners, the blockchain networks have given power to the entities with the most mining resources. […]

Entertainment value aside, whilst I do find this model elegant, it, for now, works only for rich nerds with desktop computers and time to replace their nice corporatised internet with horrible ugly experimental broken DIY internet It doesn’t work on smartphones, so the people with the most tenuous internet will not use it and it will not take over the world. I don’t think the founders would claim otherwise; they are all about proof-of-concept. Perhaps some future iteration might change stuff?

Retroshare

Retroshare is…

  • A Decentralized Social Sharing Network designed For the People with no dependencies on any corporate system or central servers.
  • Make strong crypto useable for the average computer user, have strong crypto in daily communication.
  • The right to have secrets. You decide who can receive information. Hide information from intelligence agencies and spying companies.
  • Freedom of speech, no censorship.
  • Independence from corporate systems and centralized servers. Central services might shut down or change their terms of services at any time. Do you remember Myspace? Or German Studivz? Remember when Facebook changed their terms of service? Skype being bought by Microsoft?
  • Free software. Only free software can provide free and secure communication. Developers can read Retroshare’s source code and verify the security.

Features Chat, Voice and Video, offline mail, file sharing, distributed search, forums and compatibility with TOR, and sneakernet everything.

Zeronet

Zeronet promises “Open, free and uncensorable websites, using Bitcoin cryptography and BitTorrent network”.

I am not convinced yet by this promise because it looks especially hacky. But YMMV.

How does it work?

  • After starting zeronet.py you will be able to visit zeronet sites using http://127.0.0.1:43110/{zeronet_address} (eg. http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D).
  • When you visit a new zeronet site, it tries to find peers using the BitTorrent network so it can download the site files (html, css, js…) from them.
  • Each visited site is also served by you.
  • Every site contains a content.json file which holds all other files in a sha512 hash and a signature generated using the site’s private key.
  • If the site owner (who has the private key for the site address) modifies the site, then he/she signs the new content.json and publishes it to the peers. Afterwards, the peers verify the content.json integrity (using the signature), they download the modified files and publish the new content to other peers.

This bittorrent thing doesn’t sound as nice as Beaker’s dat-based one.