[Shipped] NAT traversal solution for Incognito

Weekly update May 11 -> May 15:

  • Due to the need for a more complex test, we have switched to using iptables alongside pfsense.

  • Continues coding for the NAT traversal test library.

1 Like

Weekly update May 18 -> May 22:
Achievement:

  • We have successfully simulated and traversal different cases of NAT types. Our current implementation of traversal methods is working as intended.
  • Here a draft of how a node can get p2p connectivity:
    nat-2

Next week:

  • We will test relay mode for cases that node can’t be connected via direct connection or hole-punching method. The objective of this test is to see whether relay mode is a viable option when Highway isn’t available.
2 Likes

Over the past month, we have researched and developed a solution to NAT traversal for nodes and decided the role of p2p and Highway in Incognito network.

Here an updated network communication logic after we have tested relay mode:
nat-3

P2P and Highway strategy:

  • Highway will be use mainly for blocks/data syncing.
  • P2P will be use for committee members to communicate consensus.
    Copy of Untitled Diagram-2

This is the final update of this proposal. For future updates and development related to this proposal please follow the linked proposal in the main post here.

2 Likes

After reading this discussion on network topology, I learned a lot. But as a non-expert, I was left with this one question after reading all of the above:

Hypothetically should the Highway fail (for any reason), would the Pnodes and Vnodes already synced and in committee be able to continue P2P functioning (achieve consensus/produce blocks) for the network?

I want to make sure I understand the sentence “We are not switching to fully using P2P connection, both Highway and NAT traversal methods will be used.” Using P2P and Highway in parallel could mean one still functions partially without the other (albeit less efficiently), but using P2P AND Highway interdependently would mean if one fails so does the other. Could you clarify this for a not so technically savvy interested reader?

2 Likes

Hi Northhill,
Our goal with this proposal is to make the committee to achieve consensus with and without Highway but currently Pnodes and Vnodes are not using P2P connection so the committee will not able to produce blocks without Highway.

There is a follow-up proposal about network topology for efficiently using P2P and Highway in parallel but we are temporally postponed it to focus on other more important topics first.

2 Likes

thanks @lam for the answer, just wanted to add one more point to this. Currently, we’re using Highway (as a proxy) for communication between nodes in the network, but when looking into our Roadmap we have also plan to research a new topology to be able to make the network more stable and resilient.

3 Likes

Thank you both @lam @duc for the responses. Just out of curiosity, I happen to be reading about Caradano Staking pools and I noticed the picture of their network topology here. This is not the complete topology I assume, but
cardanostakepoolsetup
The function of the Cardano relay nodes in relation to Core nodes seems very similar to the function of the Highway to pnodes in Incognito. Are incognito and cardano using similar network topologies?

2 Likes

Yes, we are similar in some ways.

See here for more detail about how the current Incognito network works Highway topology

1 Like