Oddbean new post about | logout
 Chat application network architectures are primarily divided into: centralized model, federated model, relay model, and P2P model.

Chat software developed by major companies primarily uses a centralized server network architecture, such as WhatsApp and Telegram. Signal App also follows this model. Only large companies can run their own servers and have the greatest control.

The XMPP protocol and Matrix protocol use a federated server network architecture. The most famous example of a federated server network architecture is Email. Users can choose which federated server to use. Servers communicate with each other, and users do not need to know which server their friends are using.

Keychat and Simplex chat use a relay architecture. Users can choose which relay server to use. The main difference from the federated model is that relay servers do not communicate with each other.

In the relay model, users find out which relay their friends use, adding user tasks but simplifying server operations. Each relay operates independently, simplifying network design and reducing maintenance. Since relays do not communicate with each other, this setup reduces data exposure risks and improves privacy.

Keet.io uses a P2P model. Keet may be more suitable for large-scale group chats, whereas it might be less appropriate for one-on-one chats or smaller groups. Keet requires chat participants to be online simultaneously, or at least one party needs to be continuously online.

(If there are any mistakes, please reply. Thanks) https://image.nostr.build/e528c4905afad5731f2cd2693980d46a2d1ebe0d307bdb469cfca01eb4751481.jpg https://image.nostr.build/88f61ec3d70a7e1f0f11ebfd0a69281fe949a205e0c9b5ad0c50f78476645e74.jpg  
 Will keet be available for Umbrel and Start9, to have one application always online? 
 I think so. 
 About messaging networks architectures:

nostr:nevent1qqs8aga736je72vkevpn3q05fgr30cklkv6ql24hx2ccxgcz397jttspz3mhxue69uhkummnw3ezummcw3ezuer9wcpzpwleyw4fy3sxt7yvgrran0mpenxqlululur94r9jlax0hd3q3rc7qvzqqqqqqyyt6vu9 
 I don't believe keet requires one user to be online at all times.

I think nodes can optionally choose to host encrypted data which I think keet does so I can send a message from one client, close it, and still see it from another client. 
 In the previous version of the Keet website, it was mentioned that members of a room should stay online as much as possible, and offline members could sync messages from the always-online members when they come back online. This information has now been removed from the current website. 

If the node hosts the data and the client downloads from the node, I'm not sure if this is a standard P2P network, at least not like the Bitcoin P2P network. 
 Think of their node like a relay. If someone is online, then the data might be p2p but Keet acts as a blind storage peer too.

I don't think they worked it out but I think they wanted to figure out an incentive model so others will do this too for payment. Like a cloud storage sort of thing but fully encrypted and no accounts.

If they figure that out then you get a pretty reliable solution without keet being the altruistic backbone. Not there yet afaik. 
 keet does relay but only for text currently, the reality is the relaying doesnt work very well and its better to have a peer in the room always online 
 Join me on Keet.io - The Psychedelic Libertarian Repository (no expiry)

pear://keet/yry5f6hctja4dwbmpfxbpngqgjp6oiz3hqtzhimcseumfusi3koaeykkdtpe7u4pkubpkt4tykmjrpknr5an9ncjnw63w711x1q8pmkeqc 
 there is no true 'standard' convention of p2p  
 What about Nostr 
 Relay model. 
 The XMPP authors also made Telehash which was a JSON based P2P messaging protocol. Never really took off, but also interesting to look at for ideas. 
 This is very helpful. Concise, understandable.