TL;DR.
You say you store messages on the blockchain. Yeah, DPoS, improved speed compared to PoW, but: have you ever considered the amounts of data the full nodes will have to store if your messenger will become popular? Wouldn't it lead to centralization, because only a small amount of nodes will be able to process large amounts of data?
upd:
Ok, I've looked through the WP.
I think that the assumption of 300 bytes per message is not very precise, because you also have to store sender and receiver addresses, the signature, probably some additional metadata.
If sender can read sent messages, they should be encrypted and stored twice (encrypted with receiver's private key and sender's private key).
Transactions of other types will also consume hard disk space.
Telling that your messenger is "secure" and "anonymous" is not very correct too.
1) Assuming that one user has his private key compromised, the stealer gains access to the full message history.
2) As I understand the concept, the fact of conversation between two pseudonymous users can be easily proven. It is possible to build a graph on user's connections.
3) At the moment, browser version of the messenger connects to the public server. The client requests transactions belonging to him with his public key. So at the server (full-node) side it is possible to correlate IP-address with the public key. I'd strongly recommend to use this app only via proxy/tor/vpn.
Thanks for joining our Slack!
I'll post a reply here also.
Aleksei Lebedev [11 minutes ago]
Hello! Thanks for your deep interest in ADAMANT.
Aleksei Lebedev [7 minutes ago]
Yeah, we store messages in blockchain, as well as other transaction types. But as ADAMANT do not plan to replace Facebook, we'll have limited, but specified users auditory. As all of transactions need few disk space, and disk space is cheap enough, that will be not a problem we think.
Aleksei Lebedev [7 minutes ago]
As I know all the database sized about 200 MB.
Aleksei Lebedev [6 minutes ago]
1) Yes. We plan to have a possiblity for changing keys within chats.
Aleksei Lebedev [4 minutes ago]
2) You are right again. First thing user can understand there is no way to hide if there is no deep IT knowledge. ADAMANT provide anonymous ID, but it still can be revealed. Later we plan to hide chat transactions in blockchain, like Monero does.
Aleksei Lebedev [2 minutes ago]
3) Yes, but later client will be connected to random node. If there will be many nodes, it will be hard to get IP-public key link. And Tor can be used for sure.
Aleksei Lebedev [2 minutes ago]
> If sender can read sent messages, they should be encrypted and stored twice (encrypted with receiver's private key and sender's private key). — No, we generate common key for both recepient and sender.
Aleksei Lebedev [1 minute ago]
Anyway, there is much space to develop. :slightly_smiling_face: