Custom P2P Messaging
Empower your AVSs with flexible P2P messaging capabilities.
Last updated
Empower your AVSs with flexible P2P messaging capabilities.
Last updated
This enhancement introduces the ability to send custom P2P messages over the AVS network. It enables operators to publish arbitrary data as P2P messages and ensures seamless handling across all nodes in the network.
This guide explains how to send a custom message in the P2P network.
To enable the custom P2P messaging feature, Update the Aggregator or Attester node with the following option:
For more details, refer to the Custom Messaging Implementation guide.
othentic.p2p.custom_message
The new P2P topic othentic.p2p.custom_message
is introduced to handle custom messages.
All nodes subscribe to this topic by default.
sendCustomMessage
Note: If the operator starts without the --json-rpc
option, the custom messaging feature will not be available as the JSON-RPC Service will not be enabled.
Handler: Implemented in the JSON-RPC server.
Functionality:
Accepts raw data in bytes
format.
Publishes the provided data to the othentic.p2p.custom_message
topic.
New Startup Option:
--json-rpc.custom-message-enabled
When enabled, it activates the sendCustomMessage
RPC method.
Endpoint: /p2p/message
Purpose: Receives and processes custom messages from the P2P network.
Behavior: Operator sends an HTTP POST request to this endpoint whenever a message is received on the othentic.p2p.custom_message
topic.
Custom Messaging can be used to implement Leader election mechanisms when an external API is triggered. Upon an external event, a node broadcasts a message request to the P2P network. All the nodes in the network receive this message and run the election algorithm. For implementation details, refer to the Leader election.
Custom Messaging can be used to maintain a dynamic list of active nodes in the AVS network.
Whenever a node joins the network, it sends a Custom message announcing its presence.
Other nodes receive this message and update their internal databases with the new node's details.
This ensures that each operator maintains a real-time, up-to-date list of all other nodes in the network.
Since this feature allows sending arbitrary custom messages, malicious actors could exploit it to spam the P2P network with excessive messages, potentially leading to a Distributed Denial-of-Service (DDoS) scenario.
Recommendations:
Rate Limiting: Introduce rate limits for the sendCustomMessage
method to reduce the risk of abuse.
Monitoring and Alerts: Implement monitoring to detect unusual activity patterns and respond to potential threats.
The custom messages are published as raw bytes
without any validation or schema enforcement. This lack of validation poses a risk if the messages contain malformed or malicious content.
Recommendations:
Validation Responsibility: The AVS developers must implement robust validation and sanitization logic in the Validation Service to handle incoming messages from the /p2p/message
endpoint.
Error Handling: Ensure that the Validation Service handles invalid or unexpected message content gracefully without affecting its stability.