There has been heavy development from the initial signal fork. In fact signals code has been completely gutted because using it for a decentralised messenger came with a lot of issues.
In this case the blockchain is used to incentivise the people running the routers. If you force them to stake funds then you ensure you have enough good actors to prevent bad actors from spying on your messages
My understanding is Matrix uses the same crypto algorithm as Signal but a completely different architecture to support federation and not require phone numbers.
How does Session compare to Matrix? Why another encrypted chat app that doesn't federate?
To be honest I don't have that great of an understanding of Matrixs implementation but they are also doing great work in the decentralised messenger space and its all helping!
My understanding for matrix is that a volunteer hosts a server which clients can connect to, and that server acts as router to other servers which will forward it onto the destination.
In sessions case the servers (Service nodes) are incentivised so they are not volunteers, and clients can connect to any of the service nodes. Messages get onion routed to a group of service nodes known as the users "swarm" and when a user wants to receive their messages they similarly request them from the swarm.
There are likely pros and cons of both implementations. Matrix you call federated where as session is decentralised, which is a fairly significant difference. Sessions infrastructure mitigates things like the federated servers knowing the IP address of the client, clients having to trust the first hop, and metadata leakage to the federated servers.
In this case the blockchain is used to incentivise the people running the routers. If you force them to stake funds then you ensure you have enough good actors to prevent bad actors from spying on your messages