Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

Probably https://signal.org/blog/the-ecosystem-is-moving/

>Nothing about any of the protocols we’ve developed requires centralization; it’s entirely possible to build a federated Signal Protocol-based messenger, but I no longer believe that it is possible to build a competitive federated messenger at all.



sort by: page size:

https://whispersystems.org/blog/the-ecosystem-is-moving/

One of the explicit protocol level trade offs is federation:

> One of the controversial things we did with Signal early on was to build it as an unfederated service. Nothing about any of the protocols we've developed requires centralization; it's entirely possible to build a federated Signal Protocol based messenger, but I no longer believe that it is possible to build a competitive federated messenger at all.


The subject line doesn't seem to match with the the post it links to - perhaps it's been updated since being shared here? The blog post right now is titled 'the ecosystem is moving', and in the first paragraph states:

"Nothing about any of the protocols we’ve developed requires centralization; it’s entirely possible to build a federated Signal Protocol-based messenger, but I no longer believe that it is possible to build a competitive federated messenger at all."

...which is is a far cry from "why federated protocols don't work". A more accurate headline summary might be "why we believe federated protocols are not competitive for this use case", which has a different ring to it.


About federation in particular: Moxie wrote about why Signal is unfederated a little while back: https://signal.org/blog/the-ecosystem-is-moving/

It has some interesting insights into when federation works and when it doesn’t.

“Nothing about any of the protocols we’ve developed requires centralization; it’s entirely possible to build a federated Signal Protocol-based messenger, but I no longer believe that it is possible to build a competitive federated messenger at all.”


I've found the blog post where moxie argues against federation:

https://whispersystems.org/blog/the-ecosystem-is-moving/

"One of the controversial things we did with Signal early on was to build it as an unfederated service. Nothing about any of the protocols we've developed requires centralization; it's entirely possible to build a federated Signal Protocol based messenger, but I no longer believe that it is possible to build a competitive federated messenger at all."


Yes but it's not sexy. Quoting Moxie Marlinspike : "…it’s entirely possible to build a federated Signal Protocol-based messenger, but I no longer believe that it is possible to build a competitive federated messenger at all" https://signal.org/blog/the-ecosystem-is-moving/

A relevant blogpost by Moxie about why the Signal app uses a centralized model (and thus doesn't allow other apps to connect to their servers): https://signal.org/blog/the-ecosystem-is-moving/

Still all code is open source and Signal's code does support federation. Moxie stated before that you can take the code and start a federated version of Signal if you want.


For those who want to know why it's not federated: https://signal.org/blog/the-ecosystem-is-moving/

> Why can't someone turn Signal federated? Wouldn't the centralized server just be a different server?

The source code is all public and freely licensed, client and server. Anyone could pick it up, turn it federated, and run it. But it’s unlikely Signal would choose to federate with any other servers.

> Side note: isn't it good to be centralized while the app is quickly rolling out new features? Then a switch to federation

It’s pretty clear from Moxie’s words on the topic that he has no desire to federate Signal in the future. He’s solidly convinced that the agility necessary to build a userbase on top of a secure messenger will be lost if he has to spend resources bringing the rest of the ecosystem in line with new developments.


> The most important concern is that Signal is a silo [...] you have to connect to OpenWhisperSystems servers to communicate with other users.

You can run your own private Signal service with OpenWhisperSystems' tools [1].

It's also worth noting that Signal - as a protocol - could easily be federated. (As others have mentioned, Moxie has chimed in on why the app is centralized [2]).

If confederated messaging is important, why not use the existing Signal protocol implementations, (including the X3DH key exchange, ratcheting protocol, etc), which is all F/LOSS, and has already been widely reviewed (as the article mentions)?

[1] https://github.com/WhisperSystems/libsignal-service-java

[2] https://whispersystems.org/blog/the-ecosystem-is-moving/


> Federation isn't possible with this protocol, which kind of sucks

Moxie has a blog post explaining why Signal won't support federalization: https://signal.org/blog/the-ecosystem-is-moving/

"After three weeks, sealed sender now represents over 80% of overall Signal messaging traffic." https://twitter.com/signalapp/status/1075918894521495552

This would be impossible to achieve with federated protocol.


Here's some relevant piece by m0xie, a maintainer of Signal : https://github.com/libresignal/libresignal/issues/37#issueco...

He and his colleagues are hostile towards federated protocols. This culminated in an article called "The ecosystem is moving" to which Daniel Gultsch (maintainer of conversations.im) answered here: https://gultsch.de/objection.html


Which app would they all use and from where would they get it? Signal does not (intentionally) support the official app using other servers or the platform itself supporting federation. [1]

[1]: https://signal.org/blog/the-ecosystem-is-moving/


Yep, that is one option, though that doesn't seem like the route Moxie wants to take from what I've seen. He seems to think that you need a cohesive centralized platform if you want to be competitive (2016)[1].

At this point if you want federated it probably makes more sense to just use Matrix.

[1] https://signal.org/blog/the-ecosystem-is-moving/


The founder of signal wrote an article explaining why signal isn't federated that seems relevant here:

> Indeed, cannibalizing a federated application-layer protocol into a centralized service is almost a sure recipe for a successful consumer product today. It’s what Slack did with IRC, what Facebook did with email, and what WhatsApp has done with XMPP. In each case, the federated service is stuck in time, while the centralized service is able to iterate into the modern world and beyond.

> So while it’s nice that I’m able to host my own email, that’s also the reason why my email isn’t end-to-end encrypted, and probably never will be. By contrast, WhatsApp was able to introduce end-to-end encryption to over a billion users with a single software update. So long as federation means stasis while centralization means movement, federated protocols are going to have trouble existing in a software climate that demands movement as it does today.

https://signal.org/blog/the-ecosystem-is-moving/


These proposals are only possible due to the centralized nature of current messaging services. Signal has historically opposed any efforts at federation or decentralization. I wonder whether this could be the kick in the pants to get them to reconsider that position, or if we'll have to build something decentralized without them if this passes.

> An open source infrastructure for a centralized network now provides almost the same level of control as federated protocols, without giving up the ability to adapt. If a centralized provider with an open source infrastructure ever makes horrible changes, those that disagree have the software they need to run their own alternative instead. It may not be as beautiful as federation, but at this point it seems that it will have to do.

https://signal.org/blog/the-ecosystem-is-moving/

Except when the single-centralized-point is down ;)


