4 ms·
Not really - the protocols are very different. Matrix is a way of replicating conversation history over a mesh of participating servers; a bit like a bunch of G
by Arathorn 9y ago
Not really - the protocols are very different. Matrix is a way of replicating conversation history over a mesh of participating servers; a bit like a bunch of Git repositories constantly pushing commits (messages) to one another. XMPP is much lighter weight and builds on simpler message passing and pubsub primitives. You can use both to build comms systems, but they take opposite engineering and governance approaches on almost everything.
- amelius 9y ago> a bit like a bunch of Git repositories constantly pushing commits (messages) to one another. Why would you need to do that? Why not just give every message a timestamp, make sure they get sent, and sort the messages on the receiver side? If you're really concerned about message order, you could give every message a unique id, and send out the id of the previous message with every message, and improve your sort function accordingly.
- Arathorn 9y agoAbsolute timestamps cannot be trusted in a byzantine environment, so we do precisely as you suggest - messages are transmitted with pointers to the previous message(s) in the room message graph, so you get a partial ordering within the room (just like git). We also sign the messages into a merkle graph (like git) to stop the shared datastructure being tampered with.
- amelius 9y agoOk, makes sense now, thanks!
- greenhouse_gas 9y agoSo it's a blockchain! /s
- Arathorn 9y agohttps://twitter.com/whitequark/status/946886702932557824 https://twitter.com/whitequark/status/946886702932557824 :D
- seba_dos1 9y agoSo, Matrix is a better IRC, while XMPP is a better IM.
- rakoo 9y agoMatrix is a better NNTP, while XMPP is a better SMTP