This is the first time I’m seeing a way to host a full Bluesky network, I think. It seems like a big step towards full federation beyond appviews and personal data servers.
This is the first time I’m seeing a way to host a full Bluesky network, I think. It seems like a big step towards full federation beyond appviews and personal data servers.
I asked the devs about this and they said that bluesky is designed to be a) modular b) trustless as much as possible. federation is supposed to happen on the trustless hosting and relay layers - you can ask your posts to be crawled by any indexer/appview.
But once you get to the indexing/querying layer, there are no more merkle proofs to keep everyone honest, so there is no point in federating because any indexer can modify/censor the content they send to another indexer instance. So you could still build an api to interact laterally between servers, but it wouldn’t be atproto anymore.
Could you maybe explain that in dumb people words in case some dumb people read your explanation and didn’t understand it? 👉👈
the short is, bluesky is only designed to ‘federate’ with itself and will never be truely decentralized as it will never interact with ‘foreign’ servers.
all they really built is a twitter where a user can control their own node of information (pds) but it will never interact with another bluesky instance.
in the real fediverse, servers interact as they come on-line and are subscribed to each other by users. this causes some security issues, and portability issues but at least its actual federation creating webs of content by fully independent peeps.
The entire point is that your pds can interact with multiple “instances” of bluesky or whatever other apps people build on the protocol.
For example there is a reddit/hn clone that people can post on (keeping their same identity) when the official bluesky service goes down. The reddit clone is fully independent from the twitter clone, but they use the same protocol and (unlike AP) the same hosting and authentication infrastructure.
Whereas on Lemmy and mastodon, my accounts are totally separate. And unlike AP, your data lives on your own pds and is never hostage to the owner of the instance that actually runs the load bearing interactivity. If they become compromised or shut down you can switch to another. No cooperation from the old owner required (unlike activitypub).
in other words, if bluesky goes titsup you can take your pds, and set it to another relay. but then when the original bluesky comes back up you are dark on that instance. thats not decentralization. thats islands of twitter that you can switch between.
you will not be able to interact with multiple bluesky instances simultaneously.
Thats the opposite of what I said. You can use the same data with multiple services at the same time, in fact this is already possible. The whole thing would be kinda pointless otherwise.
Yeah but unlike activity pub, atproto/bluesky demands each self hosted relay process a massive amount of data to participate, it is incredibly impractical and costly to envision scaling up, bluesky’s self hosting is essentially made to be a curiousity rich developers with access to powerful hardware try out as a hobbiest project and write a blog post about, not a serious general use case for everyone.
The idea of course is make it so nerds can technically do it, but the bulk of users can’t and won’t.
The strategy is convince the nerds you are giving them access to the future and that average people aren’t ready for it, and than never actually provide that future since nerds stop advocating for it because a corporation handed them a tiny scrap and that was enough to write a good techy diy blog post about.
Bluesky is the past desperately trying to convince you it is the future, don’t fall for it.
Yes, and I’ve been yelling at them about the problem of scaling down for a while, since the same “relay” service needs to be both a firehose and a full mirror. This requirement (and thus scalability) of running a relay is becoming a big problem even for the main devs. According to them however you can mitigate this to a reasonable amount for a home lab (~8 cores, 16gb ram, ~2Tb ssdl) if you simply don’t store any backlog and just retransmit posts https://bsky.app/profile/why.bsky.team/post/3lbjdux6ubc2f
This is what they’re doing internally to manage the load and are also working on implementing relay sharding/scoping to let you just index a small slice of the network, which should eliminate the problem. https://github.com/bluesky-social/atproto/discussions/3036 and here’s someone implementing a proof of concept third party version https://bsky.app/profile/pet.bun.how/post/3lbwnx2rxxs2o
It’s true that the main devs’ priorities are building the large scale parts first and then worrying about downscaling, the whole point was always to replace twitter and work at a similar scale, which requires hard tradeoffs. I do worry that they’ll run out of money before they can do the work to let the ecosystem become sustainable by itself.
But I have faith (for now) because they have people I know from when they worked on secure-ssb and dat protcols, which are truly decentralized but never took off for other reasons.
“But I have faith (for now) because they have people I know from when they worked on secure-ssb and dat protcols, which are truly decentralized but never took off for other reasons.”
The modern corporation is precisely defined as a structure of ownership perpendicular to ethics, one of the prime reasons for this is to progressively nullify this specific category of “there are good people in the room” defenses against extreme unsustainable extraction of profit at catastrophic consequences for everybody but shareholders.
Yes, this is the strongest argument against it and the biggest flaw. They keep saying in interviews that they are treating their future selves as adversaries and they do open source most everything but I would be a lot happier if the protocol development was spun off into a separate org from the for profit service. If it dies, this will be what killed it. But I hope they make it (by it I mean the tools for everyone else to make the ecosystem).
I’m mildly concerned about this as well.
You don’t need to access information via the relay. You can have a client get information directly from PDSes or Appviews that don’t get their information from the relay.
Thank you very much.