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/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