How should group chats work in decentralized systems?
Summary
The article explores tradeoffs for building a fully decentralized group chat without servers, using Kiyeovo as a case study. It analyzes approaches like MLS, leaderless membership, and per-epoch key rotation, and it explains design decisions that prioritize decentralization and convergence, at the expense of some scalability and reliability in larger groups. It provides concrete implementation choices such as a single-creator model, DHT-based group state, and per-sender sequences.