Most active commenters
  • danabramov(3)
  • mxuribe(3)

←back to thread

Are we decentralized yet?

(arewedecentralizedyet.online)
487 points Bogdanp | 14 comments | | HN request time: 0.001s | source | bottom
Show context
d4mi3n ◴[] No.45077410[source]
Neat! I'm not surprised at the findings here. BlueSky (for the average user) is pretty much a drop in replacement for Twitter.

Despite the smaller total numbers in Mastadon, it's great to see that the ecosystem seems to be successfully avoiding centralization like we've seen in the AT-Proto ecosystem.

I suspect that the cost of running AT proto servers/relays is prohibitive for smaller players compared to a Mastadon server selectively syndicating with a few peers, but I say this with only a vague understanding of the internals of both of these ecosystems.

replies(6): >>45077507 #>>45077986 #>>45078151 #>>45078889 #>>45079652 #>>45080382 #
kyle-rb ◴[] No.45078151[source]
Running a PDS server for yourself and a few friends is not very expensive afaik, but there's also not much benefit to doing so, because the point of the PDS is to have a clean separation between your own data and the rest of the network.

The expensive things in ATProto are the Relay (crawls/listens to PDSs to produce the firehose) and the AppView (keeps a DB of all posts/likes/etc to serve users' requests). Expensive at scale anyway; if you want your own small network for hosting non-Bluesky posts (like WhiteWind's longer character limit), the event volume will be manageable.

For a lot of stuff though ATProto is built in a way that you shouldn't have to host your own; you can implement your own algorithmic feed that reads from the Bluesky Relay's firehose, or your own frontend that still gets data from the Bluesky AppView.

replies(2): >>45078223 #>>45078586 #
1. danabramov ◴[] No.45078223[source]
Running a relay is not expensive anymore (it used to be), with recent changes it's about $30/mo. Running an AppView that ingests all ongoing Bluesky traffic (and puts it into database) is more expensive ($300/mo currently) but if you were happy with a partial view of the network, you could get it down by a lot.
replies(3): >>45078439 #>>45079222 #>>45083448 #
2. mxuribe ◴[] No.45078439[source]
I'm admittedly not versed in the AT protocol, but $30/month is high for me. Something like $10/month is quite fair, and i would expect should be more than enough for a VPS to host my and 2 other members of my family for any social network service...This $10/month is overkill for other servers on the ActivityPub via say gotosocial, pleroma, etc. Not that ActivityPub is perfect or anything like that, i just mean that $30/month is not yet what i would call a sweet spot for self-hosting something...but of course, that is absolutely leagues better than any cost that the bluesky team or other bigger players would naturally have to pay for ongoing infra., etc.

Then again, i will not deny that there's also the possibility that i am simply cheap! :-)

replies(2): >>45078619 #>>45078781 #
3. edavis ◴[] No.45078619[source]
An important note here is the $30/mo is for the relay which is _not_ something the average user will ever need to run

Instead, you're looking for hosting a PDS which you absolutely can do for $10/mo (or less)

I run a PDS on a OVH Cloud VPS for $5/mo for myself, some alts, and some bots

replies(1): >>45082792 #
4. danabramov ◴[] No.45078781[source]
Right, but a Relay is literally a network-wide optimization. That's why in my other comment I'm mentioning that it's hard to do apples-to-apples comparison. With Mastodon, you only have one possible role: "hosting an instance" (which is like hosting a mini-Twitter with almost no data). ATProto aims higher in terms of UX (shared world by default) so there are different distributable pieces with different incentives to run. Anyone can self-host a PDS for super cheap (which will store only your data). But running a Relay is useful as an optimization for whoever's running the actual backends. So if you're a company building on ATProto, maybe you run your own Relay just in case (or maybe you don't and reuse an existing one). Or if you're a collective of people, maybe you pool resources together to run your own independent Relay. It's not something you'd just run for yourself unless you're a huge enthusiast.
replies(1): >>45082801 #
5. yoshuaw ◴[] No.45079222[source]
> Running a relay is not expensive anymore [...]

$30/mo is $360/yr, which for most people is a prohibitively large sum of money. That would make Bluesky access more expensive than even the most expensive Netflix subscription; closer to the cost of a cellular plan.

For comparison: for my Mastodon account I pay $5/mo or $60/yr to a dedicated hosting provider. This puts it in the same ballpark as paying for a private email host or a VPN subscription.

replies(3): >>45079285 #>>45079318 #>>45081017 #
6. verdverm ◴[] No.45079285[source]
The PDS is closer to the Mastodon account and will run you the same amount of money. The relay or appview is what takes the load when one of your posts goes viral, whereas in mastadon your $5 VPs has to handle that spike in traffic. Been several a story about how AP has DDoS'd a small server because there is no equivalent to the relay
7. danabramov ◴[] No.45079318[source]
This makes sense, but a Relay isn't something you'd expect a normal user to run.

It doesn't meaningfully make you "more independent" because all Relays are trivial (they're just dumb re-broadcasters of a stream) and it makes sense to use one run by somebody else — a company or a community that's pooling resources.

replies(1): >>45082215 #
8. miki123211 ◴[] No.45081017[source]
There's no real reason to set up a relay for just one person, though.

It's less like a cellular plan and more like building your own private cell tower just because you can.

9. yoshuaw ◴[] No.45082215{3}[source]
Aren't the entities who manage relays the ones who broker access to the network? E.g. if you subscribe to a relay, you must also subscribe to their moderation decisions.

Say if Bluesky (the company) bans someone, that person could still have the keys to their data, but their feeds will no longer be "re-broadcast" by that company's servers - right?

replies(1): >>45082755 #
10. neko-moe ◴[] No.45082755{4}[source]
Relays aren't really user-facing, so most relay operators would probably only censor a user on the relay if there is some legal or network reason to do so, say content illegal in their jurisdiction or excessive spam.

If an app is concerned that a relay is censoring some user that they care about, the easiest solution is just to host their own relay. It's probably cheaper to operate than their app is. But if they really wanted to, they could listen to multiple relays to "cover the gap" or just manually listen to the event stream from specific users' PDSs directly whenever they notice censorship (effectively operating a partial relay in addition to listening to a full but censored one). But, again, in reality they'd just host their own relay and not bother complicating things.

The hardest problem of relays censoring content is to notice it happening, but once you notice you can easily verify it and switch to a different relay.

11. mxuribe ◴[] No.45082792{3}[source]
Aaah, ok, thanks for the clarification!
12. mxuribe ◴[] No.45082801{3}[source]
Gotcha, thanks for that context!
13. quectophoton ◴[] No.45083448[source]
I thought only the way to avoiding the full firehose was connecting to Bluesky's centralized Jetstream instances, and that if anyone else wanted to host Jetstream without depending on Bluesky infra other than the PDS, they would still need to pay the full price for the firehose bandwidth and storage.

I'd be happy to be wrong here though.

replies(1): >>45084714 #
14. OneDeuxTriSeiGo ◴[] No.45084714[source]
Yes and no.

If you want to avoid the entire bandwidth of the firehose, you need something like jetstream (at least until something like sharded relays come around).

However the relay gossip protocol is not as taxing as it used to be. Relay Sync 1.1 massively decreased overhead and it allows relays to run "thin", i.e. running with only a certain backlog of history and not carrying the full history of the network. So you can make a relay that only keeps 24 hours of history and it'll perpetually stay under like 100gb of storage (I don't remember the exact storage amount but storage size is pretty linear with backlog history).