project screenshot 1
project screenshot 2
project screenshot 3

R Portal

Rings Portal is a TcpProxy implementation based on the Rings DHT. It allows for the anonymous establishment of tunnels on the network in a centralized manner, aiming to offer decentralized services with enhanced privacy and security.

R Portal

Created At

ETHOnline 2023

Project Description

Rings Portal is a Tcp Proxy implementation based on the Rings network. It allows for the anonymous establishment of tunnels on the network in a centralized manner, aiming to offer decentralized services with enhanced privacy and security.

Imagine User A wanting to provide an IPFS API service. In a conventional setup, User A would have to share their real IP address, which poses various privacy risks. Traditional anonymity solutions like Tor come with their own set of challenges; for instance, end-users might need to deploy their own Tor nodes or access services through certain gateways.

Enter Rings Portal. With this, User A doesn't need to disclose their actual IP. Instead, they expose their Decentralized Identifier (Did), often linked to their Ethereum address, to the network. This is where the elegance of Rings Portal shines. It handles the intricacies like service discovery and registration, effectively abstracting the complexities for the end-users. Given that Rings Portal integrates with the Wasm-based Rings Network, users only need the Service Provider (User A)'s Did to connect and avail the service, eliminating traditional barriers to secure and private service access.

How it's Made

Implementation Details of Rings Portal

Rings Portal uses Chord DHT for service discovery and registration, employs the Rings Relay network to implement Tcp Tunnel, and harnesses WebRTC Transport to achieve service penetration. Below are the implementation details.

Tcp Proxy Signals

Rings Portal operates based on three fundamental signals:

  • TcpDial: Used to initiate a Tcp connection.
  • TcpClose: Employed to terminate a Tcp connection.
  • TcpPackage: Facilitates the sending of Tcp packets.

TcpProxy Realization via Backend

At its core, Rings Portal operates as a decentralized reverse proxy. The two ends of this proxy respectively emulate the roles of a traditional tcp proxy's client and server. When a Client desires access to a particular resource via the Server, the communication ensues by connecting through the Server's Did, facilitating message transmission and reception.

Service Discovery and Registration via Chord DHT

Rings Portal harnesses the capabilities of Rings DHT (Distributed Hash Table) for service registration and discovery. For instance, if one wishes to register a service named "ipfs_provider", it will be logged in the DHT with the following key-value pair: hash(ipfs_provider) to Did (Decentralized Identifier).

Network Communication via Rings Relay

To establish network communication, Rings Portal leverages the routing algorithm of Rings DHT. The Chord algorithm plays a pivotal role in this process. Consequently, the expected ideal number of relays for communication is six.

background image mobile

Join the mailing list

Get the latest news and updates