top | item 6729037

★ Is it possible to deliver offline messages in P2P network on iOS/Android?

6 points| golubevpavel | 12 years ago | reply

I’m working on secure and anonymous instant messenger for Android and iOS. I believe that true security and anonymity can’t be achieved in client-server architecture, therefore I’m building up a P2P mobile IM without servers or “super” nodes. I have opted out of XMPP in favor of Torchat. So at this point my team is porting Torchat and OTR to iOS and Android. Source code is open on Github (https://github.com/prive). Torchat and OTR solve my objectives perfectly well — it provide security, lack of central nodes and servers, IP address masking, ease of use, reliable connectivity, encryption and authentication. But neither of them work if recipient of the message is offline. Message is lost and recipient never receives it when becomes online.

My assumption is that messages should be buffered inside P2P network and conveyed to users by mediators, other participants of the network. I looked over the Internet and found a Bitmessage protocol. It’s based on Bitcoin protocol and implements P2P serverless instant messaging. Each node in Bitmessage network receives all messages and attempts to decrypt them using own private key. To solve scalability issues network is split automatically into multiple clusters (called streams). It allows to keep network traffic and CPU consumption within acceptable threshold.

1. Am I using the right protocol to implement P2P offline messaging on iOS/Android? 2. Can I estimate network and CPU load that will occur on mobile device? 3. Is it possible to receive and decrypt Bitmessage data on iOS while application is in background?

2 comments

order
[+] secfirstmd|12 years ago|reply
Very interesting project, interested to see how you get on.
[+] golubevpavel|12 years ago|reply
Thank you. There are some technical issues, but I believe it's all feasible.