You are viewing a read-only archive of the Blogs.Harvard network. Learn more.
Skip to content

Noisechain ensures “no single person is provably responsible of hosting/distributing a given file.”

This is a really interesting technology that makes it difficult (if not impossible) to determine who is hosting a particular file. After reading the latest changes to the DMCA we may really need something like this. I’ll blog more about those changes next.

An anonymous person will use Noisechain, to break the 'FILE' into 5 parts. Here's what 
Noisechain does. XOR is a commutative operator, so we need few parenthesis:

   1. generate 4 files: A, B, C, D, with completely random data in each.
   2. calculate X = (A XOR B XOR C XOR D) which is random; see (b)
   3. calculate E = (FILE XOR X), which is random; see (b)
   4. we now have A, B, C, D, E, which are all random, **but** have the property: (A XOR B 
XOR C XOR D XOR E) = X XOR E = FILE
   5. permute A, B, C, D, E randomly, to lose track of which come from step '1', and which 
comes from step '3'.

So, from a 'test.zip' file, noisechain will output 5 separate files, 'test.zip.[1-5].noise' which 
can then be hosted independently by 5 people.

Of course, it would be quite stupid to require 5 URLs for downloading the files. That is 
why, with each 'noise' file, you get a 'chain' file that points to the next URL.

Anyhow, it is mandatory to download *all* 5 files. If you have only 4 files, you have 
random data that gives **zero** information about the file. If the 5 people are in different 
countries, it it a nice bonus.

update 10/1/07: s/insures/ensures/g;

Post a Comment

You must be logged in to post a comment.