I am fairly new to the mailing list, so forgive me if these ideas have
been forwarded previously and shot down. I would like to forward the
following suggestion for modification of data in the freenet system. 

Each item of data should be stored with an 'update hash'. This hash being
the result of hashing the actual original file with a one-time-use
password (possibly derived from a password the author uses persistantly).
Each server storing the file also stores this update hash, and the hash
itself is generated by the author and sent to the server with the original
data. When the author decides to update his content he sends his new
content along with the password that 'unlocks' the original document
(along with a new update hash for the new revision).

A server can then store the password to unlock the original document and
use it to authenticate the new document as required to push updates to
other servers.

This hash ensures the person updating the key is the real author, and
servers updating the key are acting on the author's behalf.

This may introduce two new items to freenet. First each key may have some
associated 'metadata'; along with the update_hash some other metadata
items may be things such as 'indexable' (support dir listings when a key
with subkeys is retreved?), 'searchable', 'description', 'bangpath' (see
note 1), and 'revision'. Servers may contain a given piece of metadata for
data it does not have, but usually not vice versa. 

Secondly a 'control message protocol' may be useful. Servers may be able
to announce themselves as available to the freenet and use it to announce
updates to a given key. As the control messages would be relatively brief
they would not incurr as many of the problems of data broadcast protocols
(NNTP) but could use similar methods (IHAVE) to pass messages around.

Note1: A bangpath can be of arbitrary length with the last X hosts that
the document passed through on its way to this server's data store. It
would be undesireable for the bangpath to lead all the way to the origin
of the document for privacy reasons, thus the arbitrary length. This can
be used as a 'server discovery' tool for the server to have a catalog of
other freenet servers so that the freenet network can have a 'self
repairing' topology.. the server can start using discovered servers for
key searches if its primary servers fail.

-- Greg

Greg Retkowski                          Mail: greg at rage.net
Raging Network Services                 URL:  http://www.rage.net/


_______________________________________________
Freenet-dev mailing list
Freenet-dev at lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/freenet-dev

Reply via email to