Jump to content
To block spammers, this forum has suspended new user registration ×
Comet Forums
To block spammers, this forum has suspended new user registration

2MB/piece and 4MB/piece torrent


Recommended Posts

I got 2 torrents with same iso game file but different size/piece.

X is 2 MB (3429) and another one Y is 4 MB (1715).

When install on same directory and downloading X for 20%, then I stop X and manually hash Y,

I got 0.x% only.

My question is will it remember the half piece and downloading another half piece or just redownload the piece if it is not complete 4MB piece? Kinda noob question but just want to confirm. :D

Edited by sychern (see edit history)
Link to comment
Share on other sites

The two contents would have to be absolutely identical down to the byte, for this to work. At any given location within the file, they would have to be byte-identical.

When the torrent is made, it cuts up the source into an arbitrary number of equally-sized pieces, then computes an SHA-5 hash for each piece. A client, verifying a download, recalculates that hash and compares it to the value stored in the .torrent file, for that piece. If they match, it's good. If they don't the piece is deleted.

Even if the two are *almost* identical, just offset by one byte, the hashes will not match and each task will reject the other's pieces for failing hash-check.

Link to comment
Share on other sites

  • 2 weeks later...

The two contents would have to be absolutely identical down to the byte, for this to work. At any given location within the file, they would have to be byte-identical.

When the torrent is made, it cuts up the source into an arbitrary number of equally-sized pieces, then computes an SHA-5 hash for each piece. A client, verifying a download, recalculates that hash and compares it to the value stored in the .torrent file, for that piece. If they match, it's good. If they don't the piece is deleted.

Even if the two are *almost* identical, just offset by one byte, the hashes will not match and each task will reject the other's pieces for failing hash-check.

If total pieces for torrent X is 1000 and another torrent Y is 2000, will 50% completion of torrent X = 25% completion of torrent Y?
Link to comment
Share on other sites

No. The percentage of completion won't change, just the number of pieces required to reach a given percentage. For X it will take 500 pieces to get to 50%, for Y it will take 1000 pieces.

Do notice, however, that the pieces are NOT sequential. While you may say that you have "half of the torrent downloaded", that COULD mean you have every other piece.

Link to comment
Share on other sites

If you were to rehash a partial torrent with another torrent with different size pieces there are many variables that could produce vastly different results. You could possibly end up with nearly the same level of completion, or have almost all of the data discarded. Many torrents have small text files in them that change the hash, like "torrent downloaded by XXXXXXX.txt" for example. This can throw the boundary alignment off between the two torrents, and if you're using the align boundary data option in bitcomet, it will not allow any single bittorrent piece to span two or more files. This is very helpful when downloading files from non bitorrent sourced to complete a torrent download. Take for example you have a torrent for 5 television shows and the first 3 are complete, number 4 is 99.9% so it's close enough to watch and number 5 will never complete because there are no seeders, but bitcomet found the file elsewhere and downloaded it. It then is broken into bittorrent pieces and it's possible that one single piece is spanning file 4 and 5, and if you don't have all of file 4, so even though you just downloaded all of file five, it will only hash check to 99.9%. With file boundaries aligned you'd never have this problem, but non-bitcomet peers don't like this option, mostly because they don't understand it, or because they feel if it doesn't benefit them personally (which it does), then no one else should be using it.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...