Uma investigação sobre tolerância a falhas no servidor de comunicação Synapse
Resumo
Synapse é um servidor de comunicação de código aberto projetado de acordo com o protocolo de comunicação Matrix. O protocolo Matrix é descentralizado, federado e de código aberto, proporcionando controle total do servidor de mensagens pela organização. As mensagens trocadas entre usuários são criptografadas de ponta a ponta e o protocolo ainda pode interagir com outros sistemas de mensagens proprietários e tecnologias, atuando como um middleware. No entanto, uma questão fundamental para a ampla adoção do protocolo é a sua capacidade de continuar seus serviços mesmo diante de falhas. Nesse sentido, o objetivo deste trabalho é investigar, através de um experimento prático, a capacidade do servidor Synapse de tolerar falhas e de sincronizar as mensagens perdidas após sua recuperação.
Referências
Albrecht, M. R., Celi, S., Dowling, B., & Jones, D. (2023). Practically-exploitable cryptographic vulnerabilities in Matrix. Cryptology ePrint Archive, Paper 2023/485. [link].
Ausat, A., & Almaududi, M. (2023). The role of social media in shaping public opinion and its influence on economic decisions. Technology and Society Perspectives (TACIT), 1:35–44.
Avizienis, A., Laprie, J.-C., Randell, B., & Landwehr, C. (2004). Basic concepts and taxonomy of dependable and secure computing. IEEE Transactions on Dependable and Secure Computing, 1(1):11–33.
Cao, Y., Wei, J., Huang, X., Chen, X., & Xiang, Y. (2024). Deniable identity-based matchmaking encryption for anonymous messaging. IEEE Transactions on Dependable and Secure Computing.
Chatwoot (2025). Chatwoot customer engagemento suite. [link]. Accessado: (20/03/2025).
Discourse (2019). Synchronous messaging at mozilla: The decision. [link]. Accessado: (22/03/2025).
Docker (2025). Docker: Accelerated container application development. [link]. Accessado: (20/03/2025).
Domenech, M. C., Abed Gregio, A. R., & Erpen de Bona, L. C. (2022). On metadata privacy in instant messaging. In 2022 IEEE Symposium on Computers and Communications (ISCC), pages 1–7.
El-Dardiry, Y. (2022). Matrix crdt. [link]. Accessado: (22/03/2025).
Element (2025). Element secure communication platform. [link]. Accessado: (20/03/2025).
Heise (2019). Open source: Bundeswehr baut eigene verschlüsselte messenger-app. [link]. Accessado: (22/03/2025).
Ihle, C., Deifuß, F., Schubotz, M., & Gipp, B. (2022). Towards portable identities in the Matrix protocol. In 2022 IEEE 42nd International Conference on Distributed Computing Systems Workshops (ICDCSW), pages 88–89.
Jacob, F., Beer, C., Henze, N., & Hartenstein, H. (2021). Analysis of the Matrix event graph replicated data type. IEEE Access, 9:28317–28333.
Jacob, F., Grashofer, J., & Hartenstein, H. (2019). A glimpse of the Matrix: Scalability issues of a new message-oriented data synchronization middleware. In Middleware Demos and Posters 2019 - Proceedings of the 2019 20th International Middleware Conference Demos and Posters, Part of Middleware 2019, pages 5–6.
Karhu, J. (2023). German health professionals will communicate with each other through the open source matrix protocol. [link]. Accessado: (22/03/2025).
Kleppmann, M. (2022). Making crdts byzantine fault tolerant. In Proceedings of the 9th Workshop on Principles and Practice of Consistency for Distributed Data, PaPoC ’22, page 8–15, New York, NY, USA. Association for Computing Machinery.
Matrix (2025a). Elements of matrix. [link]. Accessado: (20/02/2025).
Matrix (2025b). Frequently asked questions. [link]. Accessado: (05/04/2025).
Matrix (2025c). Installation instructions. [link]. Accessado: (20/02/2025).
Matrix (2025d). Servers of matrix. [link]. Accessado: (20/02/2025).
Nelson, B., Pagnin, E., & Askarov, A. (2024). Metadata privacy beyond tunneling for instant messaging. In Proceedings - 9th IEEE European Symposium on Security and Privacy, Euro S and P 2024, pages 697–723. Institute of Electrical and Electronics Engineers Inc.
Pastorio, A., Rodrigues, L., & de Camargo, E. (2020). Uma revisão sistemática da literatura sobre tolerância a falhas em Internet das Coisas. In Anais Estendidos do X Simpósio Brasileiro de Engenharia de Sistemas Computacionais, pages 57–64. Porto Alegre, RS, Brasil. SBC.
PostgreSQL (2025). Postgresql relational database. [link]. Accessado: (26/03/2025).
Preguiça, N., Baquero, C., & Shapiro, M. (2019). Conflict-Free Replicated Data Types. In CRDTs, pages 491–500. Springer International Publishing, Cham.
Pätsch, S. (2021). German health professionals will communicate with each other through the open source matrix protocol. [link]. Accessado: (22/03/2025).
RedHat (2025). Red hat openshift. [link]. Accessado: (20/03/2025).
Schipper, G. C., Seelt, R., & Le-Khac, N.-A. (2021). Forensic analysis of Matrix protocol and riot.im application. Forensic Science International: Digital Investigation, 36, 301118. DFRWS 2021 EU - Selected Papers and Extended Abstracts of the Eighth Annual DFRWS Europe Conference.
Shapiro, M., Preguiça, N., Baquero, C., & Zawirski, M. (2011). Conflict-free replicated data types. In Stabilization, Safety, and Security of Distributed Systems, pages 386–400. Springer Berlin Heidelberg.
Sparber, J. (2020). Blockchain-based end-to-end encryption for Matrix instant messaging.
Sule, M.-J., Zennaro, M., & Thomas, G. (2021). Cybersecurity through the lens of digital identity and data protection: Issues and trends. Technology in Society, 67:101734.
Tchap (2025). Tchap, instant messaging for the public sector. [link]. Accessado: (20/03/2025).
Twisted (2025). Twisted: An event-driven networking engine. [link]. Accessado: (27/02/2025).
Zulip (2025). Zulip chat and collaborative open source platform. [link]. Accessado: (20/03/2025).
