FreeTalk: A distributed instant messaging software without any central server

Team Name: Dining Philosopher

After WhatsApp was censored in China a few weeks ago, we felt that there is a pressing need for us to ensure our right to privacy and using the communication tools we want, and this is what we, as developers, can something do to make a difference.

Inspired by Bitcoin, which is a decentralized currency system that is highly robust against any government censorship due to its lack of central server, we came up with this idea of distributed instant messaging software. Using WhatsApp, again, as an example, it can be easily banned by blocking people from accessing its central server. However, what one really cannot censor is everyone. When users also act as the provider of the service in a P2P manner, it is not hard to imagine that government censorship would be unlikely to happen.

In order for two hosts running FreeTalk to communicate with each other's identifications(let's say publicKey) only(without IP address) and without any central server as the intermediator of the connection, a gossiping algorithm similar to Bitcoin is used(not yet fully developed in this version): a node first reach out to a few peers and establish connection; later, when the node wants to talk with someone that's not within its reach, it simply asks its peer whether they have the IP address of the person, if not, the peers will pass this to their peers, until the desired person's IP is obtained. On top of that, we use various cryptographical techniques to ensure the confidentiality and message integraty of the communication.

Built With

Share this project:

Updates