Skip to content

nickvetter/Chiota

 
 

Repository files navigation

Chiota

Chiota is an IOTA Xamarin Chat App based on Felandils C# .NET Port of the IOTA lib, who also helped with this app, Steppenwolfe65 CEX-NET and jamesmontemagnos MonkeyChat.

The goal is to create a quantum secure chat app, in which you are the owner of your own data and nobody else!

Google Play beta test: https://play.google.com/apps/testing/chiotaapp.chiotaapp

Impressions of the current state:

How Chiota works?

See the GitHub Wiki for more detailed information about the different modules of Chiota.

Chiota doesn’t use the MAM Layer for sending secure messages. Instead, it uses the NTRU Encryption (see NTRU Key Exchange for IOTA for more details). There are several reasons for that:

  • NTRU or some other form of key exchange is needed for the MAM-Layer anyway
  • For the MAM Layer, you have a lot of different transactions and currently, the proof-of-work takes really long, so the goal is to reduce the number of necessary transactions
  • You need to store the state of the MAM Layer (root hash, channel keys, etc.). If you want to store these things quantum secure on the tangle it results in more messages and therefore additional PoW
  • NTRU can be extremly fast, see Speed records for NTRU

The disadvantage of the current system:

  • You are limited to less characters per transaction because the NTRU encryption needs more space
  • Advances in cryptanalysis may at some point break NTRU

Motivation

During the process of creating the health care chatbot Florence, we found out that we can't use the technology to its full potential due to various problems with the current state of the healthcare system. You as a patient should be in control of your healthcare data and a chatbot should support the private, secure and continuous communication between you and your healthcare provider network. However, with the current technology that isn't possible. That is why we started the project “Untangle Care”, you can find out more about it on the official IOTA ecosystem page.

About me

My name is David Hawig and I am the developer of Florence.chat. You can contact me on linkedin or via Mail (david.hawig[at]pact[dot]care). My current Chiota contact address is OZQQEPQ9AH9QUX9BQAWOBCTZNAFIFYYWMZUDKFUKGQAIEFAXBZKWCMMOXFU9PDCAMAHDIUTCZPZK9RKPZ

We welcome any kind of help or contribution!

To-do/Contribute

If you want to test this code, you have either to remove the blob storage (see BlobStorage.cs) or replace it with your image storage. I currently store only links to images on the tangle.

Currently, there are the following points on my to-do list:

  • Store contacts/profile on the tangle
  • Qr codes for address sharing
  • Check for unique Address public key combination
  • Notifications
  • Change address after a certain number of messages
  • Chatbot integration
  • Local SQLite Database for storage of encrypted messages (snapshot)
  • File transfer/permanent storage solution
  • Improve performance/Fix errors
  • iOS App
  • Unit testing
  • Code refactoring

Donate

GUEOJUOWOWYEXYLZXNQUYMLMETF9OOGASSKUZZWUJNMSHLFLYIDIVKXKLTLZPMNNJCYVSRZABFKCAVVIW9IYHJNNRX 

About

Your IOTA Chat App

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%