gnunet-developers
[Top][All Lists]
Advanced

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

Re: [GNUnet-developers] Questions regarding user discovery.


From: Christian Grothoff
Subject: Re: [GNUnet-developers] Questions regarding user discovery.
Date: Thu, 23 Mar 2017 09:49:04 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.6.0

Hi Mike,

To publish records in the GNU Name System, all you need to do is create
the respective GNS Record Set and put it into your namestore.  (See
gnunet_namestore_service.h).  Then, the "zonemaster" service will
automatically pick them up, sign them, and put them into the DHT.

GNS records are integrity-protected by the ECC signature, so there is no
need for you to worry about sha512 or anything like that.  Also, all of
that happens within GNS/zonemaster/DHT/gnsrecord, so your application
does not have to deal with it.

What you should do is write a libgnsrecord-plugin to convert your record
type's data form/to a binary format, but that's mostly so that the
command-line tools can be used to display/manipulate the records.

Also, instead of a construction like:

> _ircd._dht.<some hash of nick/chan>.<whatever domain would be appropriate>

you should avoid having the crypto and other technical things show up in
names.  Instead, "_ircd" should just be implied by the record type that
will be used by the application, and "_dht" is a technical detail that
doesn't matter to the user.  You don't need to hash the nick or chan, so
just use it directly:

nick.channelname.domain-that-introduced-you.gnu


Happy hacking!

Christian


On 03/22/2017 08:41 PM, Mike Mestnik wrote:
> Hello,
>   I've made a number of assumptions that I'd like to get some feedback
> about, but mainly I'm lost as to how nodes discover each other at the
> application level.  I believe my main issue can be solved by
> publishing gns records, but I'm totally in the dark as to how to
> construct and put these.
> 
> Firstly I wonder if DHT contents can be tamper resistant, if not
> proof, by using sha512 of the data as the key.
> https://github.com/cheako/gnunetircd/blob/old-master/src/dht.c#L44
> 
> Then I wonder if I've correctly built and designed the DHT contents.
> https://github.com/cheako/gnunetircd/blob/old-master/src/dht.c#L73
> https://github.com/cheako/gnunetircd/blob/old-master/src/dht.h#L33
> 
> Given that, I believe what's left is to publish the key as the nick in
> gns.  Here is what I'm thinking about for names.
> _ircd._dht.<some hash of nick/chan>.<whatever domain would be appropriate>
> 
> If done this way I believe a single gns type can be used for all
> hashcode records.  The nick and channel names in irc have few
> restrictions, they can contain almost *any symbol.  If I'm
> understanding the RFC correctly even 8bit chars are allowable.  Our
> only saving grace is that they are **limited, per RFC, to a length of
> 9.
> 
> * https://tools.ietf.org/html/rfc1459#section-2.2
> ** Some networks allow longer names.
> 
> Thanks!
> 
> _______________________________________________
> GNUnet-developers mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/gnunet-developers
> 

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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