[BitTorrent] Re: bt2 protocol features

xtf2007 OvdSpek at LIACS.NL
Sat Jun 5 14:37:01 EDT 2004

--- In BitTorrent at yahoogroups.com, Bram Cohen <bram at b...> wrote:
> The main sticking point left is how to deal with piece sizes - 
ideally all
> peers should be using the same piece size, but whether that's a 
good thing
> to require and if so (or even if not) how to set it I'm not sure of 
> Also I'm not sure how to make trackers support scrape functionality 
> more to the point, I'm not sure how much scrape functionality to 
> over, and in what way). Other than those issues all that's left is 

How about this?
A merkle tree with 1 kb block size is generated for each file.
Each file in a torrent is divided into 2 mb macro blocks.
Each macro block is divided into 16 kb micro blocks.

The bitfield message will contain one bit for every valid micro block.
The have message will contain a 32-bit macro index and a 32-bit micro 
The want message will look like the have message.
The piece message contains a 32-bit offset without the last ten bits 
and 1 kb data.

The index/bitfield combo allows you to specify any set of 0 to 32 
micro blocks within one macro block.
There is a request/response pair of messages to transfer the hashes 
of all macro blocks up front (40 kb for a 10 gb torrent).
There is also a request/response pair of messages to transfer the 
hashes of all micro blocks in a macro block (640 b).

During normal operation, the bitfield of have/want messages will be 
all 1s.
But at startup, a have for a partial macro block might be broadcasted 
to start uploading much faster.
And when a macro hash check fails, the micro hashes can be downloaded 
to pin down the fauly micro block(s).

------------------------ Yahoo! Groups Sponsor --------------------~--> 
Yahoo! Domains - Claim yours for only $14.70

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