Here are some suggestions: 1) Put an "Email invitation" button on the client that automatically pops up Outlook, Eudora, Thunderbird, or whatever email clients you want to support. Thus the use needn't worry about saving some public key to disk and mailing it out manually. It might pre-populate the email with instructions on how the recipient should use the public key, as well as instructions on how to download the client if they don't already have it.
2) Put the public key into some kind of special .XYZ filetype that the client is registered to handle. Thus the recipient of the public key need only double-click on the .XYZ file and it'll automatically be imported into his buddy list. 3) Encode in this invitation some kind of secure token such that when you email me your public key and I import it, my client can automatically add my public key to your buddy list without me needing to email it back to you. (Ie, the whole exchange process requires only a single email, not a round trip.) 4) Integrate with IM clients to do the whole thing faster than email. 5) Use multicast such that when the two computers are in "range" of each other (generally on the same LAN) they detect this and do the key exchange direct -- perhaps show a screen "I've detected a client that claims to be on Bob's computer. The secret word is 'foobar'; go verify Bob's computer is showing this screen with the correct secret word. If so, click OK." Then on Bob's computer it'd say "I've detected a client that claims to be on Alice's computer. The secret word is 'foobar'; go verify Alice's computer is showing this screen with the correct word. If so, click OK." Granted, none of these are purely decentralized (well, maybe (5) is, if you're on an ad-hoc wireless network). Ultimately you're using DNS, SMTP, Jabber, or some other centralized protocol to make the exchange happen. But that's a semantics debate. -david > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > Behalf Of K.S.Sreeram > Sent: Friday, June 23, 2006 5:22 AM > To: p2p-hackers@zgp.org; [EMAIL PROTECTED] > Subject: [p2p-hackers] ease of use in a decentralized communication system > > Hi All > > As I had mentioned in my earlier post, I'm working on a decentralized > communication system, where every user is identified by his RSA key. A > DHT is used to map the user's public key to his network location (ip > address). A user's contact list basically is just a list of public keys. > > It has a pretty easy to use GUI, where I can just right click on any > contact and choose 'Remote Desktop', and I get a secure NAT/firewall > friendly VNC session established. Similarly secure chat and filetransfer > are available too. > > One of the biggest stumbling blocks that will hinder mass adoption of > this product is the fact that users need to manually exchange their > public keys (e.g thru email), before they can communicate with each other. > > I'm at a loss of ideas on how to tackle this problem. Right now i'm > contemplating having a central key-server (some what like pgp key > servers), which is used to fetch public keys when a user adds contacts. > This is probably the simplest approach, but it does break the technical > purity of a 'completely decentralized system'. > > Does anybody have any ideas on how this ease-of-use problem can be solved? > > Regards > Sreeram > _______________________________________________ p2p-hackers mailing list p2p-hackers@zgp.org http://zgp.org/mailman/listinfo/p2p-hackers _______________________________________________ Here is a web page listing P2P Conferences: http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences