↑ Decent Update
↑ Decent Invite

Decent Details

Your Own Social

January 10th 2017

By 2012, much of the conversation had moved to Twitter. Speaking now, [Evan] Williams sounds contrite about this centralization, from many news sites and blogs to a single platform. “In general, structurally, it’s probably bad if all our media and communications are going through services that are controlled by profit-driven corporations,” he says. Source

That up there's a photo of @ev (Everett Bogue) writing on what turns out to be a dry-erase board on the wall in the room in which I work. (He usually works in the kitchen.) It was Sunday when I realized it'd been there all along. Here's how that happened. Everett was all, 'wish we had a whiteboard to go over this,' and I pointed to the wall in the room and said it appears to be a whiteboard and I think there's a store nearby that sells erasable markers. He said, 'yeah, but it's Domingo so they're probably closed.' I said we can go check. So, we braved the smog (the neti pot is saving my life right now -- a little warm, salty water poured in one nostril, coming out the other. Not pretty. The smog is even less pretty) and indeed, there were erasable markers.

Then we returned and went over, with visuals this time, what the two of us have been working on for a year as of next month. Three if you count the initial discovery of Dominic Tarr's cyphernet -- worth the read.

But first, let's take a look at the current state of profit-driven, centralized technologies Evan Williams referenced in that top quote

Yahoo is selling its main operating business as a way to separate that from its more valuable stake in Chinese internet giant Alibaba. [...] Yahoo co-founder David Filo and Mayer will be among those resigning from the board, according to the filing. Source

Some news from the tech world: Yahoo! Inc just filed to change one half of its name to 'Altaba' and the director resigned. Medium is laying off 1/3 of its workforce. Technology whether we love it, hate it or wish it would go away forever is with us. How about we harness it instead of letting tech run our lives? That's what I've been about for ages.

Now, consider a solution to that. Let's take the hand-sketched graphic up top one piece at a time.

Starting with the head.

Scuttlebot Daemon

Daemon. Not to be confused with 'demon.' It's the thing that starts the process. If it were a car it'd be the process that happens when you put the key in the ignition and start the dirty hamsters* running in the loop that makes the car run.

The daemon tells sbot it's time to get to work replicating the information on the append-only log called secure scuttlebutt. In the picture it's the square that says 'scuttlebot daemon' with an S poking out of the top of the center of its head.


Secure Scuttlebutt

The next block down is the thing that makes sbot work. It's the secure scuttlebutt client. It's the 'guts' of the thing. It's the secure replication bits. It's where the 'magic' happens. If you want to see the code behind the magic, you can read the code. Because it's all open source. In lamens that means you get to know what's going on. Any site that is not open source -- Facebook, Twitter, Google, etc., etc., do not let you see what's going on with the information you put into the 'guts' of the system.

The magic is the feeds.


The legs represent the feeds. The feeds are the things to which you subscribe and the things to which people who want to follow your goings on subscribe. These feeds can also be used to, for instance, be viewed on a website. To do that you use something called ssb-viewer. ssb-viewer takes one of these things (let's call them cypherlinks, because that's what they are even though it sounds a bit intimidating the first time you hear it) and displays them for you.

A Brief Guide to Databases

To understand this next part you have to comprehend the basics of databases. Databases at their easiest to understand work with two straightforward commands:




As you for sure can guess, when you get something you're getting something out of the database. When you're doing a put, you're putting something into the database. For some people the closest they've gotten to a database is a spreadsheet. While that might sound boring to talk about, spreadsheets perform an important role in society. You put a number in, sometimes you perform a calculation on said number, and you get it back out again. Thinking about the legs as they go into the LevelDB puddle will be helpful here.

LevelDB Puddle

LevelDB that Dominic contributed to. It's the database that powers secure scuttlebutt. When you peer in you have a very tiny feed because you haven't created any database entries (puts). When you connect up with what's called a pub, you'll be part of the network and you'll start to see the feeds that other users have created over the past year plus.

Each user replicates the feeds of their 'follows' on the network, and those two hops out. That's some math you can study up on if you want in your spare time. This is part of what makes scuttlebutt unique. The replication schedule. The schedule is also part of what makes it resilient -- if nodes go down, it'll reach out to other nodes until it finds one that's up. It's also what makes it yours and not say, a company who can shut down whenever they wish. It also can't 'mine' the data you've fed it in order to sell said data to other companies.

The data is free-flowing and freely available to all participants in the network. Someone could potentially mine it, it's true. But they cannot shut it down. By they, I mean other network participants. It's peer-to-peer, not top-down.

Make sense?


The data is gossipped between nodes. I grew up part of my life in the South, and there the word gossip has supremely negative connotations. If you say someone's 'a gossip' you're talking shit behind her back.

In the scuttlebutt world it carries no such weight. The data is 'gossipped' between nodes, which means one node says to the other, 'got anything new you want broadcasted?' and the other node gossips back, 'yeah -- this thing, said on this date, can go to the network.' If it was said in a private message, it's encrypted and shared only with the node(s) that request it.

I'll take questions on sbot. I'll explain the bits poking out (ssb-ws, local client, vps/lite client) in the next piece.

"At the beginning, Twitter was happy to have anyone building on top of their data. That has changed, and if you didn't see this coming, then you haven't been paying attention. Twitter wants to be a media company, like Facebook, and it believes the best way to do that is to tightly control when and where people can access its content." Source

What if the only social you posted to ever again was your own?

Then you wouldn't have to worry when major social networks do their next round of layoffs and power down your profile page because they couldn't afford to pay their server bills.

Then you wouldn't have to worry about keeping up that profile page that never belonged to you to begin with. Right, because someone else was paying the bill for you to publish photos of yourself to their servers.

Using asymmetric key cryptography it is possible to verify the authorship of documents. A user uploads an object, and then creates another signature object, which links to the first object, the user's public key, and a signature (of the object, with the key). Source

With secure scuttlebutt, it's yours now (you have a public/private key combo, so your feed belongs to you). You can do with it what you want. There can be no sudden API closures here.

Wild, right?

Yes, and that's the point.

Eight Years Ago I was... ➡

⬅ An Actual Hour

Gwen Bell builds this site with Node.js on Arch Linux · send gwen a message · 2017