The Aperture - vol. 1

Welcome to the first volume of "The Aperture".  This series will provide regular development updates on the Portal Network.

TLDR:

Towards a Test Network

There has been a lot of development in the Trin and Fluffy clients to build out the basic functionality needed for the part of the Portal Network responsible for serving the Ethereum state data (accounts and contract storage).  Teams are now working to tie all of this functionality together into what is needed to deploy a live test network.

Generic Overlay Protocol

In building out both the State and History networks it became apparent that they shared a significant amount of architecture.  As we wrote their respective specifications, they ended up having a very large amount of duplicate definitions for things like the message types, and even high level things like how nodes in those networks should manage their routing tables.

In our most recent weekly call we came to agreement on a generic overlay protocol that will allow us to write a single specification for all of the low level network functionality necessary to build out all of the different networks that make up the Portal Network.

Browser Based Clients

The idea of allowing browsers to participate in the Portal Network has been on the table since the very beginning, but we've only just recently come up with a plan for how we might actually do this.

The Portal Network is built on UDP which unfortunately is not one of the networking transports exposed by browsers. Browsers do however support websocket connections.  A recent experiment was successfull in using a very thin proxy to allow a browser based client to establish a connection to the discovery v5 network.  This approach is very appealing because it is maintains the same levels of privacy that people typically have with their ISP, meaning that the proxy isn't privy to the encrypted information passing through it, and only gets basic information on what IP addresses are being communicated with and how much data is flowing to and from each address.

Thanks to Acolytec3 for their work running these experiments and doing the preliminary work on ultralight, an experimental portal client written in TypeScript that can run in the browser.