Messaging & Communication
Last updated
Last updated
Waivlength's messaging system is designed to facilitate seamless and secure communication within tokenized spaces. Built on the Matrix protocol, it provides decentralized, real-time messaging that keeps community interactions fluid and accessible. Within each tokenized space, users can easily engage, share ideas, and collaborate with powerful messaging features integrated directly into the platform.
The messaging system is fully integrated within each tokenized space, allowing members of the community to communicate in context. As users engage within the space, they can discuss governance proposals, token events, or general community updates. Messaging is central to the success of each space, ensuring projects have the tools needed to keep their communities informed and active.
Within tokenized spaces, the messaging system also supports the creation of multiple channels, allowing for organised discussions around specific topics or initiatives. Whether it's governance, development, or social interaction, communities can create dedicated messaging environments to focus on key areas of their project.
Waivlength's communication tools provide users with a robust suite of features to enhance interaction:
Mentions: Tag specific users to grab their attention within discussions, ensuring relevant contributors are part of key conversations.
Reactions: Quickly respond to messages with emojis, allowing for fast, intuitive feedback within chats.
Replies: Respond directly to specific messages to keep conversations organised and focused.
Edit and Delete: Edit sent messages for corrections or updates and delete messages when needed, providing flexibility for real-time communication.
Waivlength’s messaging system is built on the Matrix protocol, a decentralized standard that ensures data privacy and security. By leveraging Matrix, Waivlength ensures that communication within spaces is resilient, allowing communities to interact without the need for centralized servers. This decentralized architecture also makes Waivlength’s messaging system future-proof as the ecosystem evolves.
Looking ahead, Waivlength is dedicated to expanding the capabilities of its messaging system through smart messaging features and integrations:
Smart Contract Interactions: Users will be able to execute smart contracts and perform blockchain transactions directly within the messaging interface, streamlining workflows and reducing the need to navigate away from conversations.
Web3 Asset Interactions: Share and interact with tokens, NFTs, and other blockchain assets within messages, enriching the communication experience with tangible Web3 elements.
Third-Party Integrations: Incorporate external tools and services to enhance functionality, such as bots for automated tasks, notification systems, or integration with productivity tools.
These advancements aim to transform messaging within Waivlength into a dynamic platform that not only facilitates communication but also enables actionable collaboration. By bringing more functionalities into the messaging interface, communities can operate more efficiently and cohesively.
End-to-end encryption (E2EE) is a cornerstone of Waivlength’s commitment to providing secure and private user communications. Our ongoing development ensures that user messages remain confidential and protected from interception—even by Waivlength itself.
Our approach leverages Hierarchical Deterministic (HD) wallets based on Ethereum private keys, combined with the Matrix protocol’s E2EE standards. This integration offers the security of blockchain technology alongside a proven messaging encryption framework. Designed with scalability in mind, Waivlength is currently built on Ethereum but is structured to support multiple blockchains seamlessly in the future.
This document outlines our comprehensive strategy for implementing E2EE in Waivlength, focusing on HD wallet integration, key management, and encryption mechanisms that will support a multi-blockchain ecosystem.
Waivlength users interact with Web3 wallets and Ethereum private keys during onboarding. To extend functionality beyond Ethereum and support multiple blockchains in the future, we are adopting a Hierarchical Deterministic (HD) wallet approach. This enables the derivation of separate keys for different blockchains and encryption purposes from a single master seed, simplifying user key management while enhancing security.
By integrating HD wallets with the Matrix protocol—which employs Olm for one-to-one encryption and Megolm for group chats—we provide a secure messaging experience that is both scalable and user-friendly. Encryption keys are derived from the master seed, allowing Waivlength to support multiple blockchains without requiring users to manage additional keys.
Our E2EE implementation strategy involves the following key steps:
User Onboarding & HD Wallet Setup
Wallet Generation/Import:
Generation: Upon onboarding, users can generate a new HD wallet.
Import: Users can import an existing HD wallet using their seed phrase.
The HD wallet adheres to standards such as BIP32/BIP44, enabling the derivation of multiple child keys for different blockchains and encryption.
Key Derivation:
Master Seed: A single master seed is used to derive all necessary keys.
Blockchain Keys: Separate key paths are defined for each supported blockchain (e.g., Ethereum, Solana).
Encryption Keys: Dedicated key paths are established for E2EE operations, ensuring cryptographic isolation from blockchain keys.
Secure Storage:
Derived keys are securely stored on the device using platform-native secure storage solutions (e.g., Secure Enclave for iOS, Keystore for Android).
Device Registration and Key Management
Device Identification:
Each device logging into Waivlength is treated as a new entity in the Matrix protocol.
Generate device-specific encryption key pairs (Ed25519 for signing, Curve25519 for encryption) derived from the HD wallet’s E2EE key path.
Key Upload:
Upload public encryption keys to the Matrix homeserver, enabling other users to retrieve them for establishing secure sessions.
Message Encryption & Decryption
One-to-One Chats (Olm Protocol):
When sending direct messages, retrieve the recipient’s public encryption keys from the Matrix server.
Encrypt messages using the Curve25519 keys derived from the HD wallet’s E2EE path.
The recipient decrypts the message using their corresponding private E2EE key.
Group Chats (Megolm Protocol):
For group messaging, initiate a shared symmetric Megolm key derived from the E2EE key path.
All group participants use this shared key to encrypt and decrypt messages within the group.
Key Rotation and Session Management
Regular Key Rotation:
Implement policies to frequently rotate session keys, particularly one-time keys used for initial message exchanges.
Re-derive keys from the master seed as needed, maintaining security without user intervention.
User Experience and Key Abstraction
Single Seed Phrase:
Users manage a single master seed phrase, which is used to derive all necessary keys.
All encryption complexities are handled behind the scenes, providing a seamless user experience.
Key Backup and Restoration:
Users can restore encryption keys by re-entering their master seed phrase during device setup.
All derived keys, including those for multiple blockchains and E2EE, are recoverable from the master seed.
Unified Key Management: Users manage a single master seed, simplifying security while ensuring that all derived keys remain secure and isolated.
Matrix Protocol Compliance: By leveraging Matrix’s Olm and Megolm protocols, Waivlength adheres to industry-standard cryptographic practices, benefiting from ongoing updates from the Matrix community.
Forward and Backward Secrecy: Matrix’s double-ratchet algorithm ensures that past and future messages remain secure, even if a session key is compromised.
Privacy by Design: All encryption and decryption processes occur locally on user devices, ensuring that Waivlength servers have no access to private messages.
While Waivlength is currently built on Ethereum, our HD wallet-based key management system is designed to support multiple blockchains. As we expand to include additional blockchains like Solana, the HD wallet will derive separate keys for each blockchain, maintaining cryptographic isolation and ensuring that message encryption remains secure and consistent across all supported ecosystems.
Hierarchical Key Derivation:
Utilize HD wallets to derive distinct keys for each blockchain and for E2EE from a single master seed.
Define standard derivation paths for each supported blockchain to ensure compatibility and prevent key reuse.
Modular Architecture:
Implement an abstraction layer for blockchain-specific functionalities, facilitating easy integration of new blockchains without altering core messaging and encryption logic.
Develop a dedicated encryption module that interfaces with the key derivation system, ensuring independence from the underlying blockchain.
Scalable Key Management:
Allow dynamic generation of keys based on the number of supported blockchains, ensuring scalability as more ecosystems are added.
Continue leveraging platform-native secure storage for all derived keys, maintaining robust security across multiple key types.
User Experience:
Maintain a unified interface that abstracts the complexity of multiple blockchains, presenting users with a seamless experience.
Ensure that message encryption and decryption remain consistent and secure, regardless of the underlying blockchain context.
HD Wallet Structure:
Master Seed: Derived from the user’s seed phrase, serving as the root for all key derivations.
Child Keys: Separate derivation paths for each blockchain and for E2EE operations.
Modular System Design:
Blockchain Abstraction Layer: Encapsulates blockchain-specific functionalities, allowing easy integration of additional blockchains without affecting core messaging and encryption logic.
Encryption Module: Interfaces with the key derivation system to manage encryption and decryption processes independently of the underlying blockchain.
Scalable Key Derivation:
Dynamic Derivation Paths: Support the addition of new blockchains by defining new derivation paths within the HD wallet structure.
Secure Storage: Continue utilizing secure storage solutions to protect all derived keys, ensuring consistent security across different key types.