Skip to content

WakuChat Protocol #73

Draft
jazzz wants to merge 3 commits intomasterfrom
jazzz/wakuchat
Draft

WakuChat Protocol #73
jazzz wants to merge 3 commits intomasterfrom
jazzz/wakuchat

Conversation

@jazzz
Copy link
Contributor

@jazzz jazzz commented Jul 15, 2025

This PR adds the initial specification for WakuChat, a decentralized communication protocol optimized for Waku.


Naively, conversation_ids are sufficient to allow clients to determine how to decrypt a payload. As the conversation_id corresponds to the ConversationType which defines how payloads are encdoded, and the encryption state is linked to the specific identifier. However this would leak Conversation metadata, as observers could determine which payloads belonged together into a group. Instead a hint is used which allows clients to check if this payload is of interest. A ConversationHint does not contain identifying information.

ConversationHints are computed by using a salted hash of the `conversationId`. specifically defined as `lowercase_hex(blake2s(salt || conversation_id))`.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This approach to hinting offers insufficient privacy protections. A strategy using either SealedSender or Ratcheting Private Identifiers would be better suited.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant