Introducing a Decentralized End-to-End Encrypted Messaging App

ICPanda Message is a decentralized end-to-end encrypted messaging application fully running on the Internet Computer blockchain.


Key features

  • End-to-end encryption: All user messages are encrypted using the RFC 9052 (COSE) standard on the client side and stored on the ICP blockchain. These messages can only be decrypted on the client side.
  • Multi-user chats: Message channels support one-to-many chats, where a manager can add or remove members and exchange encryption keys. If the last manager leaves the channel, all messages in the channel are deleted.
  • On-chain: It operates entirely as a smart contract on the ICP blockchain, controlled by ICPanda DAO, with fully open-source code. It is a trustworthy, secure, verifiable, and unstoppable Web3 application.

How does E2EE messages work?

We use envelope encryption, where messages in a channel are encrypted with the same Data Encryption Key (DEK). When a new member joins the channel, they need to obtain the Key Encryption Key (KEK) from managers to decrypt the DEK.

Costs

  • Creating a new channel costs 1000 PANDA.
  • Registering a username costs 5000 ~ 1,000,000 PANDA, it is optional but recommended.

We will adjust the costs based on the actual usage and feedback from the community.

Getting started

  1. Visit https://panda.fans/_/messages and click the “Get started” button to enter the app.
  2. Set up your username and password.
  3. Transfer some PANDA to your account.
  4. Create a new channel or invited to join a channel by others.
  5. If you encounter any issues, please contact us at https://panda.fans/PANDA

Get PANDA tokens from ICPSwap and start using the app now!

11 Likes

We’re excited for @dominicwilliams to try out this E2EE App, which should be the world’s first end-to-end encrypted messaging app running on-chain.

3 Likes

I can’t explore Chanel, I can see mine but I can’t see other Chanel

That’s right, there are no public message channels because it’s not a social or community-based communication app.
Our mission is to protect users’ confidential information.

1 Like

In addition to encrypted chats, you can also store confidential information.
It’s encrypted on-chain and synced across devices, with only you able to read and decrypt it.

I rarely need encrypted chats in my daily life, but I often use messaging apps (WeChat) to sync information, including confidential information, across devices. Now I can finally sync confidential information securely with encryption through the “WhoAmI” channel shown in the screenshot.

will it become a standalone product? likes openchat or sth, I’m very optimistic about it

1 Like

How does the key management work?

In a 1-on-1 chat is the message stored twice on chain, once encrypted for A and once encrypted for B?

3 Likes

I have updated a diagram.
We use envelope encryption, where messages in a channel are encrypted with the same Data Encryption Key (DEK). When a new member joins the channel, they need to obtain the Key Encryption Key (KEK) from managers to decrypt the DEK.

2 Likes

We have a product upgrade plan that will be implemented in the future (the domain name has already been registered). :grin:

1 Like

Would you ever want to replace it with vetKeys (when it is ready on mainnet)?

1 Like

We are waiting for the vetKey. :grinning:
The master key in the front-end application is upgradeable. For example, after users register a username, the master key automatically upgrades from Type I to Type II.
Additionally, the COSE service already includes some vetKey logic.

5 Likes