General approach » History » Version 2
Greg Burri, 04/05/2011 10:40 PM
h1. General approach
Each file the user want to share is cut sequentially in pieces called _chunk_. Each chunk has the same size except the last one which can be smaller.
For each chunk there is a footprint called _hash_ which identify the chunk. We admit that two chunks with the same hash contains the same data. The hash is computed with a cryptographic hash function like SHA-1.
A chunk can only be downloaded if we know its hash. The hashes associated to a specific file can be given when browsing remote files if the remote peer knows them or can be explicitly asked. If the remote peer doesn't know the hashes of one of its file when they are asked it will compute these hashes on the fly and send them one by one as soon as possible.