Does anyone have a guide/instructions for self-hosting a Matrix server? I'm not sure which server to run, I heard Synapse is a bit heavy and there's a lighter Rust alternative? Which one should I use? Is it okay to run it at home, or will I lose messages on downtime? I assume other hosts will retry when my connection is back up?
I installed my homeserver with this! https://github.com/matrix-org/synapse/blob/master/INSTALL.md
P2P Matrix
61–70 of 178 posts
Re: P2P Matrix
#62Earlier quoted context omitted.
You are right about the problem of leaking metadata - just by asking for the file reveals to the world that you know about it. However, this is something that can be fixed on IPFS itself, and I believe it is even in their roadmap: the idea of adding "friend peers". Your IPFS node could ask for sensitive files to this privileged list of nodes only. So, your client can have a simple logic: if you have e2e encrypted mes…
Sure, if IPFS gets that feature, maybe it's worth it. (Although maybe not - at that point IPFS is just an overweight tooling for downloading files from a list of known peers block by block.) I wouldn't hold my breath though.
Only if you assume that your only use case is to have private communications.
There are a lot of use cases and jurisdictions where sharing files do not have to be private and would benefit a lot from having redundant nodes doing the distribution. The tooling is already there, why not benefit from it?
Re: P2P Matrix
#63Hi @Arathorn, any work on using IPFS as the media store? It seems like this would be also a really good project for Matrix and doubly so for p2p matrix...
matrix-media-repo has an early implementation for IPFS support: https://github.com/turt2live/matrix-media-repo/issues/115#is...
Re: P2P Matrix
#64Original comment below but I decided instead to go for the following: I am extremely proud of what work is being done online today to secure communications. While we have companies telemetrying our native stacks[1], web browsers[2], and messaging platforms[3], we also have people working on software that doesn't do those things and still tries to empower the user to get what they need done without being a double agen…
Signal is attempting to design the system such that Signal can never know whose contacts are in your phone as a service provider. They deal with side-channel leakage of lookups from the contact DB into the enclave using a technique called linear scan which is a constant-time bitwise XOR operation on every contact. This is the most brute force version of a class of techniques known as oblivious RAM (ORAM) which are increasingly being used to manage data loads into secure enclaves.
Obvious caveat: if SGX gets broken then these contact lookups are vulnerable to side-channel analysis until the enclave is patched. I think this is a strictly better security property than not having the enclave, but it's far from perfect (no security model is perfect FWIW).
In short, Signal is doing everything they can to avoid having access to your social graph. If you still don't think what Signal is doing is enough, you can run your own signal (or matrix) server, but then you are running a very, very valuable server from a graph analysis perspective. At present, I believe the only way to make the metadata in these services less interesting is to put it inside of an enclave in the hopes that will reduce the value of attempting to attack the servers which manage the graphs for these comms networks.
Source: I work on MobileCoin which uses similar techniques for managing a side-channel resistant ledger.
Re: P2P Matrix
#65Does anyone have a guide/instructions for self-hosting a Matrix server? I'm not sure which server to run, I heard Synapse is a bit heavy and there's a lighter Rust alternative? Which one should I use? Is it okay to run it at home, or will I lose messages on downtime? I assume other hosts will retry when my connection is back up?
Re: P2P Matrix
#66Original comment below but I decided instead to go for the following: I am extremely proud of what work is being done online today to secure communications. While we have companies telemetrying our native stacks[1], web browsers[2], and messaging platforms[3], we also have people working on software that doesn't do those things and still tries to empower the user to get what they need done without being a double agen…
The contact social graph in signal is stored inside of SGX using a service called contact discovery. Signal is attempting to design the system such that Signal can never know whose contacts are in your phone as a service provider. They deal with side-channel leakage of lookups from the contact DB into the enclave using a technique called linear scan which is a constant-time bitwise XOR operation on every contact. Thi…
...which is precisely why we’re working on P2P matrix. No servers; nowhere for metadata to accumulate (other than the clients, of course).
Re: P2P Matrix
#67Does anyone have a guide/instructions for self-hosting a Matrix server? I'm not sure which server to run, I heard Synapse is a bit heavy and there's a lighter Rust alternative? Which one should I use? Is it okay to run it at home, or will I lose messages on downtime? I assume other hosts will retry when my connection is back up?
You don't lose any messages with downtime if others in the group are on different home servers
Re: P2P Matrix
#68Hi @Arathorn, any work on using IPFS as the media store? It seems like this would be also a really good project for Matrix and doubly so for p2p matrix...
Re: P2P Matrix
#69Does anyone have a guide/instructions for self-hosting a Matrix server? I'm not sure which server to run, I heard Synapse is a bit heavy and there's a lighter Rust alternative? Which one should I use? Is it okay to run it at home, or will I lose messages on downtime? I assume other hosts will retry when my connection is back up?
https://matrix.org/blog/2020/04/06/running-your-own-secure-c... is a guide I did for selfhosting Synapse.
Re: P2P Matrix
#70Earlier quoted context omitted.
It doesn't necessarily mean total loss of data, because it would replicate onto your other devices - and you could also run a server too as an always-on p2p node. The idea is to have a hybrid, so casual users can start off p2p but then pin their accounts to a server when they see the value.
This would be similar to people who run Syncthing meshes for their file system backups, correct?