Skip to content

identify: Update local node listen addresses #191

Closed
@lexnv

Description

@lexnv

The identify protocol provides as response a listen_addresses field.
The remote peer uses this field to insert self reported addresses into the Kademlia DHT.

Substrate makes use of the listen addresses here.

The problem is that the identify protocol starts with a static set of addresses, which may expire or become invalid:

listen_addrs: self
.listen_addresses
.iter()
.map(|address| address.to_vec())
.collect::<Vec<_>>(),

This might be one of the reasons why we've seen low connectivity with peers over the long term (~90 days).

The Identify protocol can be extended to receive verified addresses for healthier listen addresses.
For the Substrate perspective, when we deem a "remote address" as valid (after 2 encounters), that address needs to be reported back to the Identify protocol.
Libp2p already has a similar mechanism of discovery via the ExternalAddressDiscovered and confirming addresses.

### Tasks
- [ ] https://github.com/paritytech/litep2p/pull/212

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions