Messaging Commands
The messaging commands enable secure, encrypted communication between addresses on the Quilibrium network, providing privacy-preserving messaging capabilities.
Overview
Quilibrium's messaging system provides:
- End-to-end encrypted messages between addresses
- Multiple inbox support for enhanced privacy
- Message storage and retrieval
- Privacy controls to minimize correlation
Message Management Commands
Retrieve Messages
Fetch new messages from the network.
qclient message retrieve [<InboxKeyName>]
Parameters:
[<InboxKeyName>]
: Optional specific inbox key to retrieve messages for
Behavior:
- Without inbox specified: Retrieves messages for all inbox keys (lower privacy, increases correlation)
- With inbox specified: Retrieves messages for specific inbox only (higher privacy)
Examples:
Retrieve all messages (all inboxes):
qclient message retrieve
Retrieve messages for specific inbox (recommended for privacy):
qclient message retrieve private_inbox
For maximum privacy, always specify an inbox key name rather than retrieving from all inboxes at once. This reduces the ability for network observers to correlate your different identities.
Send Message
Send an encrypted message to a recipient.
qclient message send <InboxKeyName> <RecipientInboxKeyAddress> <Message>
Parameters:
<InboxKeyName>
: Your inbox key to send from<RecipientInboxKeyAddress>
: Recipient's inbox address<Message>
: Message content to send
Example:
qclient message send my_inbox 0xrecipient123...def "Hello, this is a private message"
Messages are automatically encrypted using the recipient's public key. Only the recipient with the corresponding private key can decrypt and read the message.
Show Messages
Display stored messages for a specific inbox.
qclient message list <InboxKeyName>
Parameters:
<InboxKeyName>
: Inbox key name to show messages for
Example:
qclient message list private_inbox
Delete Message
Remove a message from local storage.
qclient message delete <InboxKeyName> <MessageId>
Parameters:
<InboxKeyName>
: Inbox containing the message<MessageId>
: ID of the message to delete
Example:
qclient message delete private_inbox 0xmsg001
Deleting a message only removes it from local storage. The sender may still have a copy of the sent message.
Privacy Considerations
Multiple Inboxes
Using multiple inbox keys provides several privacy benefits:
- Identity Separation: Different inboxes for different purposes/identities
- Reduced Correlation: Harder to link activities across inboxes
- Selective Disclosure: Share specific inbox addresses as needed
Example Setup:
# Create different inboxes for different purposes
qclient key create work_inbox x448
qclient key create personal_inbox x448
qclient key create marketplace_inbox x448
Retrieval Strategies
High Privacy (Recommended):
# Retrieve from specific inboxes separately
qclient message retrieve work_inbox
qclient message retrieve personal_inbox
Convenience (Lower Privacy):
# Retrieve from all inboxes at once
qclient message retrieve
Message Encryption
All messages are encrypted using:
- Sender Authentication: Messages are signed by the sender
- Recipient Encryption: Only the recipient can decrypt
- Forward Secrecy: Past messages remain secure even if keys are compromised
Best Practices
Inbox Management
- Create Purpose-Specific Inboxes: Separate inboxes for different activities
- Rotate Inboxes Periodically: Create new inboxes for enhanced privacy
- Secure Key Storage: Backup inbox keys securely
Message Hygiene
- Regular Cleanup: Delete old messages to reduce storage
- Verify Senders: Confirm sender addresses before trusting content
Privacy Protection
- Use Specific Retrieval: Always specify inbox when retrieving
- Limit Address Sharing: Only share inbox addresses when necessary
- Monitor Activity: Regularly check for unexpected messages
Common Use Cases
Secure Communication
# Alice creates an inbox
qclient key create alice_inbox x448 Messaging
# Alice shares her inbox address with Bob
# Bob sends a message
qclient message send bob_inbox 0xalice_inbox_address "Secure message content"
# Alice retrieves and reads
qclient message retrieve alice_inbox
qclient message list alice_inbox
Anonymous Marketplace
# Create anonymous inbox for marketplace
qclient key create anon_market x448 Messaging
# Share address only for specific transactions
# Retrieve messages privately
qclient message retrieve anon_market
Multi-Identity Management
# Different identities with separate inboxes
qclient key create identity1_inbox x448 Messaging
qclient key create identity2_inbox x448 Messaging
# Retrieve for each identity separately
qclient message retrieve identity1_inbox
qclient message retrieve identity2_inbox
Troubleshooting
Common Issues
"Inbox key not found"
- Verify the inbox key exists:
qclient key list
- Create the inbox key if missing:
qclient key create <name> x448 Messaging
"Message decryption failed"
- Ensure you have the correct private key for the inbox
- Verify the message was sent to the correct inbox address
"No new messages"
- Check network connectivity
- Verify the sender has the correct recipient address
- Try retrieving from all inboxes to debug
"Message send failed"
- Verify recipient address format
- Check network connectivity
Related Commands
- Key Commands - Create and manage inbox keys
- Token Commands - Manage QUIL for message fees
- Hypergraph Commands - Store message references