As far as I can tell, Fediverse embraces this as a privacy feature. (It's more of a bump than a roadblock, but still.) I'm not aware of any projects to fix this (although I'm not very immersed into Fediverse development, so maybe check https://fediverse.party, they have a list of Fedi projects).
Ain't a dumb question at all! It actually takes reading the ActivityPub specs to answer it, so no surprise if you didn't get it just from reading the landing page ;)
The answer is: it'll happen automatically. Just search for someone's handle, and your server will talk to that other server. When you follow that other users, your server will start federating with that other servers.
Note though that servers might block each other. For example, many Western servers block Japanese pawoo.net, since it allows posting lolicon. Western servers don't want this content in their timelines and caches, so they block it. If your server blocks another.social, you won't be able to follow anyone on there.
But your question also hints at a real problem with Fediverse (of which Mastodon is a part), which is: each instance only sees a subset of the Fediverse. Thus, searching by hashtag will only get you a subset of all posts that contain it. Full-text search is even more complicated.
Hi, the author here. Thanks for taking a look at the code!
I picked SHA-1 because it was the simplest way to generate pseudorandom data: I knew there's a Rust crate for it which I used before. Works fine for a proof-of-concept :) I'm now reading up on other hashes and ciphers. My tentative plan was to replace SHA-1 with AES-NI in counter mode, but if I can find something that works on all CPUs while giving me a comparable performance, I'll go for that. (Should probably look at PRNGs as well; if I concatenate the file seed with the counter and use that as a seed for a PRNG, then ask it for a value -- it should be good enough too.)
I doubt Lars has requirements for the quality of randomness, but we'll see.