I hope they eventually develop a federated, privacy oriented messaging protocol, once the rapid technological evolution settles down.

I know Moxie's position on federated protocols [1], but I think we must eventually agree that an open environment with a multitude of providers and implementations is the only way to provide long term privacy - any single provider is vulnerable. It would also be a very useful tool in the context of regulating communication platforms and breaking up monopolies.

[1] https://signal.org/blog/the-ecosystem-is-moving/

Edit: emphasize federated, not open, Signal is indeed an open protocol.


I'm not as knowledgeable about federation and decentralized systems, but I understand one of the biggest drawbacks is keeping everyone running on the same version. Quoting from the article you linked

> to elaborate his thoughts on why he feels he “no longer believes that it is possible to build a competitive federated messenger at all.”

I think competitive is the key word here. Signal has moved fast in the last year, especially in the last few months. I can't imagine that happening on a federated system.

The other point is it isn't as trivial to join a federated system or create your own node. Signal? Download app and you're good to go. Matrix? Well who has a node? Where are we going? How do I set one up?

Personally I'll be happy with a bridge (like Matrix wants) when Signal is fully featured (I'd argue it is almost there. Just a few things like usernames, video scaling, channels, etc). But I couldn't imagine the mass adoption and moving at the speed they did (are) with a federated system. Even email didn't take off until Yahoo and Hotmail. Pretty much every federated system people are mentioning here didn't gain mass adoption until there was a large provider. Which has gone to such a point that rolling your own email now is difficult and you'll have a harder time avoiding all the spam. So even these examples have moved more towards centralization, if not at least a hybrid.

So what am I missing here? What's the big killer feature of federation that makes things better and proven?


Well, well. Just a week ago [0] I was lamenting the fact that Signal was too centralised. This comment was made in the context of P2P not being the best solution (due to other privacy issues), but that something in between was needed. When will Signal realise that the centralised approach to hosting is not going to last forever? The code is open source. The server code is supposedly open source, but on closer inspection it is missing some features and is very out of date. The actual server code is clearly still kept close to their chests.

There needs to be a way for the same Signal application to, in an emergency, connect to a different server. Perhaps even some form of federation so that once somebody switches server, they can still reach people on a different server if need be. I would absolutely love to see some work done on making a Matrix/Signal hybrid.

[0] https://news.ycombinator.com/item?id=25976914

next

Legal | privacy