Implement GossipSub as an alternative networking protocol for Algorand Nodes #5603
Labels
Epic
new-feature-request
Feature request that needs triage
p2p
Work related to the p2p project
Team Carbon-11
Background
One of our goals is to fully decentralize Algorand and eliminate the dependence on centralized entities in order to ensure the longevity and stability of the network. In particular, we wish to remove the centrally managed DNS infrastructure containing lists of approved trusted peers.
Problem
Our current network protocol relies on relay nodes to perform message all forwarding and serve as the facility to connect all nodes in the network. Since relays are a permissioned set of nodes, this is a source of centralization.
In order to remove this barrier to decentralization, we will gradually transition the network from requiring relays to making relays optional.
In the new set up, Algorand could have a base network that forwards messages with no need for centralized entities and provides the ability for node operators to set up their own "fast-paths" on the network with specialized relay nodes.
Solution
We will use libp2p, a networking library that provides features such as configurable multiplexed transports, message routing, peer addressing and discovery, NAT hole punching, secure channels, and block data exchange. Libp2p is currently used by IPFS, Filecoin, Polkadot, and Ethereum’s PoS consensus clients.
This will allow Algorand to gradually adopt libP2P features, begin relieving relays of their responsibilities, and transition our current network to a fully permission-less P2P network.
Project Phases
Phase 0: Optional LibP2P network implementation, disabled by default
Outcome
Nodes can be configured to be P2P nodes and begin forwarding and accepting tx traffic on the network
Definition of Done:
Notes:
Phase 1-N: More phases to come...
The text was updated successfully, but these errors were encountered: