politics etc. (usual top-posting apology) Thomas Lord (31 Jan 2006 18:43 UTC)
Re: politics etc. (usual top-posting apology) Alex Shinn (01 Feb 2006 02:39 UTC)
Re: politics etc. (usual top-posting apology) bear (01 Feb 2006 03:34 UTC)
Re: politics etc. (usual top-posting apology) Alex Shinn (01 Feb 2006 03:57 UTC)
Re: politics etc. (usual top-posting apology) Thomas Lord (01 Feb 2006 05:44 UTC)
Re: politics etc. (usual top-posting apology) Alex Shinn (02 Feb 2006 03:01 UTC)

politics etc. (usual top-posting apology) Thomas Lord 31 Jan 2006 18:23 UTC

Thanks, Alex.   Rather than reply point-by-point here's this:

In GNU Arch 1.x we have, I claim, decentralized + human-readable +
secure names.  The design has some imperfections so I won't defend it
in every detail.  It basically works, though, and suggests a paradigm.
I'll describe the paradigm in idealized terms so as not to get hung up
in the flaws in Arch.

We again start with the idea of an infinite tree-topology
name-space in which ownership can be assigned (recursively)
to subtrees:

		community-sentiment
                  /      |      \
               top-level authorities
               /   |     |     |    \
              names and sub-authorities
                       ...

To be decentralized we must allow authorities to self-nominate.

To be secure, that self-nomination must be based on a public key.

To be human-readable, we can not (normally) use the text of the
public key itself as the name of an authority.

So:

  By convention -- community sentiment -- we start with a generative
  grammar for human-readable names with the property that it is easy
  for people to make accidental collisions unlikely and malicious
  collisions clearly apparent as such.  The current SRFI-84 draft does
  such but also goes further (too far?) by creating specially
  privileged top-level authorities and by failing to allow people to
  self-nominate as new authorities without paying perpetual tribute to
  the privileged authorities.

  By standard, define a way for self-appointing naming authorities to
  issue certificates which bind public keys to names within the
  context.  Of course there may arise contention, though in practice
  there is little legitimate need for such.  When contention arises,
  we fall back to the community sentiment to form a consensus about
  which competing claim is true.  The role of crypto here is simply
  to give the community an objective basis on which to recognize and
  discuss the contention.

  As a pragmatic matter, communication falls into the classes
  "formal" and "informal".   Where formal communication is called
  for, certificates are explicitly referred to and tools are available
  to see that they are applied correctly.  In informal discourse,
  the human-readable names enough.   In other words, in talking at
  the conference on software for missile launching I'll just say
  `foo:bar' and people know what I mean.  But in the paper in the
  proceedings and in the link-loader for my software -- I'll use
  the keys, thank you very much.

It turns out that some folks are way ahead of us on systems like this.
This paper is well written and appears to be a good entre to the
literature:

   http://theory.lcs.mit.edu/~rivest/ClarkeElElFrMoRi-
CertificateChainDiscoveryInSPKISDSI.ps

 If we accept the general thrust of what I'm saying then we can ask
 about the proper form and function of this SRFI.   Should it say
 anything about certificates?  Should it privilege some short-hands
 over others?

 I've got my own opinions about such questions but I'm not terribly
 interested in trying to argue anyone into them.   I'm content to
 raise contextual awareness and to be seeing some contemplation of the
 issues going on.

-t

p.s.: one last thing that doesn't quite fit into the above but
responds to Alex:

  Yes, there is a difference between securing the named thing,
  securing the binding of name to name thing, and securing the
  name itself.

  I'm interested here in the issue of securing the name itself --
  in other words, allowing a decentralized yet secure process
  to create new nouns and refer to those nouns unambiguously.
  The binding problem (names to meaning) and ontology thing
  (identities of the named things) are separate.   Securing
  names seems to me a prerequisite, though, for solving the
  binding and identity problems.

  What a mouthful.  I need a gin an tonic.   Mmmm.... `Quine'ine.
  :-)   (Sorry. ;-))