What is the SHREX protocol?
mainSHREX (Share Exchange) is the data availability protocol for the Celestia network. It is designed to enable efficient peer-to-peer data exchange, specifically allowing light nodes to perform data availability sampling without downloading entire blocks.
SHREX is not a single mechanism but a suite of four coordinated components:
- Client/Server Protocol: A request-response mechanism used to retrieve specific data from peers.
- ShrEx/Sub Protocol: A push-based notification system that announces the availability of new blocks.
- Peer Discovery: A DHT-based mechanism used to find peers with specific capabilities.
- Peer Manager: A central coordination component that manages peer pools, selects optimal peers for requests, and validates notifications.