(Serious question - I've not used it myself, and I'm intrigued at the process.)
endpoints are identified by their public key hash. each endpoint maintains a set of anonymized routes. this routing information is stored in a Distributed Hash Table (DHT). if you want to connect to another endpoint, you lookup the route for the public key hash, build an outbound route, and you're good.
more concretely, an ipfs transfer would work by using public key hashes in place of IP addresses to identify peers and a known set of endpoint keys for bootstrapping.
I like it.
Now, is it available today in a form (as the OP put it) which "A person whose computer knowledge extends to using facebook" can use?
Am I missing something?
1. click bit torrent 2. click create torrent 3. type the path to your file 4. share magnet link
magnet:?xt=urn:btih:d0da0a2cac2bb3fd7ba6548edef12a24122ef481&tr=http://diftracker.i2p/announce.php
then you're clearly not the person we should be asking to build this kind of thing are you? :-)
my proposal actually solves two important problems with peer-to-peer systems, and I barely have to write any new code to make it work! the solution? i2p! it's an anonymous mix network, much like Tor, but completely decentralized. using an intermediary dex mix network fixes the nat issue and prevents you from leaking your IP address to other peers.
https://geti2p.net/en/comparison/tor