Lots of exciting #decentralization protocols and technology out there. Some are not ready for usage, others are not following the paradigm I prefer, I love that we're spoiled for choice.

IMO I still love #SecureScuttlebutt, for me it is still the best offline-first local-first gossip protocol out there. Yes, it has dangerous corners and design issues, but it works and I can build apps with it for my friends.

I find it has pretty intractable scaling problems. So like... it works... at first. But gets bigger and slower pretty much exponentially. What was that non-blockchain network... Briar I think?

https://briarproject.org/
Secure messaging, anywhere - Briar

Secure messaging, anywhere

@cy
> What was that non-blockchain network... Briar I think?

Briar is a neat experiment, but they've never shipped apps for anything but Android. The problem with depending on one proprietary OS ought to be obvious, Goggle's recent decision to start farming Android app devs is a good example;

https://keepandroidopen.org/

So until it's cross-platform, Briar is a fun toy, but not suitable for production use.

@soapdog

Keep Android Open

Advocating for Android as a free, open platform for everyone to build apps on.

Can't say I've looked into it before. I got tired of nodejs projects back when they switched to the new module format. Good to know, at least!

In my opinion, a good project would write programs, not "ship" "apps." Dunno what one would be good though.

CC: @[email protected]

@cy
> Dunno what one would be good though

Depends on your use case/ threat model. Ask yourself questions like; who do I want to communicate with and why? Are you looking for software for an existing group/ network of people who can make and action decisions about where to communicate? Are you wanting to adopt an app to make new contacts among its current network? How sensitive are the communications? Etc, etc.

@soapdog

I just use the Fediverse, nothing else seems worth bothering with. I kind of gave up a while ago. I don't have an existing group, or anyone at all really. Met some nice people on the Fediverse though. (None of them are interested in whatever network I might propose.)

CC: @[email protected]

@cy
> I just use the Fediverse, nothing else seems worth bothering with

Same. Other than email and SMS, and occasional use of Matrix and even less often XMPP.

@soapdog

@strypey @cy the fediverse is indeed cool, but it is not the p2p I aim for. It is very costly to run an instance in terms of bandwidth and also it is server to server and that is just federation, which is cool in its own way but not comparable. It has the best of both worlds and also the worst.

@soapdog
> the fediverse is indeed cool, but it is not the p2p I aim for

Pure P2P networks have been the holy grail of every new generation of cypherpunks since the 90s. They've never worked out. Everything that's turned out to be practical for use beyond dogfooding has some kind of supernode, and that's not even a bad thing;

https://bridgeseat.substack.com/p/in-defence-of-servers

> It is very costly to run an instance in terms of bandwidth

If you use Mastodon, sure. There are much more efficient fediverse servers.

@cy

In Defence of Servers

Why pure peer-to-peer networks aren't always better than federated ones

Bridge Seat Cooperative
Supernodes aren't bad things, but gatekeeping supernodes with no deniability are. That's why the Fediverse uh... sucks. That and we're tied to one specific supernode.

Also substack are Nazis so don't read them.

Secure Scuttlebutt works just fine for p2p. My only complaint is it uses a blockchain for no reason other than it makes it somewhat more difficult to erase what you've said in the past. Which is like the opposite of good from a privacy standpoint.

CC: @[email protected]

(1/3)

@cy
> gatekeeping supernodes

The option is there to be your own gatekeeper, eg with a GoToSocial instance. Most people *choose* to outsource this work. But no one is forced to.

> with no deniability

Huh?

> we're tied to one specific supernode

Not if you use Hubzilla, Streams, Forte, or other apps in theZot/Nomad branch of the 'verse.

Folks are working on FEPs for enabling other AP apps to become nomadic;

https://wedistribute.org/2024/03/activitypub-nomadic-identity/

@soapdog

(2/?)

@cy
> Also substack are Nazis so don't read them

I'm aware of the issues with SS;

https://disintermedia.net.nz/ghosting-substack/

Haven't yet had the time and spoons to republish those Bridge Seat posts so I can stop linking to SS. Hope you'll make an exception for the sake of this discussion.

Ghosting SubStack

Why I finally decided to leave, and where I'm going next

Disintermedia

(3/3)

@cyd
> Secure Scuttlebutt works just fine

It works. But with *many* limitations, which is why other devs have moved on. These include;

* can't use one ID in multiple apps/ devices
* can't delete or edit posts
* rare but unavoidable netsplits that fork your ID

