initial-BC
Initial-BC is a web chat app with integrated blockchain. The main purpose of this project is to help the user to record originality of messages. It also helps us to trace and identify rumors. It will create a blockchain for a "potential" rumors according to the message size. After that, it will compare the rumour message with your sent message, and another chain will be created if your sent message has a similarity of higher than 90% compared with the rumour message
Motivation
Our aim is to integrate the security and usefulness of blockchain technology into our everyday communication, to help in protecting our privacy while also limiting the spreading of false information and copyright infringement through the use of blockchain.
Notable functionality
To prove that this Application can be integrated into all types of chatting system. We create an "XMPP-like" chat system which is end to end encrypted. The comparison between received and sent message is all computed at the client side.
Track chat message source using blockchain
- The message will be encrypted with the sender's public key to create a hashed message
- The recipient will receive the message(along with its own blockchain access)
- Every following sent message by the recipient will be used to compare with the chained message
- Another chain will be created if the sent message is similar to the chained message
- Step 1 and 4 will repeat for every other senders and recipient
Forwarded message with similarity detection
By implementing a similarity detection system, it helps the user to decide the authenticity of a received message, and potentially allowing the user to recognize a false rumour that is spreading around recently. The preparator of the false rumour could also be determined through this blockchain system. The similarity comparison is done on the client side to protect the privacy of the user.
Components
Secure chat apps with asymmetry cryptography
All messages are end-to-end encrypted using public/private key pairs.
Central server
Central server's main purpose is to store user records and status and to redirect user messages to the respective clients. All messages are fully encrypted before it reaches the central server to protect user privacy. Messages are not stored in the server as well.
Blockchain server
All records of messages, for the purpose of source tracking and similarity comparison, are stored in secure blockchains that are resistant to hacking. This ensure we do not compromise the user's privacy while implementing this feature.
Although there are still many challenges to overcome, hopefully with our initiative, we will be able to see blockchain being in our daily lives in the near future.

Log in or sign up for Devpost to join the conversation.