So when you want to compare it to anything else: it's much rather like XMPP than it is like IRC.
XMPP MUC rooms are, IIRC, dependent on the server hosting them and generally coordinating exchange.
Each event is also signed by the homeserver of the originator of the messages, so missing messages (due to partial netsplits) can be routed through third-parties, around the netsplit.
For full split-brain scenerios, after a merge, the two DAGs get joined and the effective room state is reconciled.
The big picture is that Matrix rooms are best seen as eventually-consisted distributed event log . :) https://matrix.org/docs/spec/#event-graphs
Technically, every message you send in Matrix is a mini-netsplit which then resolves as soon as it's received by the other server(s). So you don't tend to notice partitions, unless they go on for minutes on end and disrupt the conversation, but even then the history syncs up afterwards.
Clients don't currently make it clear when messages came from the other side of a long netsplit, but the data is there on the server so in principle they could. I think the client API might need some changes before that'd be possible though.
So Matrix is like XMPP, except that XMPP is really federated, but Matrix's "federation" is partial and therefore it's mostly marketing.
Matrix is really mostly marketing overall. That's part of why it's so popular here; HNers love shiny bullshit. Honestly XMPP is a better protocol, it's even still being updated and has many more server and client implementations, including modern ones, but Matrix has great PR.
This is completely and utterly false.
The identity server is a completely optional directory service used to resolve email addresses and phone numbers to matrix IDs.
Honestly, I wish we'd never bothered with them - they are rarely used today, and cause more confusion than they add value.
It doesn't. Matrix identities (like @q3k:hackerspace.pl) are resolved to homeserver instances via DNS or HTTPS .well-known requests.
$ curl https://hackerspace.pl/.well-known/matrix/server
{"m.homeserver":{"base_url":"https://matrix.hackerspace.pl"},"m.server":"matrix.hackerspace.pl:443"}
or $ dig +short SRV _matrix._tcp.asra.gr
10 0 443 synapse.asra.gr.This statement is almost entirely wrong. The identity server is A) only for mapping 3PID (3rd Party Identities, i.e. email addresses or phone numbers) to matrix usernames, B) can be self-hosted, and C) not required at all for federation. Federation does not in anyway require services provided by Matrix.org
Uh, no? Federation certainly does not fail if the identity server goes down. You won't be able to invite someone to a room by email address or phone number if whatever identity server you're using goes down, but it's nowhere near the critical path for federation.