-
Notifications
You must be signed in to change notification settings - Fork 293
Description
The discussion on whether one should be able to dial a peer without knowing their peer ID has come up many times.
Today two implementations (nim-libp2p and rust-libp2p) support dialing a peer without knowing their peer ID.
Copying use-cases from @Menduist from a recent discussion on Slack:
-
Connecting to a peer with a trusted IP & port combo, without having to know his PeerId. For instance, in eth2 you can have one / multiple public facing nodes, and one hidden node in your network actually doing the validation, to prevent ddos attacks on that node. Since this is in a private / secure network, you can trust peers by IP & port without validating their PeerId. And allowing them to change PeerId regularly is a bit more secure
-
Assuming dnssec, dialing multiple peers a dnsaddr provides you without having to know their PeerId before-hand. For instance, in eth devp2p, they have a nice DHT crawler which puts every peer it finds into a dnsaddr like recursive record, allowing to bootstrap without dedicated servers. More infos here
-
Random crawling with a nmap, but that seems unlikely to me
While I don't think we have nor will find consensus on whether an implementation supports dialing a peer without their peer ID, I do think there is value documenting that implementations may support this and the rational for it.
I think a short paragraph in https://github.com/libp2p/specs/blob/master/connections/README.md would suffice.
@Menduist would you want to tackle this?
Metadata
Metadata
Assignees
Type
Projects
Status