[BitTorrent] BT2 & hash trees

John Hoffman theshadow at shambala.net
Thu Jul 22 11:32:00 EDT 2004


>>>So, you don't loose anything if, for the sake of interoperability, you use a block size of 
>>>1024 bytes for your hash tree (even if 1KB pieces are too small to make sense) and the 
>>>following internal / leaf hash function (where H is your hash function - probably SHA1)
>>>      
>>>
>>Interoperability with what?
>>    
>>
>
>Interoperability with p2p networks using THEX ( http://www.open-content.net/ ) 
>that are using the block size and hash functions proposed in the THEX spec ( 
>this would include Gnutella, OCN, G2 - virtually all networks using tree hashes 
>already). This gives you one important advantage (which may not be interesting 
>for you but which is very interesting for me): You can use these networks as a 
>sort of distributed backup tracker for your torrents without breaking with the 
>BT protocol and with only small extensions to the respective other networks.
>  
>

I considered recommending using THEX as the algorithm for BT2, but THEX 
is based on the Tiger hash, and on a low-iteration version of the hash 
at that.  I'm not convinced Tiger is very secure, so I recommend a tree 
based on SHA1 instead.

I did some tests and calculating hashes on such a fine-grained level 
does impose a significant amount of additional overhead, and since BT 
never transfers data at that level anyway, I don't recommend using a 
block size below 4K (and 16K would be much better)  for the BT2 tree 
hashes.  As for interoperability, if you really want it, there's no real 
reason you can't include THEX roots in the torrent files in addition to 
the BT2 root hashes.  There doesn't need to be a one-to-one 
correspondence between THEX's and BT2's tree's leaf node sizes, so long 
as one is as factor of two of the other.


------------------------ Yahoo! Groups Sponsor --------------------~--> 
Yahoo! Domains - Claim yours for only $14.70
http://us.click.yahoo.com/Z1wmxD/DREIAA/yQLSAA/dkFolB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/BitTorrent/

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

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



More information about the BitTorrent mailing list