I would love to be able to run a Light Relay Node. Just a small piece of software running in the back of my computer, connecting to let’s say 2-3 Participation Nodes and 2-3 other Relay Nodes, of which at least 1 could be an Archival Node or part of the “vetted” group of 120+ nodes receiving funding from the Foundation.
Currently there’s an expectation that Relay Nodes need to be these incredibly powerful machines, both to sort out which blocks to send where, but also in terms of networking capability.
A relay node uses the same software install as a non-relay node and only requires setting a few additional configuration parameters.
A node is a valid relay node if two things are true:
- The node is configured to accept incoming connections on a publicly-accessible port (4161 by convention).
- The node’s public IP address (or a valid DNS name) and assigned port are registered in Algorand’s SRV records for a specific network (MainNet/TestNet).
Relay nodes are where other nodes connect. Therefore, a relay node must be able to support a large number of connections and handle the processing load associated with all the data flowing to and from these connections. Thus, relay nodes require significantly more power than non-relay nodes. Relay nodes are always configured in archival mode.
My suspicion is that it is for performance reasons, since PPoS mechanism + Participation/Relay Node partitioning keeps the blockchain’s integrity safe from malicious Relay Node runners (who can at worst cause a network halt).
But it would be better for decentralization of the entire network if there was a mix of lighter Relay Nodes and more powerful Relay Nodes.