4 ms·
tl;dr: With decentralized identities, we could have a messaging system based on the Signal Protocol that does not use central servers at all. There seem to be
by ghoward 6y ago
tl;dr: With decentralized identities, we could have a messaging system based on the Signal Protocol that does not use central servers at all.
There seem to be a lot of opinions about whether it is possible to do better than Signal, and if so, what would that be like. There also seems to be a lot of opinions that federation is better.
There is something that can be better than Signal, but federation is not it. For one thing, it creates the problem in https://xkcd.com/927/ https://xkcd.com/927/ . For another, as some have said in the comments here, federation can easily lead back to centralization, especially if the biggest servers implement "extensions" that then become used and expected by users.
What would be better than Signal would be to take the Signal Protocol, which is fine as a protocol, and implement the protocol using software that the user runs themselves and that uses completely decentralized identities. I wrote about such a system at https://gavinhoward.com/2020/07/decentralizing-the-internet-and-other-ideas/#decentralized-identities https://gavinhoward.com/2020/07/decentralizing-the-internet-... .
The key is that the users must control their data, like the pods that Sir Tim Berners-Lee's Inrupt is pushing. (This would solve a big problem with Signal: the lack of backups.)
However, without some way for each user's "server" to identify the location of another user's "server", this messaging system would not work. That is where decentralized identities come in.
With fully decentralized identities on a blockchain, it is easy to search the blockchain for the current location of the server for the user that a message needs to be sent to.
There is no need for federation, no need for a centralized server at all; the messages go directly point-to-point.
Others in these comments have pointed out that decentralized systems are subject to abuse by spam and other things. That is true, but there are ways to mitigate the problem. You can read what my mitigation ideas are at https://gavinhoward.com/2020/07/decentralizing-the-internet-and-other-ideas/#problems https://gavinhoward.com/2020/07/decentralizing-the-internet-... .
Edit: I forgot to say that it is also important to address convenience. If it is not convenient for users to set up their own servers, then this solution will not work anyway. However, cloud providers would probably love to make it convenient by implementing one-click setups like they have for things like Wordpress.