[p2p-hackers] ease of use in a decentralized communication system

David Barrett dbarrett at quinthar.com
Sun Jun 25 23:41:17 UTC 2006

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

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.


> -----Original Message-----
> From: p2p-hackers-bounces at zgp.org [mailto:p2p-hackers-bounces at zgp.org] On
> Behalf Of K.S.Sreeram
> Sent: Friday, June 23, 2006 5:22 AM
> To: p2p-hackers at zgp.org; p2p-hackers at lists.zooko.com
> 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

More information about the P2p-hackers mailing list