[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GNUnet-developers] Chat System, again

From: Christian Grothoff
Subject: Re: [GNUnet-developers] Chat System, again
Date: Tue, 28 Sep 2004 18:56:17 -0500
User-agent: KMail/1.7

On Tuesday 28 September 2004 14:48, Arne Wichmann wrote:
> begin  quotation  from Christian Grothoff (in 
> > On Wednesday 01 September 2004 23:24, Arne Wichmann wrote:
> > > Hi.
> > >
> > > Is there anyone actively working on a more elaborated chat system for
> > > Gnunet at the moment? I am just thinking to give out a practicum which
> > > would be a start of such a thing.
> >
> > Sorry for the late reply.  There is no active work on it at this point.
> > Nevertheless, there have been various ideas that I've been discussing
> > with people in terms of how it should be implemented.  So you should feel
> > free to give people such a project, but if you want to increase your
> > chances that it'll eventually end up in the main codebase you might want
> > to give me a chance at the description you're handing out (it might also
> > be useful anyway since I might be able to point out some general problems
> > / ideas in terms of how to use GNUnet 'properly').
> begin  quotation  from Marcos D. Marado Torres (in 
> > On Thu, 2 Sep 2004, Arne Wichmann wrote:
> > > Is there anyone actively working on a more elaborated chat system for
> > > Gnunet at the moment? I am just thinking to give out a practicum which
> > > would be a start of such a thing.
> >
> > I have some ideas (nothing practical yet), but I suppose the best thing
> > to do to discuss such implementation is to create a Wiki or something
> > about it...

Well, as I said, an HTML (or i18nHTML) page would be good enough :-)

> Ok, to start that up: I sent the following to my supervisor (short and
> rough translation of a german text):
> SEP: chat system for Gnunet
> Gnunet is an anonumous p2p-protocol, which supplies an anonymizing
> transport layer for applications based on it. Gnunet already implements a
> file sharing protocol.

Well, the transport layer provides some functionality helpful for 
anonymization (notably link encryption, batching, delaying, constant-size 
messages, relatively constant traffic due to message scheduling), but that is 
not necessarily sufficient to obtain anonymity.  An anonymous routing 
protocol is still required.

> The big scope of the task is, to create an anonymizing chat system based on
> the Gnunet network. In this SEP in a first step the protocol shall be
> created and a limited prototype be implemented.
> Users of the systems shall (optionally) have unique names, which
> nevertheless shall be hard to retrace to an actual person.

I would use / recycle the existing pseudonym construct in GNUnet: the hash of 
your public key is your unique pseudonym; you can choose a nickname and sign 
it to get a more user-friendly handle, but if two nicks conflict the public 
key is the ultimate unique handle.  Anything else is unlikely to work in a 
distributed setting anyway.

> Users shall be able to assemble in channels for group conversation. One to
> one conversation shall be possible too.

So suppose we have channels that are identified by some name (or hash of some 
name?).  How do you (or can you) prevent listening of users on the channel 
that are not listed as participants (users that run some peer in the network 
that routes traffic of the channel should still not be able to listen in 
without being visible to the other users, right?  That means re-keying for 
every join/leave, which introduces a big DoS problem (rapid join/leave)).  Do 
you want to be able to ban users from participating in a channel (operator 
status?).  How would that be implemented?  Do we want open channels (anyone 
can join) or should we for security require 'invite only' channels?

> The infrastructure of Gnunet shall be used to hide souces (and
> destinations) of chat traffic.

GNUnet can do discovery and hopefully soon provide a DHT, but that does not 
provide you with a chat-specific anonymizing routing algorithm. Also, what 
are your reliability and latency goals?  Total message ordering?  3-way 
end-to-end handshake with all participants, one peer responsible for routing 
(and in a position where that peer could selectively drop messages and no one 
would know)?  What delays between messages are acceptable?

> The entire infrastructure shall be kept decentral, that means without any
> central server.
> Knowledge needed to start the project:
> [skipped]
> The following steps will be needed to complete the SEP:
> - intensive work to understand Gnunet
> - a detailled scetch of the general structure of the chat system protocol
>   (with support of the supervisor)
> - choice of the parts of the protocol which will be implemented
> - implementation of the prototype
> END (of text)
> I have some ideas how to do such a thing. On the other hand I will be
> delighted if a student has good ideas how to do it, so I will not be in the
> front line there.
> Still it would be interesting to hear your ideas. ;) It would reduce the
> need to have good ones of my own. :-}

Well, ok, I didn't give as much as ideas for solutions but rather problems 
that you may (or may not) want to try to solve :-).  Keep me posted...


reply via email to

[Prev in Thread] Current Thread [Next in Thread]