Freenet's hashing algorithm

graydon@pobox.com graydon@pobox.com
Thu, 15 Feb 2001 23:22:33 -0500


On Thu, Feb 15, 2001 at 02:43:05PM -0800, hal@finney.org wrote:
> Ted Anderson, <ota@transarc.com>, writes:
> > For publishing, the use of CHKs means that data can be delivered to the
> > reader, or to a congenial jurisdiction, via any and all means available
> > without risk of compromising the data's integrity or utility to the
> > consumer.  Email, CD-ROMs by mail, Tee-shirts, or carrier pigeon all can
> 
> This is one of the big advantages of content based hash schemes.
> 

this strikes me as a conflation of matters, with serious drawbacks.

* lack of friendly names
* inability to change data without renaming/moving it
* no actual improvement in security. the fact that the data satisfies
  the hash is vaccuous; any data will satisfy a CHK pointing to it,
  regardless of who put it there or how "true" it is. what you care about
  is that the data you retrieved is the data some party intended you to
  receive, and if you read a CHK off a tee shirt there is no reason to
  believe this CHK is any more trustworthy than a press release from the
  government of EvilLand.

certainly a good hash algorithm is useful for stretching a friendly
name into some fixed-size, uniformly distributed keyspace for finding
the associated block. but hashing the content is a security issue, not
a retrieval issue. freenet seems to be fiddling around with a variety
of key types to get the balance of pragmatics right. chained hashes
signed by some sort of pre-existing security association key makes sense
for verifying a stream piecemeal, but I still wouldn't use that for
locating, in case you want to update the data. you really don't want to
relocate all the blocks just because you change 1 byte somewhere.

-graydon