Sunday, March 11, 2018

Protocol for async peer to peer

Hi, I’m currently working on my bachelor thesis, I’m working on a peer to peer chat messaging protocol over tor, similar to ricochet if you know it. In the thesis I’m trying to design a protocol for async messaging. The idea is, other app users that are currently online, will be used as relays for the messages if the recipient is not currently online, in a sort of cache and retry type system. Until now it must seem like I’m posting in the wrong subreddit, however one of the problems I can’t seem to get around, is what to do with misbehaving/low availability relays. From reading research on the subject, it seems more and more that this is a common problem in distributed networking in general. For example, if a relay didn’t deliver the message, is it because he is not online enough, the recipient wasn’t online or is he a misbehaving node(DoS by Acking the message with no intention to forward)?

My question is, do you have any recommendation for how to tackle this problem in a protocol? I guess the same problem could be for routers in a network.

Some thoughts I had, is some kind of scoring system, but are there any known algorithms that I have missed in my research?



No comments:

Post a Comment