It would be nice to see a technical overview, but this is absent from their docs. Looking at their modules reference docs the runtime seems to comprise:
- A distributed replicated log
- Peer discover via a distributed hash table
- UDP holepunching to set up direct connections
- A TCP like protocol running over the UDP connection
- Key-based crypto routing (ala wireguard)
I assume there needs to be some servers available to facilitate the holepunching. Not sure how that works.
> needs to be some servers available to facilitate the holepunching
Not needed.
Other phones can help you determine connectable ports. You can create a phone-to-phone overlay and even puncture carrier-grade NATs. See our birthday paradox attack and initial dozen SIM cards measurements: https://arxiv.org/abs/2311.04658
Older university project, similar to Holepunch with more dev docs: github.com/Tribler/trustchain-superapp/
It would be nice to see a technical overview, but this is absent from their docs. Looking at their modules reference docs the runtime seems to comprise:
- A distributed replicated log - Peer discover via a distributed hash table - UDP holepunching to set up direct connections - A TCP like protocol running over the UDP connection - Key-based crypto routing (ala wireguard)
I assume there needs to be some servers available to facilitate the holepunching. Not sure how that works.
https://pears.gitbook.io/pears-docs/