Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


> 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.


Absolute 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.


So it's a blockchain! /s



Ok, makes sense now, thanks!


So, Matrix is a better IRC, while XMPP is a better IM.


Matrix is a better NNTP, while XMPP is a better SMTP




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: