Why isn't Bluesky a peer-to-peer network?
pfrazee.com
pfrazee.com
Centralisation is a feature in social networks: being able to find your friends is the very first thing. But don't then pretend you aren't.
Every now and then I post to Bluesky asking: so what's the loadout for Bluesky? How many servers does it take to run this thing? What would it take to run my own?
These questions never quite seem to get answered or documented that I could find.
A "PDS" is a reasonable Ubuntu box. They seem unable to admit what it takes to run the rest, though.
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/peer discovery, 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
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... .
I thought it was already positioned as a Twitter competitor with the aim to make it harder to censor. Its aim is to replace Twitter.
And how is that a sustainable business?
This problem has already been solved by Telegram.
You will never get censorship-free anything if there's money to be made by making it not so. Bluesky, Nostr, all these non-Twitter Twitters will also cater to advertiser needs as soon as VC money enters the picture.
Bluesky is dead as a product.
they kinda already did
through the initial media coverage and the people involved a lot of current still-somewhat X/Twitter user think of it as Twitter 2.0 and plan to go there ones it's more finalized/ready
mainly as far as I can tell there are a lot of people stuck on Twitter which do not like it anymore for various reasons but need something with decent discoverability which mastodon seems to not have so well
so if they manage to deliver in that area I would think they have a "not so small" user base already secured
but we will see
Or do we have a good reason to believe the active user counts posted by Elon and others are fake?
but there is a huge difference between "active user who wants to use it" and "active user who wants to not use it but due to network effects can't"
It's kinda a similar situation like with Facebook (and just Facebook, not Meta in general).
- they have some loyal groups (e.g. Facebook people broadly around 60 and older)
- they lost any interest (and much goodwill) from many other groups
- but due the various network effects many of the "lost interest" people still have it and might still count as active users depending on definition of active (but in practice they are passive not active users, unwilling to spend money on it, unwilling to give it any information about themself and not necessary the best ad targets either as there is a risk of you company being associated with "that annoying thing they would which to just discard".
Just with the difference that with Twitter most of the "passive" users are still active because they haven't found an alternative to be active on YET
I think the core issue is that despite how stupid and shitty it's become and seems intent on continuing to become, Twitter is still Twitter and Twitter users don't want BlueSky or Threads, they want Twitter which is still Twitter despite Elon and co's best efforts.
Also the ability for users to fact-check ads is still hilarious and entertaining which almost offsets the amount of ads.
It also seem to be dying user wise outside of some communities, but I think it's will be like the death of Facebook. Slow, and due to network effects never complete. Through it has much less network effects then Facebook had (no family main communication, old now distant friend main communication etc.).
it doesn't help that Threads through their action already kinda made it clear that their compatibility with mastodon and co. falls in the "embrace extend extinguish" category
and just by the fact that Threads is from Meta it can't be Twitter 2.0, to many people refuse to use meta products of any kind as much as possible as they fundamentally do not trust Meta at all
You see this in the way high-ish follower count folks are constantly pruning their follows to signal some kind of ratio. I guess that signal produces some outcome.
HN’s staying power as just about the best forum of remotely general interest might have a lot to do with there not being followers (along with a crack team of elite mods and other things). You can rack up karma but it’s a side quest, join date matters a bit on a boundary condition, but mostly there’s not really any raw fame factor outside a few hyper-famous folks.
I wonder if there’s any scalability past HN size on that.
But you're right however this is HN not WSJ.
Well, this is a positioning of Bluesky in the market: they position Bluesky as an attractive product for users who are interested and knowledgable about technological topics. I guess if they have an initial user base of this group, and this group loves the product, they will take the next step and analyze how to grow from this to a larger group of (potential) users.
BlueSky was founded October 2021, while Mastadon exists since 2016. The latter thus had lot more time to get traction. :-)
If you don't like those, anyone can develop a feed algorithm and anyone can subscribe to it, so you can have topic based feeds like "Science" or you can have feeds that just change the way the feed behaves like "OnlyPosts", which is the following feed but with no reposts or replies.
I feel like this is a recognizable genre of comment. I consider myself a big time Mastodon supporter and am proud to be an evangelist for it. One thing you would see in HN comment threads were these first time users claiming all the content was X where X was something very unusual, extreme, and the claims regarding what that extreme thing was would be completely all over the map. They would also be subjective, hard to prove or disprove, but also way out of line with my personal experience and the experience of others who had used Mastodon for anything beyond a trial period.
It looks like we're getting the same version of this type of comment now, except it's for Blue Sky. I've used the app on my phone and computer, followed a few people, followed a handful of discovery feeds. I can't really prove anything here, but I think whether it's Mastodon, whether it's Blue Sky, whether it's Lemmy, I feel like the most outrageous and unreliable comments have tended to be the genre of "skeptical new user sharing their first impression" style comments, which make broad brush claims as to what "most" of the content is on a given platform.
I'm not even a fan of Blue Sky for numerous reasons I won't get into here, but I've had an account for, perhaps a few months now, but, as I often find myself saying when it comes to new platforms, it is not at all my experience that I'm seeing furry porn and rage bait. If there's any one thing noticeably unique in my experience so far, it's the general lowered temperature you feel in your feed compared to Twitter.
Lemmy has some content problems, but I haven't ever noticed it nearly as bad. Mastodon is somewhere in between, but at least there's some good stuff there. Threads is definitely the chillest microblog platform but feels a bit too artificial at times. I would personally take Twitter, even at its current state, over Blue Sky all day long.
The lesson of the past 15 years is that creating a "global town hall" with hundreds of millions of daily users doesn't guarantee profitability. So why not decentralize and try to go small and local, like the phpBB forums that are still chugging along?
So you can just use your own domain for example.
What I don't understand is why the bsky.social service (which holds most user accounts at the moment) doesn't redirect http requests to ones profile. Then you could just say "I'm https://gnod.bsky.social on bluesky". Instead of "I'm https://bsky.app/profile/gnod.bsky.social on bluesky".
Maybe they don't want to make bsky.social very convenient so people have more incentive to use their own domain. Or there is some other thought behind it. I don't know.
Which is why OID withered away in favor of just implementing the biggest social media login used by your audience (Google, Microsoft, Twitter, Facebook and if your audience includes gamers, Steam) and relying on that instead.
A way around this issue would be for users to create a specific subdomain for their Bluesky handle (like @bsky.example.net instead of @example.net) but that defeats the purpose in term of "branding", shortness of the handle, etc.
or simply gnod.bsky.social as https is the default protocol on browsers.
We should just stick to public keys and forget about the domain name system if we ever want to actually improve the situations instead of just reinventing Twitter and Facebook by another name. It's endlessly frustrating how long public keys have been around and how little use they still get. Finger crossed that Nostr gets some traction, since that so far sounds like the most sensible approach towards a social network that is under the controls of the users themselves and nobody else.
Compared to what? IPv4 addresses are more rare and more expensive, for comparison.
Besides, public keys are great for uniqueness, and that they're relatively cheap, but that also means they're hard to remember (compared to domains) and they're easy for spammers to get.
Basically, neither domains nor keys solve Zooko's Triangle by themselves, and probably the ideal solution uses both and more to enable something that is decentralized, easy to remember and also secure.
Nobody remembers domain names either, that's what we have search engines for. The point of public keys is that they give the user something they own completely themselves and that their peers can verify. All the human-readable stuff can be implemented on top of that, e.g. if you wanna use domain names, put the public key into your DNS record. But you aren't forced to use domain names, you can send your keys around by mail if you prefer or put them in your Instgram bio.
The most important part here is that this works towards a "Web as data structure". Everything that is based around domain names will fall apart in a few months or years when those domain names expire, links go dead constantly. Everything that is build around crypto can last forever, as the storage location becomes irrelevant.
We already saw the benefits of this approach back with Usenet, where large parts of it could be reconstructed from random backup tapes, since everything was held together by globally unique message ids. Usenet didn't use crypto for this, but just depended on users behaving nicely, so that approach wouldn't work today, but it could be replicated with public key crypto in a very similar and more robust way.
Naturally I'm very biased, but I wouldn't say they were all developed merely so companies could have a blockchain strategy. Certainly just keeping up with the Joneses was a motivation for some of the middle/upper executives who sponsored some of the apps built on those platforms, just like it is for AI now, and was for XML back in the day. But there were also actual real business problems worked out in detail, with people who genuinely wanted to solve them and saw a chance to use blockchain hype as a Schelling point to coordinate large numbers of companies to collaborate better. And real apps have been developed and shipped on these, that provide at business value.
It'd probably be interesting to write about some of these systems from a purely technical perspective, as a decentralised database engine, because the underlying protocols and designs are pretty interesting and (at least in Corda's case) quite powerful too.
Do you have a blog/twitter/bluesky (hah)/anything that I could use to get notified if you write anything on this topic?
Systems to defeat these exist: ICE/WebRTC, ZeroTier, Tailscale, dozens of other protocols I can’t recall, but they all add overhead and require coordination. There are also many of these systems which means there is no standard. There is no equivalent to TCP/IP that is universally available that works around the ugly hacks we have used to destroy the potential of the Internet.
It would be doable if everything were a desktop or a laptop, but most people use casual apps like Bluesky on phones. Phones have huge limits mostly around battery life. An always on P2P app on a phone will keep radios from sleeping and reduce battery life up to 50%. It’s also a problem for people who have crummy metered mobile plans. Firewalls require keepalive every 15 seconds or so or traversal must be done all over again, which means continuous chatter just to keep peer to peer links available.
If phones could just call each other without executing what amounts to a coordinated attack against middleboxes in the way, low power peer to peer might be feasible. You could do things like time synchronize so peers sync at designated times and the radios sleep the rest of the time. But we can’t have nice things.
All the heterogeneity and complexity in the Bluesky protocol exists to work around this. Without NAT and firewalls all you would need is maybe directory servers to find people and something to do the equivalent of dynamic DNS for when IPs change. That’s it.
Two of my main grievances with the communities both have to do with identity:
ActivityPub as implemented in the wild doesn't make it easy to migrate your identity between instances. This has caused endless problems and drama with instances shutting down. You also have to use multiple accounts if you want to interact with different formats, ie Mastodon vs Lemmy vs PeerTube. As a user that seems pretty ridiculous. You're losing a huge portion of the advantages of federation. IMO a better model would be for you to create a single account on a universal ActivityPub server that supports all data types. Apps like Mastodon would act as clients, not servers. My reading of the specs makes me think this was the original intention (there is a client to server "C2S" protocol), but then Mastodon got big and no one ended up implementing the C2S protocol, treating Mastodon as the de facto C2S API.
Note there is some work to create these universal servers[0], but I wouldn't hold my breath on Mastodon/Lemmy/etc implementing the C2S protocol.
As for nostr, private key management is a complete non-starter for identity, barring some major new breakthrough. DNS is the pragmatic solution to identity.
Mastodon is a bit like email. Not great but it works right now and is reasonably easy to get into and integrate with. The feddiverse is bigger than Mastodon. But it's mainly Mastodon. And Threads soon apparently. Millions of people daily active on it. Not quite critical mass yet but closer than most other things have gotten since Twitter started imploding. Good enough?
IMHO mastodon with signed content and per user key pairs would make a lot of sense and it should not be that hard to add it. Why is this not a thing? Just like using pgp makes a lot of sense for email. Except that never happened either. Already when I started using email in the mid nineties, some people were insisting on using pgp. That's thirty years ago and it was only some people. It remains very uncommon for people to use that. Key management is an obstacle. Techies get it. Everybody else doesn't.
I mean, that's basically the story of the internet as a whole; a teetering tower of "eh, not great, but it'll do for now", since the 80s.
There are active efforts to bring other groups to nostr- check out nos.social for example.
For what?
Just to be clear, nostr doesn't directly require the blockchain for anything. It has a nice integration with lightning payments, but that's optional.
> Bluesky is mainly a thing that people talk about rather than join. And it has the Twitter founder backing it
Pretty sure that's not really true anymore. Jack Dorsey has apparently moved on to nostr, interestingly enough.
> IMHO mastodon with signed content and per user key pairs would make a lot of sense and it should not be that hard to add it. Why is this not a thing?
There's some work in this area[0], but I agree it's surprising this wasn't baked into the protocol from the beginning. Same thing with signed requests. Things have de facto evolved in that directly, but we seem stuck at a local optima using a 5yo version of the HTTP signatures spec (see discussion here[1]), which is really confusing for new implementors as well.
Ultimately I think a lot has been learned from implementing ActivityPub in the wild, but I feel it badly needs a version 2.0, and even then I'm not convinced all the most important lessons have been learned yet. For example, it's very concerning to me that Mastodon still doesn't provide an easy way to bring your own domain to any instance.
[0]: https://codeberg.org/fediverse/fep/src/branch/main/fep/8b32/...
[1]: https://socialhub.activitypub.rocks/t/state-of-http-signatur...
You can take your data to another server only if the original server is up. When the admin forgets to pay the bill and ISP nukes the box and the backups admin said they had don't exist and the coadmin turns out to have no access at all, you lose everything. Ask me how I know.
Self hosting in theory should fix this but it doesn't: it's a resource intensive afterthought because the developers only really care about their Big Instance.
Mind you, per capita France and Germany also have way more servers than the USA. Interesting.
What definitely does is that the major European server providers tend to be located in one of those two countries (like OVH or Hetzner). Note that server location != user location, users could be anywhere in Europe without a noticeable latency.
Doesn't make any sense for me to pay for a server located in my country when I can find one in Germany with an order of magnitude better performance for the price.
They lead many tech stats per capita. Another example is the amount of French and German wikipedia pages, patents, research, internet penetration, renewable energy …
A shame that the focus on car manufacturing for so long cannibalised the software business. I think it could have been a software powerhouse, but was/is not focussing at all on it outside of some shining outliers.
It'll be interesting to (if that ever happens) see whether bluesky, once it actually becomes a decentralized system instead of a closed one, shakes out differently due to protocol differences, or broadly follows the same patterns.
If*
That's the main reason I'm not on it personally: It feels lame to just join the biggest instance, but none of the smaller instances really seem to "click", and I'm not really so keen that I want to run my own instance.
Having One Obvious Choice to join to begin with is the best thing federated services can do to encourage wider adoption.
I think people exaggerate how massive a decision this is. When the news that Twitter might be bought by a naughty melon broke, I revived an old mastodon.online account that I'd created back during a _previous_ Twitter scandal, used that for a bit, then moved to mastodon.ie. Moving is, generally, reasonably easy. Now there are edge-cases; your instance might just _go away_, say. But generally you can't go too far wrong by initially selecting one of the big ones and then moving as and when.
That's only an "edge case" if you don't actually gaf about maintaining your account URI/content/social graph/etc. over time. "The Fediverse" is a bad joke.
Last I checked, the Western or European parts of Fediverse had since been trying hard to distance, obscure, dilute and fight Japanese anime content, without much success. I suspect that's where your felt barrier comes from.
For others reading this, numpad0 means pedophilic anime content.
It was also clear that the European parts were pretty upset, if not felt threatened, about the volume and growth of Japanese users. They came in numbers, they speak languages most don't understand, they post content most aren't interested in, they themselves aren't interested in following European laws -
well, that kind of sound like certain kinds of problem that happens IRL...
e: also, however anyone frames it, it won’t change the fact that they put a lot of effort to keep networks segragated and fractured, rather than the whole unified and distributed.
The decision isn't really that massive, a lot of users have alt accounts on different servers and it's not that difficult to migrate between them.
If you've never used the fediverse before, you don't really know that, do you? I've heard of the "move your account" functionality before, but I don't really think until today I had anyone say to me, "Look, don't worry too much about which server you choose to start out with -- just pick one, because it's super-easy to switch later if you want to try a different one."
> What could federated services do that would make the obvious choice not feel lame?
I admit this is an inconsistency on my part, and probably only limited to people a lot like me: on the one hand, the whole promise of federation is that you can avoid massive centralization; so joining the One Biggest Instance seems kind of pointless. On the other hand, I don't want to join a random small instance which may not be well-maintained; and I don't want to join an instance which is going to pigeon-hole me ("A mastodon instance for developers!" "A mastodon instance for Christians!").
There are different parts of my brain that all want different things, each of which vetoes any particular decision. But this is very much what the "paradox of choice" is about: in many cases, having more options makes you less happy.
I do think it was good that Mastodon embraced this in a way that earlier federated options didn't (e.g., I believe at some point diaspora stopped new sign-ups to their main instance to "encourage federation"; from my perspecitve it encouraged was people to go elsewhere.)
So "what could federated services do better" to solve the paradox of choice? Nothing as far as I can tell -- if you want more choice, you're going to have the paradox of choice; Mastodon at least has already done the only thing I can think of which mitigates it somewhat.
I think that's fair, the resources around joining don't make this particularly clear. Part of the problem is that 'Mastodon' as an organization is not very invested in making this widely known, they would rather people stick with the easy choice because they run mastodon.social. For people who are already on the network it's pretty well understood.
It is listed on this page, at the very bottom (facepalm) - https://joinmastodon.org/servers
This is a better resource if you want more information on it - https://fedi.tips/transferring-your-mastodon-account-to-anot...
I do think there's a paradox of choice issue going on and I can understand why that makes it more intimidating to try it out. One thing that I wish was more widely known is that you can just create an account on multiple servers. If you're not sure you'll like the vibe of a server, create an account and try it, you can either migrate that account or delete it if you decide that server isn't for you. I hope this perspective might make people feel more curiosity and less decision paralysis, it's not a problem to have alt accounts.
> I think that's fair, the resources around joining don't make this particularly clear.
It's also not actually super-easy to switch later.
Everything must be copied over to your server first. Let me say that again: You only see data that is stored on your local instance.
So likes, profiles, replies, etc are all very limited, since your server only stores them from people you follow (since you’re the only user).
Not only this, but this works in reverse aswell. Only servers that know of your existence will see your posts. If no one is following you, only people (and people on their server) you directly reply to will see your posts.
As such, being in a self-hosted instance or small community can be extremely isolating and make it hard to really network with other people outside of the circle that is already around you.
Last i saw it still relied entirely on a single central relay.
Couldn't we make this with existing tech ? Having your own user id as your own domain is easy when everyone is on Bluesky but can already be done today. What's missing ?
A couple of things then happened all at once:
DJB's NaCl became widely available, and, with it, more compact public keys"
NaCl was widely available in 2011. (Maybe as early as 2008 TBH.)
What came in 2013 was that someone took djb's concise presentation of the code and added some cruft to make it palatable to a wider audience.
They're really talented folks so if you have any interested in p2p comms, I'd give them a look. https://keet.io
(Since then the network attracted a userbase that laughed Jack off the site for vaccine denialism, so lol)
Everyone loves free speech until somebody says something they don't like. Basic human behaviour.
Say whatever you want, no one else should be able to stop that. And yes, unfortunately that opens the door for people to say things that a vast majority of us would disagree with to the point of thinking it dangerous. Unfortunately that's the price for free speech, drawing a line through a sea of gray area is an impossible task.
If you want to see my personal views on the matter, you can watch a talk I gave prior to joining the project: https://www.youtube.com/watch?v=ULFj714_Vvo
The decentralization community has never been unified in its views, and a fair number of people have worked on these projects together with different personal motives. What tends to be the common denominator is a concern about unchecked power.
My perspective is that it's it's unavoidable to assign authority -- systems that claim to remove authority actually just obscure it -- and that it's more important to ensure the system has constrain power, creates transparency, and maintains the ability to reassign authority when the current operators lose trust. Ideally, this helps build trust in the people who do run a given system, while they're the ones with the job.
Currently the BlueSky search engine is pretty bad; it only goes back a few hours. If you don't post for a day, none of your posts will be found. Searching on obscure terms doesn't work very well.
No, you really don't.
If you have 10 million people all spread out across small servers, how do you suggest I find everyone posting a particular hashtag?
Social graphs can offer a similar discoverability without search. You see what those you follow post, comment on, like, share, etc. Following tags just like you follow a person also works well. Before assuming we must have to have massive indexing and searching services, ask yourself whether you really need to be able to discover anything that anyone around the world posts, regardless of whether you have any sort of connection to that person, their context, their society, or their culture.
The best I can come up with is a historical record. Beyond that I'm at a loss for a use case that is noticeably better with search compared to social graph-based discovery.
My point was that something like BlueSky can make content more discoverable by letting you build your own social graph and view content from those you're connected to.
Search is most useful for discovering content that you otherwise have no connection to at all. There is also the historical aspect and there really isn't a way around that, but in the original context of finding people actively talking about a specific topic it isn't a necessarily must-have feature.
Otherwise you’re talking about a simple feed on someone else’s computer delivered to you and this defeats the purpose of federalization.
I wasn't pushing for federalization at all, and honestly its a bad fit for anything similar to social networks IMO. Federalization doesn't work well if the goal is universal reach, why federate the network graph when you still want to access all data on the network? The fediverse won't work at scale, the sheer amount of data duplication and network traffic would be insane. Even if we could somehow find a way to handle all the traffic, it sure seems like that would fly in the face of environmental efforts so many are onboard with (storage and bandwidth aren't cheap at that scale).
Anyway, I agree that a social graph has the potential to offer human-scale and $5-VPS-scale discoverability. The problem is probably with user expectation and network effect. How do you get people to use the thing when no one is using it yet, to bootstrap to the point where you might actually bump into someone with the same niche interest as you. Still, it could start with small communities same way telegram group chats and discord servers do. You just have to bring the people to you instead of just trying to index the firehose of global content.
But, I don't think you guys are right. You can have a distributed system that also has authenticated posts. It's been done before, and it will be done again.
And you can delete things. You just gotta trust nodes to also delete them and they probably won't.
And I'm totally willing to help you guys build it. I know, you don't want me to work for you guys because I work at California-based company at the mall. But I assure you, I can get you guys over this little obstacle you've discovered.
Call me! I'll answer 773-510-8601. Or the usual channels.
I still have to see a distributed social network which works well enough for end users. It's not simple if you're centralising everything, no wonder distributed alternatives are hard to come by.