Does anyone know of a good document describing how mastodon federation works? How do new instances become discovered, what determines whether other instances federate with them or not by default? Also (especially), what is the role of relays? I keep encountering references to relays, and lists of them, but I haven't found anything describing their function, their role in the network distinct from server instances. Any breadcrumbs would be greatly appreciated!