Jump to content
Comet Forums
The UnUsual Suspect

TorrentFreak Article

Recommended Posts

BitComet was recently the focus of an article by Ernesto of the popular TorrentFreak filesharing news network. We are pleased that TorrentFreak has shown interest in our client and were happy to provide them with an interview with our CEO RnySmile, the development team, and our forum support staff.

Here is a link to the article, followed with the Press Release we provided.

BitComet: a BitTorrent client behind a language barrier

Hi Ernesto,

It's a pleasure to speak to you and your readers, we all are fans of

TorrentFreak and enjoy reading your articles. We at BitComet have been very

busy working on our client and developing new features, and would really

like to talk about them in this interview.

To address your questions. Firstly the criticism and rumors about BitComet

that circulated through the English-speaking torrent community were largely

unknown to us, at least to the extent they were known in the English

communities. Being that BitComet is a free software product we haven't had

the resources to operate a public relations department to service our

international users, issue press releases and communicate with the media. We

have always operated a forum in China where we post updates and users can

communicate with members of the development team. We have also provided

an English forum staffed by volunteers who have done a very good job at

assisting BitComet users. We also now have a full time English-speaking

representative on staff here in China to help with communications between

our English users and our support staff volunteers in the forum.

Some of the issues we are aware of are very old, yet still seem to be

circulated as rumors, forum posts and such. The first one we are aware of was

with version 0.60 and involved DHT (distributed hash table). This was a

brand new technology at the time and BitComet was one of the first

BitTorrent clients to incorporate it, and like all new developments, bugs are

to be expected. Using DHT, BitComet could find peers to trade with and even

operate independently of the tracker in a case where the tracker was offline or

unresponsive. In that version some users discovered a way to force BitComet

to enable DHT even on torrents tracked by private trackers. This could enable

users to avoid ratio tracking on those trackers.

Within two weeks of the discovery of this bug we withdrew version 0.60

and replaced it with the previous release 0.59. Then a few weeks later we

released version 0.61 that didn't have the bug. To this day we still get reports

of private trackers that don't allow users to use our client and when asked

why, they usually say that they heard it (BitComet) doesn't respect the"private flag"

on torrents, even though we have released over sixty stable

versions since this bug and none of them have any such problems.

We have also heard various unfounded rumors about non-existent issues

like "hammering the tracker", meaning they claim that BitComet asks for

updated list of peers more often than the tracker requests it. This and other

claims we have heard are untrue and none of the them have ever included any

kind of evidence. BitComet contacts the tracker at intervals set by the tracker

and cannot contact the tracker more often on its own. I will add that any

BitTorrent client can manually update the tracker, and it is possible for the

user to repeatedly update the tracker, creating the behavior this complaint

describes. There are also 3rd party applications available, often called

“accelerators” or “patches” that increase the frequency of tracker updates.

Most of these also contain some type of malware and we strongly discourage

their use. Many even steal the logos of the client they are targeting so that

they look like official products, but these are hacks and can be very risky to

use. They are marketed for all the major BitTorrent clients, not just BitComet,

but if a tracker administrator witnessed a peer repeatedly updating the tracker

too often, then they really should test the version of that client and if the

official client version doesn't show this behavior, then it's the user that

installed some type of hack, and in turn it is that user who should be banned,

not the client he was using.

One issue that is worthy of mention is the claim of BitTornado's developer

(The Shadow), who seems to have rushed to the conclusion that our client

was designed to abuse his technology that he called "superseeding". Mr

Hoffman (The Shadow) claimed that our client repeatedly disconnected and

reconnected to other peers in order to obtain an optimistic unchoke (a

BitTorrent protocol feature designed to help peers get started in the swarm).

This has been proven to be untrue in independent testing, and even if there

was a problem with the way BitComet interacted in a superseed environment,

BitComet existed first, so it would have been Mr. Hoffman's fault for not

considering the way existing clients in the swarm behaved before he

introduced his new developments, and to simply throw them out there then

blame the competition for bugs in his own design (which in fact don't even

exist), was unprofessional and uncalled for. There have also been some

criticism regarding stability issues. This was primarily related to a complete

