First, we need a master server or servers to be mirrored
Not to sound rude but this sounds like an extreme case of centralization. Who controls the "master server"? What happens if they are a malicious actor?
Second, anyone should, at any time , be able to request to volunteer in the mirror-list
This is almost exactly what we have now. You can run a listening node even without a static IP, you just need the port forwarded.
Third, when users have fallen too much behind, or are doing their first sync, unless they have this specific option disabled, they must start synchronizing selecting a random server.
By default, if a node has not received a block for a half hour it will request blocks from other nodes (I think). And you can always use the "Download Blocks" feature. I understand that this can be kind-of slow, but there has been a little bit of discussion in the slack on hosting our snapshots as consensus-generated torrents, instead of on the gridcoin.us server.
it doesnt run in the blockchain. Its a supplement to blockchain. It just synchronizes the data using rsync. It could be compromised, but if a bad actor took control of it, it would still have to spread to 51% of running nodes. Which is extremely unlikely. Think of it as a more elegant and efficient solution to download blocks.
I also like the idea of torrents, but i think that approach is actually vulnerable to being taken over malicious actors.
Only a Idea of a Concept(I dont think its easy to Implement)
I would personaly like more a System in the Wallet that lets say every day/960 Blocks try to find Consensus(hash of the blocks)of the Days befor... If the Package of the blocks is Approved for maybe 30Days/29k Blocks, it can be Propagated over somethink "Torrent like".