There was recently a post to the sks list prompting discussion regarding the use of PGP and SKS as a distributed web of trust for an alternative currency system called “Bitcoin.” This reminds me of a project I worked on in the early ’00s with the late Jeff Fairhall and Thomas Greco.
Anyhow, I mumbled some things on IRC about my thoughts:
08:23 < cj> nanotube: I got your email on the sks list
08:32 < cj> nanotube: the reason SKS keyservers work at this
point is because there is little interest in PGP WoT
08:32 < cj> or PGP in general
08:33 < cj> cjac@pki:~$ df -h /var/lib/sks
08:33 < cj> Filesystem Size Used Avail Use% Mounted
on
08:33 < cj> /dev/xvda2 14G 9.0G 4.2G 69%
/var/lib/sks
08:34 < cj> if a major monetary system were to "piggyback" on
the existing network, maintenance of pub keys would
become unmanageable
08:34 < cj> nanotube: read through the sks archive with an eye
toward database size
08:36 < cj> there are a total of a bit more than 3M keys in the
db at this point.
08:36 < cj> http://keyserver.colliertech.org:11371/pks/lookup?op=stats
08:38 < cj> My database becomes corrupt every 3 months or so
and I need to re-build it. This may just be user
error, and probably is. However, I do not seem to
be the only one who suffers from this problem.
08:40 < cj> Assuming that there are on average about 5 keys in
the db per participant, that means the 9G of key
data represents 600K humans.
08:42 < cj> which is roughly 0.000085719% of the world's
population
08:43 < cj> if we want to support the other 100% of the
population, we need to implement intelligent
sharding or improve the efficiency of the data store
09:04 -!- OneFixt is now known as Guest66546
09:06 -!- Guest66546 is now known as OneFixt
09:08 < cj> note that operating a key server which stores
anything less than the full set of public keys
compromises the integrity of the system. The
primary objective of the key server is to be a
complete store of the set so that there is no
central authority.
09:16 < cj> from the wiki page: "Since the web of trust node
keys will over time grow long with a bunch of UIDs,
it is likely that you may not want to use your
regular key for this purpose, and would probably
want to create a separate key. If you want to tie
your regular PGP identity to this key, you can
simply cross-sign your regular key with your web of
trust key."
09:18 < cj> this assumes that there is an infinite amount of
storage on each SKS key server. If everybody's key
will over time grow long with a bunch of UIDs",
then we will see a very large number of very large
keys.
09:19 < cj> I recommend that bitcoin participants manage their
own SKS pool while developing the proof of concept.
This will reduce the noise caused in the public
pool.
09:20 < cj> and will give the developers an understanding of
the implications of their design decisions
09:22 < cj> here are some thoughts I had on the subject a
decade or so ago and RMS' responses:
09:22 < cj> http://web.archive.org/web/20030812201116/http://gnubucks.com/impressions/rms.html