[BitTorrent] Back (again) to Merkle Trees....

Paulo S Silva Jr mstrcontrol at yahoo.com
Mon Feb 7 22:15:22 EST 2005

Greetings Programs,

I was reading about the Merkle Hash Tree implementation as it was 
discussed here on the list, and I'd like to throw in my two bits of 
thought too.

The greatest concern about using Merkle Trees is to make small 
chunks of data more readily available to the swarm with a reasonably 
secure verification as well making the torrent file smaller. As I 
could gather is that the three nodes must be known in order to 
verify the data, right?

I've thought an implementation that could work.

Ok, let's think about a brand new seed. In a scenary like this 
there's no other downloaded file. Only one seeder and a bunch of 
leechers. As the clients connects to the seeder and downloads a 
chunk of data, the seeder sends a message with the 20B SHA1 hash of 
the data just downloaded. 

"But hey, where the heck is the Mekle Tree?" you may ask. Well, I 
have thought somethink like this...

         /   \
        /     \
       /       \
      H1        \
    /    \       \
   /      \       \
  H2      H3      H4
 /  \    /  \    /  \
C1  C2  C3  C4  C5  C6

Now, imagine this is a whole piece made of 6 chunks of data. A 
leecher downloads the chunk C3 and receives the hash H3. By the way 
I thought the downloaded saves the hash and do not make the chunk 
available until it have downloaded the chunk C4, thus checking with 
the known hash and making both chunks available at once. And as the 
downloaded receives more chunks and hashes it checks against the 
built hash tree.

"WTF? Where is the security in this?" Well, we're as safe as the 
SHA1 hash function.

As I said it's only my two bits of thought (so, please, easy on the 
attacks right :)...

Best Regards...


Yahoo! Groups Links

<*> To visit your group on the web, go to:

<*> To unsubscribe from this group, send an email to:
    BitTorrent-unsubscribe at yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:

More information about the BitTorrent mailing list