Skip to content
Tech News
← Back to articles

How should group chats work in decentralized systems?

read original more articles

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

Intro

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.

Why a server makes groups easy

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

Who is in this group right now? What key encrypts the messages, and who should have it? What order did messages happen in? I was offline; what did I miss?

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

Signal’s server stores the group roster (and forwards messages)

Matrix homeserver stores group state and orders events

... continue reading