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. 
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.
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?
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.
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.