> My only complaint is it uses a blockchain

As @soapdog says, it doesn't. Social apps using a blockchain have been tried;

https://wiki.p2pfoundation.net/Blockchain_Social_Media_Apps

AFAIK they have to sync the entire network and get bogged down by chain size.

Blockchain Social Media Apps - P2P Foundation Wiki

@strypey

can recommend to use `dat` all the upsides, none of the downsides.

identity works multi device too. you can delete or edit posts too and nefsplits do nothing.

its not using blockchains or token either.

https://github.com/holepunchto/hypercore

"Hypercore is a secure, distributed append-only log."

Append-only log is a blockchain.

EDIT: Hypercore is a Merkle Tree, so it at least can verify recent posts without checking the whole log. Better than a blockchain, if still kind of pointless.

CC: @[email protected]
GitHub - holepunchto/hypercore: Hypercore is a secure, distributed append-only log.

Hypercore is a secure, distributed append-only log. - holepunchto/hypercore

GitHub

@cy @strypey

then ssb is a blockchain as well, even more so than dat. i understand that one can define it like that, but imho if there is no token/cryptocurrency involved i would not call it a blockchain. usually ppl hearing blockchain think of cryptocurrency.

if you'd call dat blockchain, one should be aware it means every peer usually creates loads of them and only they can write to it and also subscribes to loads of them only writable by others. consensus then means it was signed by owner🤷‍♀️

@cy @strypey

maybe just one addition. hypercore is also a low level building block.

i think the best way to experience dat is to use 3 modules instead and make a small demo

1. `corestore` (=persists all data)
2. `hyperswarm` (=p2p network)
3. `hyperdrive` (=p2p filesystem)

and next learn `autobase` (=multiple devices, one identity) 🙂

Sorry if there was any confusion. When I say blockchain, I mean blockchain. I don't like blockchains. They're unscalable and pointless.

Blockchains are only one of the reasons I don't like cryptocurrency!

It'd be fine if blockchains were optional. You mentioned hypercore as a uh... "core" module though, so I assume lots of things use it.

CC: @[email protected]

@cy @strypey

you can use the the dat p2p network without hypercore, but alao hypercore scales perfectly well, the more peers, the better it scales, just like torrents do, but then again in peer to peer you dont need global consensus.

i feel this is not really leading anywhere though 🙂

I doubt it does scale, since you need the whole tree to verify the tree hasn't been edited. But maybe nobody does verify it? Because I'm cool with that. Just seems odd to even have it.

And I'll have you know this is leading somewhere I'm looking at the hypercore code right now :p

I have to admit, your advice to "make a small demo" doesn't fill me with confidence. If nobody has ever made a forum on dat before, then why would I be the first to succeed?

Still, I could give it a shot. But then we're back to dogfooding, and nobody using my demo but me...

CC: @[email protected]

@cy @strypey

no you dont.
you start with a hypercore's public key as its address to lookup peers and sync some log entries torrent style. you also sync a handful of "tree nodes" (=merkle proof) with a merkle root signature to verify data integrity using the pubkey you started with.

verifying means you can sync data from any random peer bittorrent style, but you know the data is exacty what the author published and wasnt accidently or maliciously changed.

@cy @strypey

plenty of apps exist. dat-ecosystem has dozens of them, multiple messengers, vpn's, radios, filesharing tools, p2p maps, p2p rss readers and even browsers and runtimes.

Does it have a forum, where you can talk to people about stuff?

p2p maps sounds cool.

CC: @[email protected]

@cy @strypey

every dat-ecosystem project has its own community.

since the keet p2p messenger is powered by the stack, you can find some technical support there.

The p2p maps project is called Mapeo.

But if anyone wants to try to build i can give some support as well 🙂

@serapath
> if there is no token/cryptocurrency involved i would not call it a blockchain

This is also an all trout are fish. A "cryptocurrency" is just one application of a blockchain. There are others that have nothing to do with decentralised finance, eg JamiNS;

https://docs.jami.net/en_US/user/jami-distributed-network.html#the-jamins-blockchain

@cy

Jami distributed network — Jami documentation

@strypey @cy

i look at your link and the first thing i see is a command line where it tells me to run`geth`, the main ethereum client 😅

also, it seems rather basic and relies on ethereum as the default namespace provider. so kindq coupled with blockchain

@cy
> Append-only log is a blockchain

