I think that your node will ask for information and publish to all the connected peers if you use PubSub, so I think it should be OK, if it’s the gossip protocol you chose. But I don’t know the Bitswap part very well.m, so double check on that. And the default gossip protocol is now GossipSub in Go, where I think you don’t contact all the connected nodes So be sure to carefully read the specs or explicitly chose PubSub if you’re not sure. This will come with higher bandwidth cost or course.
Yes, you are right. The thing is that if it’s a bootstrap peer, they can introduce you to only malicious peers, so a significant part of your connected peers can be malicious. With default hardcoded safe bootstrap nodes likely being under heavy load and maybe too busy to answer quickly, it’s something to be considered. (Haven’t measured that though. Maybe they are lightening quick.)
I’m not sure about that. You should look up the autoNAT and autoRelay features in the specs and their status in your chosen implementation to be sure. I know your node stops trying eventually, but it may be once it has exhausted all peers or after N tries. IDK.
NB: I don’t even think you have to use a bootstrap peer. (But I’m not sure you can use any node, though)
All that being said, specs says that your client will drop bad connections following some heuristics (bandswith, delay, reliability, uptime,… ) I have no idea if it’s implemented yet. If that’s the case, your client will be able to clean its connexion set and keep healthy friends. To be checked. In that case, you being snooped on and performance issues on some specific contents the eclipsing nodes don’t want you to access or publish are the only threat I see. (And they can filter only a few of them or you will drop the connection for lack of reliability to provide a content other peers are able to find.)
Maybe you wanna have a look here: https://docs.libp2p.io/concepts/ and https://libp2p.io/implementations/