Naming service for the Invisible Internet Protocol
"wiht" <[email protected]> Sun, 03 Aug 2003 16:46:36 -0500
| Newsgroups | gmane.comp.security.invisiblenet.iip.devel |
|---|---|
| Message-ID | <[email protected]> |
jrandom, Thank you for explaining the way destinations communicate, and for correcting me. I still think a naming service will be valuable, but should be modified. It would allow for searching an entity's attributes as well as lookup. Since, as you pointed out, an entity could have more than one service running, with several destinations, the entity's record will now be: 1. Entity's name. 2. Public key for modifying this record. Updates to the record will have to be signed with the corresponding private key, and will not be made unless the signature is correct. 3. Personal information (blank if the entity does not wish to enter personal information). 4. List of services: a) service 1 (for example, IM) b) destination for service 1 (contact information) c) service 2 (for example, a website) d) destination for service 2 (contact information) e) etc. The entity would be responsible for updating the record if it changes. Other entities could search for whether that entity's entry exists, what services it provides, whether it provides a particular service (IRC, for example), etc. As for who would maintain the name servers, I suggest that it should not be a single entity. The naming service should be available from multiple destinations, so a peer-to-peer network of name servers should provide the service. Then users of the I2P network could specify trusted name servers, as you suggest. The name servers would periodically synchronize information they have, and propagate updates. I hope this answers your questions. If you have more, please post them to this list. -----Original Message----- From: <auto97841-revL73yDgGBWk0Htik3J/[email protected]> To: <[email protected]> Date: Sun, 3 Aug 2003 12:31:55 -0700 Subject: [iip-dev] Naming service for the Invisible Internet Protocol Cool idea, and even though the key functionality you describe is built into the spec, there is plenty of room for add on directory services. > the first destination will have to know the second's IP address or hash to communicate. Not true - if I have your Destination, that means I have your public key. I then tell my router to send a message {"hello co"} to that destination. The router then says "hmm, I don't know where that destination is - let me find out". It does a lookup in the distributed hash table, keyed by H(destination), to come back with a set of Lease objects. These Lease objects themselves do not have any physical contact addresses [e.g. ip address], but they do say at what router messages bound for a destination should be sent. ... That said, your idea is still a good one. Having a directory service on top of I2P would be quite useful, allowing people to register nyms (CA signed), manage/revoke Destinations associated with those nyms, as well as what application runs on each of those destinations (remember, a destination goes to one endpoint - my IM app may have a different destination from my web server app which may have a different destination from my web browser app). In addition, allowing people to publish general profile information would be just plain cool, enabling community building. You'd allow searching with this too, right? Or just plain lookup by destination or nym? Yes, having the ability to say i2p://jrandom:www/ or i2p://co:im/ would be, well, wikked. How would you suggest the naming system work - a central CA, plus a central repository of all entries? or a central CA plus a caching DHT of the entries? or a superpeer style network of entries with search for application/nym/destination/profile attributes? Or perhaps a peer to peer CA system, letting people specify what CAs they want to trust to 'resolve' destinations? Anyway, definitely cool -jrandom