ok so, i think my ideal implimentation would be this: your instance acts as a post office.
your client addresses things, under the hood, to 'everywhere you havent blacklisted, and also where the instance has blacklisted' unless you specify it only to go to specific addressees (followers, mutuals, @)
this also would make it easyish to impliment local-timeline-only posts, or cluster similar-minded instances into 'herds'
blacklisting is ideal here because, if nothing else, the sheer ammount of CPU load whitelisting would cause if you wanted to federate to all of mastodon but nowhere else
@cadey its not string comparisons as much as if everyone is doing this -- current stuff is already hard on things
@cadey which is to say, its more requests than it already is, so the less the better