This is an all fish are trout fallacy. All blockchains are append-only logs. But there are many different kinds of append-only logs. Many of them are not blockchains (including SSB and DAT/HyperCore), and don't use global consensus algorithms. So they don't have the same scaling limitations.

Yeah I was wrong about that, in fact. Dat uses a hash tree, and only has a warning for changes that aren't limited to appending.

The scaling problems of a blockchain has nothing to do with global consensus. The only way to tell whether any given block is a member of a given chain is to have all previous blocks. Thus you can't delete anything, even if you need to. Anyone entering your network will have to download the full chain before they can (for instance) see someone's SSB blog, and it can get really big.

Byzantine consensus is a problem because it doesn't work. There are inevitably networks separated by an event or a glitch, after which consensus can not be reached.
If SSB didn't use a blockchain, then forking your ID would be impossible. Every post is required (for no reason) to have a hash of the previous post in it, and your blog is identified (for no reason) by the hash of that first post, not the hash of your signing key.

@cy @strypey

@jeremy_list whatis this now? Should we finish cannibalizing your C++ ssb client into embeddable common lisp? I was not aware of much involvement other than you but if a reasonable number of people in our community here I suppose we should finish doing it.

(My blog is down right now so no link)

@screwlisp @cy @[email protected] I do have plans eventually to implement additional protocols in my SSB client, though my current focus with it is getting it actually usable as an SSB client. For its second protocol I'm probably going with PZP, which is based on SSB but with something called a tangle instead of an append only log.

@jeremy_list
> I do have plans eventually to implement additional protocols in my SSB client

What's the name of your client? If it's not Tilde Friends, I'll add it to the list I just updated here;

https://codeberg.org/fediverse/fediparty/wiki/non-fediverse-federated-social-apps

Everyone please feel free to let me know about any errata or anything you think is missing.

> I'm probably going with PZP

Ah, so there is still some dev interest in PZP since ManyVerse was abandoned. Good to know : )

@screwlisp @cy

non fediverse federated social apps

:milky_way: A quick look into Fediverse networks -

Codeberg.org
I'd like to see those FEPs happen. As long as you're not sharing your private signing key.
The option is there to be your own gatekeeper
Can you afford to buy a domain name? How about an SSL certificate? Both of the financial barriers involves paying rent to some parasite who doesn't even do anything. Do you have a computer that can run 24/7, with an always available network? Finally do you have some hours to learn how to set everything up?

I'd love more people to be self-hosted, but as you just said, servers are not a bad idea. If we're all self-hosted, the network won't work as well. And there isn't much of a choice for many people, who only have a phone on a flaky network at best.
Huh?
Deniability is where you're delivering people's messages, but you can't look inside them to see what they are. When you can do that, governments can (and will) force you to spy on people, convicting you with their crime if you refuse. Because clearly you're complicit, since you're legally liable for every message that has illegal words in it.

Think like the post office, where they're required to not read your letters. Compare with a US prison, where they get to read and creatively edit any letters you try to send.

If I was making a network, I'd have it so servers or supernodes only saw encrypted messages. To decrypt them, they'd have to be participating in whatever conversation was going on. Just to save them from getting in trouble when I say something stupid like "I want to kill the Pres—" (screeching tires from black van)

CC: @[email protected]

@cy
> As long as you're not sharing your private signing key

The details of how it works are in the draft FEPs, which are linked in the article. Have a skim and see what you think.

(1/2)

You raise some valid concerns about the costs (financial and otherwise) of self-hosting. But my point remains; the option is there.

@cy
> Can you afford to buy a domain name? How about an SSL certificate? Both of the financial barriers involves paying rent to some parasite who doesn't even do anything.

Not with SSL certificates, thanks to Let's Encrypt;

https://letsencrypt.org/how-it-works/

How It Works

The objective of Let’s Encrypt and the ACME protocol is to make it possible to set up an HTTPS server and have it automatically obtain browser-trusted certificates without any human intervention. This is accomplished by running an ACME client on a web server. To understand how the technology works, let’s walk through the process of setting up https://example.com/ with an ACME client. There are two steps to this process. First, the ACME client proves to the Certificate Authority (CA) that the web server controls a domain. After that the client can request or revoke certificates for that domain.

(2/?)

True, domain names can only be leased not bought and that's annoying. I proposed one way around that here;

https://disintermedia.net.nz/a-free-online-birth-certificate/

