Congrats! I've been watching conduit for a while and I'm glad to see it progressing so much.
Matrix is moving towards a model where the 'homeserver' can be embedded in each device in order for users to fully own their identity. A lean implementation that uses an embedded database is a big enabler of that vision.
What's the upside of that? Each device being it's own homeserver sounds like a huge increase in the number of federation requests. It will simultaneously make it possible to run on every device, but impractical to do because of the huge increase in federation requests.
The domain name also seems more important. I can already migrate my identity to any host I want because I own the domain. If I didn't own the domain, I don't see how I could migrate "myuser@matrix.org" to my own homeserver. You don't own your identity unless you can migrate it.
I still love Matrix, I just don't see who wins in an "everyone runs a homeserver on each device" scenario.
Well, if everyone is running their own homeserver Matrix wouldn't be "federated" anymore, it would be "distributed" instead. You seem to argue for Matrix to go in two different directions :)
The way Matrix is doing it blurs the line between "federated" and "distributed" into a continuum which is really the best of both worlds imo. The existing concept of federation as a bunch of dedicated servers constantly synchronizing with each other 24/7 will continue to work just fine. But now each individual client device will be a full federated node itself, though perhaps a bit more flaky than a normal node might be; but this isn't a problem because the matrix protocol was designed from the ground up to be robust to such issues.
Based on your diagram, the system can seamlessly blend between (B) and (C) based on the needs of users. Eventually the default would become (C) while being backwards compatible with existing systems, but it might blend down to (B) if a user sets up a homeserver for friends and family, or an organization may want to have a homeserver for continuity or legal reasons etc.
Makes it a lot of sense, and P2P is exactly what we're discussing here. But P2P can take a lot of shapes, two of those shapes are "federated" and "distributed".
My issue is not that Matrix is moving towards P2P, but this particular user saying "unless everyone is running a server it's not federation" which is strictly false.
I’m not saying everyone will run their own homeserver (setup/maintenance costs, maintenance skills required, and economies of scale combined guarantee some considerable degree of consolidation, as with email), but that if it should be capable of it. If it’s not capable of it, it won’t be capable of even limited federation at sufficient scale.
There's pros and cons for that. In a stateless "message passing" model having many different servers has little cost, but in a "state resolution" (consensus) model having many different servers can have a cost because servers may be offline at times (and then need to reconcile history) or have their connections blocked to other nodes.
There's also the "backup" problem. You wouldn't want a user loosing their phone to lose their digital identity completely. It should be possible to craft some "social recovery" protocol using Shamir's secret sharing, but we're not quite there yet.
That was for the cons, since i'm sure we're all convinced of the pros :)
Matrix is moving towards a model where the 'homeserver' can be embedded in each device in order for users to fully own their identity. A lean implementation that uses an embedded database is a big enabler of that vision.