Computer

Decentralized messaging app: Quiet is based on Tor and IPFS

Decentralized messaging app: Quiet is based on Tor and IPFS

The new one is making a lot of noise messaging app instant call Quiet, already available in versions for Windows, Linux, macOS, Android and iOS. The idea that led to the development of Quiet is the creation of a communication program that could act as an alternative to “names” such as Slack, Discord and Element.

The main feature of Quiet is that it does not require you to trust a central server or have to manage one yourself. All data is synced directly between team devices, with one approach peer-to-peerwithout the need to resort to a centralized system.

Each group of people (called “community” in Quiet) creates your own isolated network, so that a community’s data never passes through the devices of Quiet users who do not belong to the same circle of individuals. A scheme that aims to protect the privacy and data security.

From a technical point of view, the message synchronization is managed via OrbitDBa project that is increasingly becoming a key component for the creation of DApps (Distributed Applications) and systems peer-to-peer. Quiet messages are transferred through the Tor network in order to ensure privacy and anonymity for each user.

Why choosing the Tor network for a messaging app

The Quiet application uses the rete Tor as a means of transferring user messages between nodes. Using Tor allows you to hide IP address of communications participants and to route traffic through a series of intermediate nodes.

By taking advantage of the features of Tor, the chats that pass through the community of Quiet are encrypted and routed through a series of random knots: communications not only cannot be read by unauthorized users but the geographical position and identity of the users are always preserved.

It’s not all sunshine and rainbows: using Tor can still slow you down data transfer speed because of routing through intermediate nodes.

Tor and IPFS based messaging app

What OrbitDB is and how it works

We said that Quiet bases its operation on OrbitDB, distributed database and replicated data management platform that is part of the IPFS world (InterPlanetary File System, see below). This is a solution designed to enable the creation of distributed applications and decentralized, that is, they store and synchronize data securely between network participants without the need for a central server.

In computer science and data management, the ledger is a kind of log that stores information, events or transactions relevant to a particular application or system. OrbitDB does just that ledger distributed where data is stored in a replicated data structure among the participants.

The system supports several data structures, including key-value database, ordered lists and JSON documents offering developers maximum versatility and flexibility. Furthermore, the data can be encrypted so that only network participants can access and read them.

OrbitDB, also, is event-driven: Network nodes can receive notifications when the data changes. For example, managing notifications allows you to update the content of notifications user interfaces when data is added or modified.

IPFS and the relationship with OrbitDB

The already mentioned IPFSone of the cornerstones of Quiet, is a network peer-to-peer and a protocol that support the operation of the archiving system and distributed file recovery.

IPFS aims to revolutionize the way data is managed and shared on the Internet: files are uniquely identified through a cryptographic hash and stored on a network of nodes participants with a distributed approach. Once placed on IPFS, files can remain stored there forever avoiding data loss: the information is always available and resists any attempt at censorship.

The system of versioning offered by IPFS helps to keep track of different versions of files and data – this means that you can access previous versions of the data, where actually available.

OrbitDB leverages IPFS as the underlying infrastructure forarchiving and the data recovery. The data stored in OrbitDB is divided into “documents” or “registers”, which are in turn stored on IPFS with a specific hash. Using OrbitDB, developers can also benefit from a simplified interface for creating, editing and synchronizing data across a network of nodes.

Messaging app free from ties: the Quiet case

The developers of Quiet say they developed the new messaging app with the main goal of removing user communications from the infrastructure managed by larger companies. No names are mentioned but the implicit reference to GAFAM or GAMAM is evident, after the establishment of the “parent company” Meta in the case of Facebook and “partners”.

According to the creators of Quiet, when the software becomes too tied to the corporate infrastructure, users tend to lose the ability to control their behavior in depth. The presence of centralized serversis observed on repository GitHub would have been a brake on the development of free software and, in general, on the creation of alternative versions (“forks”) of programs.

The federation is a proposed solution to address the problem of centralized servers. Some communications software are, however, partially federated products: in many cases developers can still control many Server-side functionality and have control over a wide range of user data.

With Quiet we want to eliminate the need for servers, making the software more private, secure and easily accessible. Furthermore, the developers hope to create a platform that can pave the way for a new period in which to develop app serverless can become the norm, thus reducing dependence on large technology companies.

The main features offered by Quiet

  • No emails and phone numbers: Unlike the vast majority of messaging apps, Quiet does not require you to enter email addresses and phone numbers to participate in community.
  • Team Chat: The application allows you to create a community for your team and invite other members.
  • Crittografia end-to-end: The data transmitted from one end of the communication to the other is automatically encrypted (at the level of each individual device).
  • Channels: Conversations can be organized in the form of channels, a bit like what happens on Slack.
  • Images: Quiet supports sending and receiving images, copying and pasting, dragging on the program interface and previews.
  • File: The program allows you to send and receive files of any size, even very heavy objects, without any limitations.
  • Notifications: Quiet shows alerts for incoming messages, possibly combining the playback of a sound.
  • Invitation link: Just as you can do on WhatsApp, Signal, Discord and so on, Quiet also allows you to create and share invitation links.
  • Keyboard controls: For those who prefer to work with the keyboard, Quiet provides the possibility of “navigating” between channels in a simple, fast and intuitive way.

Creation of Quiet community

When you start Quiet for the first time, you can click on Create a new community and give the new one a name community. Later it is possible invite other users. You can do this by clicking on the name of the communitytop left, then selecting Invite a friend and finally Copy to clipboard.

Quiet messaging app invitation link

The long URL you get allows you to download the Quiet software and access it directly community just created. Alternatively, a QR code which allows you to reach the same address.

Technical details

Quiet is mainly written in TypeScriptuses Electron and React Native for desktop and mobile user interfaces. This choice has been criticized because, for example, Electron is known for the consumption rather high of resources. In fact, the framework integrates the Chromium and Node.js runtimes, tending to make the entire package heavier: it is not for nothing that WhatsApp Desktop decided to abandon Electron to offer users anative application.

React Native it is instead known for good performance, but some intensive operations can be slower than native applications. Furthermore, its configuration from a programmer’s point of view can be complex, especially if you want to support multiple platforms.

The developers of Quiet also point out that the application has not yet been subjected to any audit independent: it should therefore not be used in situations where privacy and…

Leave a Reply

Your email address will not be published. Required fields are marked *