Public TURN with Dfinity?

As I understand, Dfinity implements some kind of high-end kademlia-based routing mechanism for many things (node discovery, content delivery and so on). Maybe it’s not kademlian, but anyway. For such distributed algorithm to be reliable it is important to enhance it with various NAT traversal techniques. So I assume that every node supports these techniques.
Meanwhile there is a very handy frontend technology called WebRTC used for p2p inbrowser communication. To establish WebRTC connection one needs to implement the same NAT traversal routine (or use some public ICE/TURN server for this) to discover peers’ IP addresses.

Dfinity is very cool, but slow, so no real-time chats and video streaming (on-chain video streaming haha). WebRTC is not so cool, but also secure and very fast - and every fast interaction between users that doesn’t change the state, but delivers information can be performed with it.

So, here is my very convenient question: will the internet computer expose it’s NAT traversal capabilities so others could take advantage of it.


Interesting question. I’m not sure the node comms layer is really going to be exposed to applications like this, but that could be useful couldn’t it. Feature request?


That would be awesome, I think. Client js-library can abstract everything away and create something like more powerful and lightweight web3’s shh analog.

Feature request?

Sure. How can I issue it?

1 Like

It should get seen in here actually, these threads are checked by the various teams. You can feel free to send feature requests to too.

Is it worth adding a feature request tag @Mike_DFN?

1 Like

Some networks pursue to be usable from mobile devices through light clients/nodes. The question is, if Dfinity is pursuing to have some state validation on end-user’s devices. But if so, especially for mobile devices, NAT traversal techniques are paramount. If however the only nodes are located in data centers, I assume it to be not so important.