"In other words, you can use libdisco to securely connect peers together," - any idea as to best practise in terms of using Golang library for next step: connecting the peers through firewalls..etc.? Bittorrent clients have become masters when it comes to automating UDP protocol use along with selective hole punching of firewalls on Win/OSX but they are complex beasts to learn from!
I'd say it depends on required speed and use cases. See libp2p's ifaces for swarm, routing, etc. Heck, you could use Tor, make onion services for your peers, and add the names to Bittorrent's mainline DHT for discovery (of course Tor is slower...a price you pay for anonymity)