Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

B. 🥊 Decentralized Hole Punching #1461

Open
3 of 4 tasks
p-shahi opened this issue Oct 20, 2022 · 8 comments
Open
3 of 4 tasks

B. 🥊 Decentralized Hole Punching #1461

p-shahi opened this issue Oct 20, 2022 · 8 comments
Labels
kind/architecture Core architecture of project starmaps

Comments

@p-shahi
Copy link
Member

p-shahi commented Oct 20, 2022

eta: 2023Q2

Why: P2P networks can have a combination of both public and private nodes. While private nodes can dial nodes on the public Internet, they are unreachable from the outside as they are behind a NAT or a firewall. We need a mechanism to dial them. A previous DHT crawl found that almost 63% of the network was undialable.

Goal: Implement Decentralized Hole Punching in js-libp2p and bring it to parity with the Go and Rust implementations.

@p-shahi p-shahi added Epic kind/architecture Core architecture of project labels Oct 20, 2022
@p-shahi p-shahi added starmaps and removed Epic labels Nov 28, 2022
@p-shahi p-shahi added this to js-libp2p Dec 6, 2022
@p-shahi p-shahi moved this to 🛣 Roadmap in js-libp2p Dec 6, 2022
@momack2
Copy link

momack2 commented Mar 9, 2023

can we clarify that this is for js-ipfs in the title please?

@p-shahi
Copy link
Member Author

p-shahi commented Mar 13, 2023

@momack2 Any reason to include js-ipfs specifically? This work is not progressing with it in mind. We will need it for Helia but I would still not include any project in the title since it's better to remain product agnostic

@momack2
Copy link

momack2 commented Mar 15, 2023

sorry - I think I meant "js-libp2p" - the reason is because each of these cards shows up with out the repo title in starmaps - so otherwise you have many "holepunching" milesotnes without knowing they are for different libp2p implementations

@SgtPooki
Copy link
Member

SgtPooki commented May 8, 2023

@momack2 we could include the repo-name on milestone cards in starmap to help mitigate this problem?

@p-shahi
Copy link
Member Author

p-shahi commented May 8, 2023

Didn't see the replies above but I support adding the repo-name to the milestone cards

@momack2
Copy link

momack2 commented May 13, 2023 via email

@2color
Copy link
Contributor

2color commented May 7, 2024

@p-shahi Is this still in progress? It was my understanding that this is already implemented in js-libp2p?

@achingbrain achingbrain moved this from 🛣 Roadmap to 🧱Blocked in js-libp2p May 14, 2024
@SgtPooki
Copy link
Member

SgtPooki commented Sep 20, 2024

JS Colo 2024 discussion

We don't do hole-punching in TCP, hole-punching is much more successful with UDP (timing is more reliable)

Things left to do:

  1. Incorporate QUIC transport
  2. Implement missing parts of DCUtR (the half after unilateral connection upgrade)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/architecture Core architecture of project starmaps
Projects
Status: 🧱Blocked
Development

No branches or pull requests

4 participants