Ticket #1761: convergence-secret.rst

File convergence-secret.rst, 2.5 KB (added by marlowe, at 2013-03-18T06:22:58Z)
Line 
1What Is It?
2-----------
3
4A file's capability is derived from two pieces of information on
5upload: The content of the file and the upload node's "convergence
6secret". By default, the convergence secret is randomly generated by the
7node when it first starts up, then stored in the node's base directory
8(<Tahoe's node dir>/private/convergence) and re-used after that. So the
9same file content uploaded from the same node will always have the same
10cap string. Uploading the file from a different node with a different
11convergence secret would result in a different cap string—and in a
12second copy of the file's contents stored on the grid. If you want files
13you upload to converge (also known as "deduplicate") with files uploaded
14by someone else, just make sure you're using the same convergence secret
15as they are.
16
17The advantages of deduplication should be clear, but keep in mind that
18the convergence secret was created to combat snooping. For example, with
19a convergence secret and a file, I can generate a file capability that
20would allow me to determine that you have uploaded a file to the grid.
21This isn't a big deal for things that are personally produced, but is a
22big deal for commonly known things that you want to keep secret that you
23know about. Examples would be a Bible in China or The Anarchist's
24Cookbook at the High School that I went to. Here's the details of the
25origin of the convergence secret: `Convergence Secret Justification`_
26
27.. _`Convergence Secret Justification`:
28   https://tahoe-lafs.org/hacktahoelafs/drew_perttula.html
29
30What If I Change My Convergence Secret?
31---------------------------------------
32
33All your old file capabilities will still work, but the new data that
34you upload will not be deduplicated with the old data. If you upload all
35of the same things to the grid, you will end up using twice the space
36until garbage collection kicks in, if it's enabled. As one user put it,
37it would move the node where you change the convergence secret into a
38new deduplication domain.
39
40How To Use It
41-------------
42
43To enable deduplication between different clients, **securely** copy
44the convergence secret file from one client to all the others.
45
46For example, if you are on host A and have an account on host B and you
47have scp installed, run:
48
49  *scp ~/.tahoe/private/convergence
50  my_other_account@B:.tahoe/private/convergence*
51
52If you have two different nodes on a single computer, say one for each
53disk, you would do:
54
55  *cp /tahoe1/private/convergence /tahoe2/private/convergence*