core re-write that [began with version .71. In hindsight, we can say it was

premature to release that version, but before we fully explain I think we

should address your question about new features and our "vision" for the

future of BitComet, as these are all related.

One thing we wanted to do was make BitComet into more than just a

BitTorrent client. We wanted our users to be able to use one program to do all

their downloading, no matter what the source of the files was, or the protocol

used to get them. This in itself is really nothing new because there have been

many multi-protocol download clients over the years, but our vision was

much more ambitious than just designing a client that can download torrents

as well as files hosted on other networks; we wanted to combine the

protocols and give BitComet the ability to download files from any

combination of sources, concurrently. Doing this is actually much more

complicated than it sounds. Designing software that can download a torrent

and get some (or all) of the contents from other BitTorrent swarms or

nonBitTorrent sources introduced many complications, and we realized that the

only way to address this was to do a complete core re-write. We did do some

beta-testing up to and during the run of stable version .70, but soon felt the

only way to get the necessary feedback data to improve the product was to

issue a stable release. As it turns out version .71 was less than stable for most

users, but with the team working at a dizzying pace, we were able to achieve

a stable product within several versions, and then we began the task of

introducing the new abilities and features.

One of our first additions was to add an HTTP/FTP download manager.

This feature is completely free and an integrated part of the BitComet client,

and also will optionally integrate with popular web browsers, so users have

the option to let BitComet handle all their web downloads. This gives you the

ability to pause your downloads (if the server allows), and the ability to open

up to 20 concurrent connections per file to help you download the files faster.

This feature quickly became very popular with our users. We then began

working on adding eMule support via an optional plugin, so users could

download files from the former eDonkey2000 (ed2k) network that is still a

very popular network for file sharing.

As the next logical step, we began working on or own proprietary file

sharing protocol which we call LT-Seeding (long term seeding). When this

option is enabled, BitComet clients can search for peers on the LT-Seeding

network and in many cases, greatly speed up the downloads of their files.

LTSeeding has become a very popular download tool for BitComet users, many

of whom report a huge increase in download speed when the option is

enabled.

How LT-Seeding works is simple. During the download process BitComet

can connect to LT-Seed peers for both download and upload. After a

BitTorrent task is complete, and has met its seeding goal via BitTorrent, the

task is then stopped and remains available for LT-Seeding. At this point

BitComet will offer the files to other peers who have LT-Seeding enabled.

This however is done only when there is sufficient upload bandwidth

available, uploading to BitTorrent and ed2k peers is given priority. Naturally

a BitComet peer could complete an unseeded or poorly seeded torrent from

LT-seed connections, as well as any of the other protocols supported, so this

can benefit the overall health of the entire community.

LT-Seeding resources are distributed to those who contribute the most,

much like BitTorrent protocol does. We use an optional system we call

"Comet ID" (formerly BitComet Passport), that logs a user's time online and

amount uploaded and increases him in rank, so higher ranks are given access

to more resources. Use of this feature isn't required to use LT-Seeding. All

users are given access to the base amount of resources, but those who use and

contribute more, are entitled to more LT-Seed connections, and can often

download faster.

Now came the most difficult part, getting all these protocols to work

together. We knew that giving BitComet the ability to download from

multiple locations and protocols would be useless if we didn't give it the

ability to find the locations of these files. BitComet now has the ability to

search for mirror locations of the data you're downloading and effortlessly

connect to any combination of sources regardless of the protocol used to do

the downloading. This can mean that a user connected to a poorly seeded or

unseeded torrent could complete the download by connecting to peers of

adifferent torrent with some or all the the same content, and during the process

of implementing these features we have introduced the ability to locate the

files from other sources, like HTTP/FTP servers, eD2k networks, and our

LTSeeding enabled clients. Some of these efforts have been more successful

than others, but overall this project has been very successful and offers

benefits to not only the BitComet user, but to the entire community. This

would all be done automatically and unless the user was monitoring its

functions, all they would know is that they downloaded the files effortlessly,

where no other peers using traditional BitTorrent clients were able.

Although our original goal was simply to make the downloading more

efficient, I'm sure you'll agree this is a very pleasant bonus if our client is able

to save dead or dying torrents, and in turn contribute to the entire file sharing

community.

We have recently introduced an optional service called VIP downloading.

When enabled, the VIP servers operate like normal peers in a swarm, they

obtain data from other peers, and store the data on their memory temporarily,

waiting to be transferred to the user. Because these servers operate on a very

high bandwidth connection, they can upload and download far faster than any

user on a residential Internet connection, therefore obtain the files in a

fraction of the time and send them to the user much faster than they would be

able to get them using traditional BitTorrent systems. Due to legal concerns,

all the pieces of data obtained on behalf of the user are deleted as soon as the

cycle of downloading and uploading is completed, and they are successfully

transferred to the VIP users, then the next group of pieces will be obtained

and transferred like the previous ones. This could greatly accelerate a user's

download speed if they are suffering from a below-average download speed,

and will be most effective for users that have a very restrictive upload speed.

This service also serves the entire BitTorrent swarm because it's the speed at

which it is able to upload that enables it to obtain the files much faster than

the user normally could.

There is also a new plan under development currently, which is called

Anonymous Download. When users are Anonymous downloading, they will

only request pieces from our server, not from other peers in the swarm,

hence their IPs will be protected by us, so they will not leave any trace of

what they have downloaded. However, this plan is still in progress, it may

take another couple of months to formally appear in the BT community.

Another new feature introduced in BitComet is designed to demonstrate

the accuracy and transparency of the way BitComet operates in a private

tracker environment. The latest version of BitComet (1.25) has introduced a

new feature, namely "show log of trackers from tracker list ". This feature is

especially helpful when downloading private torrents. In the tracker log,

users are able to see what information was sent to the private tracker, such as

upload and download rate, hash code of the task, peer information, and other

information from the local client; the comparison between actual upload and

download rates and the rates displayed in the tracker log will provide

credibility for BitComet, that all the data BitComet sends to tracker is both

accurate and protocol compliant.

We also added a few features to reduce the need of index sites and also aid

users in determining the validity of the content they download. These features

are "Torrent Exchange" to trade magnet links with other BitComet clients, a

"comments" section for users to share opinions anonymously, and a

"snapshot" indexing service to give users a hint of what they're about to

download.

So this should give you a general overview of the improvements and

enhancements we've introduced that required us to do the original core

rewrite of version .71. For the most part, all of these features are fully

functional and stable, but there were obvious growing pains that cost us some

of our userbase, but we're hoping many of these users will return and see

what it is we have been working so hard to develop, as well as gaining many

new users.

You had asked what started this all, and where it began. In the beginning I

was using another BitTorrent client developed on Python, and after running a

torrent all night long I noticed my harddrive was running like crazy, grinding

away as the torrent progressed and I wondered why the developers didn't usea

disc cache to prevent the constant need for repeated read/writes. This client

also didn't have the ability to download more than one torrent at a time, so

being a C++ programmer, I began development on a new client that was

initially called "SimpleBT", which was originally designed to simply run

torrents and introduced a disc cache as well as the ability to download

multiple torrents. This project eventually grew to be much more than a simple

BitTorrent client so we eventually changed the name to BitComet. The

current BitComet development team consists of approximately 20 people.

In terms of our users, there are an average of 2.5 million people using

BitComet everyday. Our users come from all over the world, the top 10

countries with highest user percentage are,

Chinese mainland(9.27%), Japan (8.5%), Taiwan (7.03%), Thailand (6.07%), Poland (6.03%), Bulgaria

(5.79%), Spain(4.78%), United States (4.64%), United Kingdom (4.17%), and Hong Kong (4.17%).

Regarding our competition, we believe competition helps improve

BitTorrent download software. We respect the developers of all other

competing clients and although we would be well justified to return the

public slander we've read in some of their forums, we prefer to let the users

develop their own opinions and refuse to get "in the gutter" and throw insults

about.

As for what we are most proud of, I'd say the ongoing task of integrating

the new technologies into BitComet. It was a long, hard, and ongoing task to

get these new features to all work together and develop a stable product.

That pretty much sums up everything we are going to talk about here,

thank you for your time and we extend everyone at TorrentFreak, and your

readers our warmest greeting.

*Initial English draft of this document written by The UnUsual Suspect, compiled from notes provided by RnySmile and the

BitComet development team, translated into English by Lucy26. Revisions and corrections were compiled by the joint

efforts of Kluelos, Cassie, GreyWizard and Vasy

  • Like 1

Share this post


Link to post
Share on other sites

×
×
  • Create New...