But a domain name costs about NZ$20-$50 a year. That's about what we pay per month to be connected to the net here. It's hardly a high barrier.

> there isn't much of a choice for many people, who only have a phone on a flaky network at best

They could use managed hosting;

https://codeberg.org/fediverse/fediparty/wiki/Hosting-services-offering-managed-fediverse-servers

A Free Online Birth Certificate

A modest proposal to liberate us all from second-class citizenship online

Disintermedia

(3/?)

@cy
> a phones on a flaky network

... is just as much of a problem in P2P networks, as the dev of ManyVerse found out the hard way.

Anyway, remember the context; my argument is not that everyone ought to self-host. My opinion is kind of the opposite, for reasons laid out in that Bridge Seat post about the value of servers. I'm just pointing out that using someone else's server isn't compulsory.

(4/?)

OK, I understand what you mean by deniability. I agree that the fediverse is not a suitable place for sensitive non-public discussions. *Unless* you and all your correspondents are self-hosting, or trust all the admins/ mods of the servers you're all using.

That's something that Matrix or XMPP+OMEMO is better for. See;

https://disintermedia.substack.com/p/get-a-room

But that doesn't mean the fediverse isn't useful in general. Clearly you think otherwise, because here you are ; )

Get a Room

The challenges of having reliably-private conversations in decentralised networks

Disintermedia

(5/5)

Also worth noting that SocialCG (W3C Social Community Group) has a taskforce working on using (D)MLS to make it possible to send E2EE private messages over ActivityPub;

https://socialwebfoundation.org/2025/12/19/implementing-encrypted-messaging-over-activitypub/

@strypey @cy @soapdog GoToSocial doesn't provide hosting so the privilege problem still applies.

I haven't had time to look into the "Nomadic" stuff yet though.

LisPi (@[email protected])

@soapdog @strypey @cy Fedi's relatively hard requirement on low-latency clearnet peering also requires considerable privilege that is unreasonable to expect of every user.

@lispi314
> GoToSocial doesn't provide hosting

Why should a software developer pay for hosting for everyone who wants to use their software? Seems like a weird expectation to me.

> the privilege problem still applies

Me:
> The option is there to be your own gatekeeper, eg with a GoToSocial instance. Most people *choose* to outsource this work. But no one is forced to.

@cy @soapdog

@strypey @cy @soapdog

Why should a software developer pay for hosting for everyone who wants to use their software?

No particular reason.

But self-hosting requires considerable economic and infrastructural privilege.

Clearnet self-hosting requires even more privilege.

The option is there to be your own gatekeeper, eg with a GoToSocial instance. Most people choose to outsource this work. But no one is forced to.

Not having money to spend on spurious things like that isn't a choice.

The circumstances to enable payment and having no privacy concerns about it are also a form of privilege.

But then you'd need a computer and an internet connection, and where is anyone gonna find that?

@sj_zero @cy @strypey @soapdog You're considerably understating it.

You need a reliable connection, a reliable machine and a reliable electrical grid (I don't have that and I'm privileged enough to have UPS, which I care very much about for that same reason, it means I ride through minor disruptions and at least get to shut things down properly for major ones) for low-latency clearnet self-hosting, at the minimum.

(Unless your use-case, like that solar-powered website (without battery), doesn't expect considerable uptime nor reliability. And even then, it has the two other points besides power.)

@cy @strypey @soapdog And Nostr is also getting in on the paygating relays so... same problem but worse.

@lispi314
> And Nostr is also getting in on the paygating relays

That's been a thing from early on. The argument is that this is better than paying with your data and your eyeballs. I'm sceptical but happy to see people run the experiment.

There are still plenty of gratis relays run by outfits like Nos.social. Even if there weren't its possible to self-host them.

> same problem but worse

Same problem as what?

@cy @soapdog

@strypey @cy @soapdog

Supernodes aren't bad things, but gatekeeping supernodes with no deniability are. That's why the Fediverse uh... sucks. That and we're tied to one specific supernode.

It's gatekeeping of the same kind as the Fediverse, but even more exclusive. Sure it's not a single node but unless you're rich if they all paygate it'll soon be close-enough, unless they finally fix the relay gossiping that's missing.

Payment is also typically much harder to make deniable reliably (Monero works until it has some critical flaw found that screws all that up).

Which is like the opposite of good from a privacy standpoint.

Requiring payment also has this flaw in most incarnations.