The UnUsual Suspect Posted February 23, 2011 Share Posted February 23, 2011 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 1 Link to comment Share on other sites More sharing options...
Recommended Posts