News for hackers. Stuff that matters.
Re:Why isn't Bluesky a peer-to-peer network? by noirscape on Monday January 22, 2024 @03:59AM (#39087643)
Looking at the federation architecture[0] shows that the network is inherently reliant on using a relay (or BGS - basically it's a giant data gathering server that generates the "external timeline" for applications using ATproto) - it's not possible for two PDSes to directly connect with one another (since a PDS does not store data from external users, but a relay does), which means that if a large relay falls apart, the entire part of that network goes down with it.

Similarly, if a relay decides to nullroute you, you are functionally up on shitcreek, which because it's all handled by the relay is way worse than getting a Mastodon instance filtered.

If we use a torrent analogy, it's not possible to use Bluesky/ATproto with DHT, you're required to connect to a tracker who then decides who you can peer with.

(Relatedly, AcitivityPub also supports the use of relays for discovery, but doesn't require them. It's just not often used because they tend to be a moderation firehose.)

[0]: https://blueskyweb.xyz/blog/5-5-2023-federation-architecture

Re:Why isn't Bluesky a peer-to-peer network? by pfraze on Monday January 22, 2024 @04:06AM (#39087690)
Relays aren't hard-coded and PDSes are encouraged to connect to as many relays as they want. They are essentially network busses that help reduce the combinatorial explosion of connections between nodes. It is entirely possible for PDSes to connect directly to each other if they're so inclined.
Re:Why isn't Bluesky a peer-to-peer network? by noirscape on Monday January 22, 2024 @04:18AM (#39087741)
It's still a notable bit of centralization present in the protocol - from the documentation presented, it's obvious that moreso than any other "node" in the software, if the relay breaks, that entire chunk of the network stops working. A PDS, a labeler or a feed generator vanishing means very little for the network on the whole, while the relay vanishing causes everything to fall apart.

Similarly, the fact Bluesky is offering a PDS implementation for self-hosting[0] but not a relay[1] tells me that hosting a relay is more than a non-trivial matter, although I'd love to be proven wrong there.

[0]: https://github.com/bluesky-social/pds

[1]: Well, outside of literally deploying Blueskys own implementation - https://github.com/bluesky-social/indigo/tree/main/cmd/bigsk... .

Re:Why isn't Bluesky a peer-to-peer network? by KoftaBob on Monday January 22, 2024 @04:04AM (#39087676)
FYI the person you're replying to is the author of the post and a Bluesky dev
Re:Why isn't Bluesky a peer-to-peer network? by noirscape on Monday January 22, 2024 @04:19AM (#39087744)
I just noticed that, thanks! Adjusted the tone a slight amount to be a bit more direct.