libp2p / libp2p/specs

Proposal: use a list of addresses in priority order for autonat v2 dial requests

Open
#539 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
1.8k
Forks
320
Avg merge
11d 15h
Merged PRs (30d)
1

Description

In discussion with @marten-seemann he suggested:

Maybe the client could send a list of addresses it wants dialed, in descending priority. The receiver would pick exactly one of them and dial it

the proposal is:

Client has a list of addresses it wants to determine reachability for. In a dialRequest they send this list of address in priority order to the autonat server. The autonat server dials the first address it is capable of dialing and reports success or failure for that address.

This will be helpful in cases where we are interested in determining reachability for a newly address transport for which support in the network is low. Many requests for this new transport address will be rejected because the server cannot dial this transport. This proposal allows us to reuse those requests to check reachability for other addresses.

For some history this suggestion is an improvement over the scheme suggested here https://github.com/libp2p/specs/pull/538#discussion_r1162730358 . This scheme aimed to solve the same problem.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the autonat v2 dial-request proposal and the linked specs pull-request discussion for the earlier approach. Clarify the protocol behavior, wire-format implications, and compatibility requirements with maintainers; the work is done when the proposal is resolved and the relevant libp2p specification is updated.

Written by the indexing model from the issue text.

Assessment

Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.