2 min read

Connecting two computers over the Internet is difficult. Software needs to negotiate NATs, firewalls, and limited IPv4 addresses. To overcome this issue, the Beaker browser team is releasing a new Kademlia DHT-based toolset for connecting peers called ‘Hyperswarm‘.
Currently the team uses a tracker to get users connected. However, to move towards a more decentralized model, the team has been working on Hyperswarm to improve the reliability of the Dat project connections.

What is Hyperswarm?

Hyperswarm is a stack of networking modules that finds peers and creates reliable connections. Users join the swarm for a “topic”. They periodically query other peers who are part of the topic. To establish a connection between peers, Hyperswarm creates a socket between them using either UTP or TCP. It uses a Kademlia DHT to track peers and arrange connections. The DHT itself includes mechanisms to establish a direct connection between two peers in which one or both are behind firewalls or behind routers that use network address translation (NAT).

A few things about Hyperswarm that you should know

Iterating on security

DHTs have a number of denial-of-service vectors. There are some known mitigations for the same, but they have tradeoffs. The team is thinking through these tradeoffs and will iterate on this over time.

Hyperswarm is not anonymous

Hyperswarm does not hide users’ IPs. Devices join topics by listing their IP so that other devices can establish connections. The Dat protocol, however, takes steps to hide the topics’ contents. When downloading a dat, the protocol hashes the dat’s key to create the swarm topic. Only those who know the dat’s key can access the dat’s data or create new connections to people in the topic. The members of the topics are public.

The deployment strategy

The team will be updating the tracker server to make the deployment backward compatible. This will make it possible for old Dat clients to connect using the tracker, while new clients can connect using the DHT.
Hyperswarm is MIT licensed open-source and can be found at the following repositories: Network, discovery, dht

To know more about this preview release, head over to pfrazee.hasbase.io.

Read Next

Linkerd 2.0 is now generally available with a new service sidecar design

Red Hat Enterprise Linux 7.6 Beta released with focus on security, cloud, and automation

Android Studio 3.2 releases with Android App Bundle, Energy Profiler, and more!