Jean-Michel Melkonian ([EMAIL PROTECTED]) wrote:

> I'd like to ask you a few things, which are important to me :

I can only answer them partially.  Hopefully others will help out.

Thank you for these questions, by the way.  If someone were to write a
Freenet FAQ, most of these would be very useful as the questions for it!

> 1) What are the CHK, SSK, KSK, MSK keys ?

CHK is a Content Hash Key.  The key itself is a one-way hash of the
contents of the file that it points to.

KSK is a human-readable key, such as "[EMAIL PROTECTED]".  There's no guarantee
that the data you retrieve is what the KSK name implies; KSKs should be
avoided because they can be "attacked" (by inserting multiple different
data files all with the same KSK, someone requesting it will get a random
data file).

SSK is a signed subspace key.  You generate a keypair (private and public
keys), and then publish data using the private key.  The data can be
retrieved using the public key.  *For now*, all the public keys will end
with QAgE, so you can double-check yourself.

MSK is a "manifest".  It's an SSK with a date prefix on it, so that it
can be updated on a periodic (usually daily) basis.  The down side is that
is *has* to be updated every time, or your site "disappears" for that day.

> ALSO : Why does the documents about them are all obscure and technical ?

Because Freenet is changing too quickly for documentation writers to
keep up with, and the programmers would rather work on the new versions
of Freenet than write documentation.

> ALSO : Which key should I *properly* use, and what for ?

Whenever you insert anything, you're probably going to end up creating
at least two keys.  The first is a CHK, which actually points to your
data file.  The second will probably be an SSK@blahblah/Something or a
KSK@Something, which points to the CHK.

If you want to publish a "Freesite" (something that you can update every
day or every week), then you'll be using the MSKs.

> ALSO : Why some keys are of the form MSK@SSK ....

See above, and below.

> 2) What is the link between these keys and encryption/privacy (aka
> public keys and private keys) ?

The SSK does that.

> 3) Why some URI end with /pigdog journal// (for example) instead of just
> being of the form freenet:something@key/ ??

That's an MSK thing.  MSK@SSK@public_key/site_name// is converted into
SSK@public_key/datestamp-site_name/ (or something similar) by fproxy.

> 4) If freenet is totaly decentralized, how one can "publish"/insert a
> key ? Publish where ?

You publish to your own node's data store, and also to other nodes at
random.

> ALSO : When inserting a key, where does the request go? Who/what gives
> the acknowledgement ?

It goes to a random node.  Inserting first does a search, to make sure
your key isn't already out there.  Then, wherever the search terminated
(ran out of hops), that's where the insert goes.  (I think!)

I think that your insert also leaves a "trail" of pointers to the node
that the file gets "uploaded" to, rather than to you.  (Inserting is the
area where I'm most ignorant.  It's not really documented anywhere....)

> ALSO : When doing a test with a .gif, the Fproxy log implied that I had
> *uploaded* the file. Is it so ? Isn't data stored on each one's computer ?

See above.

> 5) And finally, trying to avoid the subject of freenet' speed (otherwise
> I'll get enemies), is freenet especially subject to net congestions ?

It's not designed to be particularly fast.  Future versions will
improve the speed, but nobody really knows by how much.  Being totally
decentralized (except for the soon-to-be-obsolete inform.php script),
Freenet has traded speed for anonymity.

Not all nodes are created equal, but Freenet assumes they are.  If you
end up talking to a slow node during one of your requests, you'll get
a slow response.  If your insert terminates at a slow node, then your
file will be "uploaded" to that slow node, and for a little while all
the requests for it will be serviced by the slow node.  (But if your
data file becomes popular, it will be spread across many nodes, so it
will become much easier to find it and much faster to retrieve it.)

-- 
Greg Wooledge                  |   "Truth belongs to everybody."
[EMAIL PROTECTED]              |    - The Red Hot Chili Peppers
http://wooledge.org/~greg/     |

PGP signature

Reply via email to