jtorchat / jtorchat-old

Academic, Java, p2p, Messaging, Messenger, cyptography
21 stars 12 forks source link

GroupChat #7

Open zerotamaitsu opened 12 years ago

zerotamaitsu commented 12 years ago

How is groupchat going at the moment?

== Current model

Additional Notes on Current model for groupchat:

  1. It will try direct message sending for everyone in the group

    daux (Direct): normal msg from me

  2. If one member is partially disconnected from others, everyone that is still connected to that user will tell other unconnected users that they got it from that user. The message will display number of users that claims to have received that message out of the total list.

    daux (8 of 10): I'm partially disconnected from 2 users

To implement this, three simple rules is needed.

  1. Everyone needs the same grouplist/memberlist
  2. On direct reception of message from the original speaker, first display message in groupchat with "(Direct)" tag, and then relay on the message for the benefit of any disconnected users.
  3. If received 'relayed' message, wait for any other copy of the message to arrive from other members, then depending of users you received a copy of. Display a 'trust' ratio. e.g. "(8 of 10)", which means, 8 members out of 10 members said they received that particular message from that speaker.

Why this approach, why not symmetric encryption, or asymmetric encryption.

  1. symmetric encryption will not prevent spoofing as everyone has the same key. As for snoopers outside the group, just make sure everyone has the same memberlist.
  2. asymmetric encryption is harder to implement and requires more CPU cycles. However we will implement this eventually as an optional addon for those that requires it. KISS applies here, we want to keep it simple, and bugfree.
zerotamaitsu commented 12 years ago

Okay we are going to follow this documentation that we worked with 'meh' on. https://github.com/meh/ruby-torchat/tree/doc/doc/protocol

Use groupchat.md and groupchat_redundancy.md

meh commented 12 years ago

Just here to say that I tested my implementation and design, and it works properly, already implemented in BitlBee.

jtorchat commented 12 years ago

I will try to implemented your protocoll meh, this will need many times and we must first fix bugs.

zerotamaitsu commented 12 years ago

meh, can i remind you that you have forgotten to change "!" and "?" in https://github.com/meh/ruby-torchat/blob/master/doc/protocol/groupchat.md , into an alphanumeric format. If you remember, prof7bit would not implement groupchat if it has alphanumeric characters in packet name.

On Mon, May 7, 2012 at 12:15 PM, jtorchat < reply@reply.github.com

wrote:

I will try to implemented your protocoll meh, this will need many times and we must first fix bugs.


Reply to this email directly or view it on GitHub: https://github.com/jtorchat/jtorchat/issues/7#issuecomment-5548684

zerotamaitsu commented 12 years ago

*non alpha numeric character

On Tue, May 8, 2012 at 10:40 AM, Eliza Burkes jtorchat@gmail.com wrote:

meh, can i remind you that you have forgotten to change "!" and "?" in https://github.com/meh/ruby-torchat/blob/master/doc/protocol/groupchat.md, into an alphanumeric format. If you remember, prof7bit would not implement groupchat if it has alphanumeric characters in packet name.

On Mon, May 7, 2012 at 12:15 PM, jtorchat < reply@reply.github.com

wrote:

I will try to implemented your protocoll meh, this will need many times and we must first fix bugs.


Reply to this email directly or view it on GitHub: https://github.com/jtorchat/jtorchat/issues/7#issuecomment-5548684

meh commented 12 years ago

meh, can i remind you that you have forgotten to change "!" and "?" in https://github.com/meh/ruby-torchat/blob/master/doc/protocol/groupchat.md , into an alphanumeric format. If you remember, prof7bit would not implement groupchat if it has alphanumeric characters in packet name.

Oh snap, yeah, I forgot to update the examples, my implementation doesn't have those characters, if you notice the titles of the packets are different,

zerotamaitsu commented 12 years ago

Suggested packet name:

groupchat_participating? => groupchat_check_user_participating

groupchat_participating! => groupchat_user_is_participating

groupchat_not_participating! => groupchat_user_not_participating

On Tue, May 8, 2012 at 10:41 AM, Eliza Burkes jtorchat@gmail.com wrote:

*non alpha numeric character

On Tue, May 8, 2012 at 10:40 AM, Eliza Burkes jtorchat@gmail.com wrote:

meh, can i remind you that you have forgotten to change "!" and "?" in https://github.com/meh/ruby-torchat/blob/master/doc/protocol/groupchat.md , into an alphanumeric format. If you remember, prof7bit would not implement groupchat if it has alphanumeric characters in packet name.

On Mon, May 7, 2012 at 12:15 PM, jtorchat reply@reply.github.com wrote:

I will try to implemented your protocoll meh, this will need many times and we must first fix bugs.


Reply to this email directly or view it on GitHub: https://github.com/jtorchat/jtorchat/issues/7#issuecomment-5548684

Cypher1 commented 12 years ago

Wouldn't it make sense to have a chat leader who does all the resending but if they die/disconnect the next user takes on their role. That way it is less network heavy.

HostFat commented 12 years ago

Can this document be useful for group feature? http://www.cypherpunks.ca/~iang/pubs/mpotr.pdf

First implementation: https://github.com/hellais/cryptocat/blob/mpotr/js/mpotr.js

zerotamaitsu commented 12 years ago

Looks massive, will read later this month. Whats the gist?

On Fri, May 18, 2012 at 9:16 AM, HostFat reply@reply.github.com wrote:

Can this document be useful for group feature? http://www.cypherpunks.ca/~iang/pubs/mpotr.pdf


Reply to this email directly or view it on GitHub: https://github.com/jtorchat/jtorchat/issues/7#issuecomment-5782374