The majority of NATs can be hole punched.
If you can't hole punch then you will connect to your friend through a couple TCP nodes. They act like relays.
TCP nodes are pretty much randomly selected by peers and anyone can host them.
Everything is encrypted and TCP nodes are regarded as being possibly hostile so there should not be any security issues.