top | item 2267577

BitMate - BitTorrent For The Less Privileged

106 points| raufrajar | 15 years ago |dritte.org | reply

20 comments

order
[+] CJefferson|15 years ago|reply
This generally looks good, and sensible. There is only one piece that seems a little dodgy. Sending back out parts of pieces before you have fully received them.

I might be misunderstanding, but until a piece is fully received, you can't hash it and check it is right. This could therefore lead to many clients having partially incorrect pieces, if they keep passing it around.

I've found (and I'm not 100% sure why) that most bittorrent clients do find they get some number of dodgy pieces over time, so this isn't just a theoretical problem.

[+] umar_saif|15 years ago|reply
Just saw the surging traffic on our download site and noticed the link from HN.

Re: Aggressive sharing. Yes and no. If the torrent is encoded as a Merkle tree, you can verify subsets of a piece. For torrents that only include piece-level hashes, a BitMate client can upload an unverified piece. However, in our experience, its rare for pieces to be corrupted (unless the uploader is maliciously uploading corrupt pieces).

Please let us have your feedback regarding the performance and stability of the client since this our first (read: pre-alpha) release.

[+] ZoFreX|15 years ago|reply
> There is only one piece that seems a little dodgy. Sending back out parts of pieces before you have fully received them.

This is my concern too. The rest of it seems mostly compatible with BitTorrent (although I am a little concerned at there being multiple mechanisms by which this peer algorithm prefers itself, in this particular use case that behaviour seems justified and fair), but this is not playing nice.

One reason you receive incorrect pieces by the way is from people that have altered the files on their hard drive but still have their BitTorrent client running - a common case is MP3 player software rewriting the ID3 metadata, which WMP and iTunes do without asking.

[+] mhlakhani|15 years ago|reply
This research seems quite interesting, however I see one problem here. The BitMate client is fairly heavy, the download ranks in at 18MB. Getting this out to users in low bandwidth areas becomes difficult due to this. Compare this to uTorrent, which is just a 387kB download.
[+] wisty|15 years ago|reply
18MB isn't that heavy, given that most users will want to download Gigs of movies / music.

It's not great, but I can't see it as a huge obstacle.

[+] umar_saif|15 years ago|reply
Thank you for this input. We didn't want to change much in the most popular Bittorrent client (Vuze) that we used for building this. You are right, we will work on releasing a light (perhaps sans-UI) version of this soon ..
[+] zbowling|15 years ago|reply
I may have to reverse the changes here and figure out how to apply it to the transmission torrent client.

I'm on horrible hotel wifi or find myself a late seeder next to massive seed boxes on whatever tracker I'm on. This would give a good bump in the ratio the new guys and even things out if it works in theory.

[+] nuttendorfer|15 years ago|reply
You would probably not have a lot of luck using this on private trackers, as Vuze isn't whitelisted on most of them, plus it's a modified version.
[+] umar_saif|15 years ago|reply
I am not sure what you mean by "reverse the changes", but if you want to improve upload contribution for a low-bandwidth node, it is built into BitMate (it improves both download performance and upload contribution of bittorrent). Actually, for low-bandwidth nodes, it could improve upload contribution by as much as 1000%! Please try out the client and let us know what you experience.
[+] joebananas|15 years ago|reply
Probably a good way to get yourself banned from whatever tracker you run this on. If everyone ran this, download speeds would go down across the board.