Post

HN
Hacker News

How should group chats work in decentralized systems?

Tradeoffs that need to be addressed to provide a group-chat experience in decentralized systems

Iโ€™ve recently released the initial version of Kiyeovo - a decentralized P2P messenger desktop app.

I cannot emphasize how much time went into thinking about group chats. Each model that I came up with had a major flaw, and this was really where the โ€œno serverโ€ aspect started to hurt. I realized that there is no โ€œbestโ€ way to do this, and that I must choose some tradeoffs in order to keep the app fully decentralized.

With a central server, you have a trusted authority that answers these questions:

Even E2E encrypted apps that canโ€™t read your messages still use servers for these questions.

They hand the group state to newly added users, and simply stop the removed users from receiving updates and messages. The content is encrypted, but the coordination - whoโ€™s in, whatโ€™s the latest state, what came first, what you missed - is answered centrally.