The evolution of Direct Connect
May 22, 2007 Leave a comment
Direct Connect is quite old. The community have lasted for little over six years, and I doubt DC will die in the next few years. During this time, we have seen various things pop up. Like hashing of files, segmented downloads and ADC. And that’s just to name a few things.
As DC will continue to age, I think we need to start to think about the next evolutionary step. We’ve gone past going from identifying files based on file name and size to using a hash based on file content. Then it was going from single source downloads to multiple sources. Then it was going from the NMDC protocol to the ADC protocol. And so on and so on. What we need now, is the new implementation or idea on how to improve Direct Connect. By saying this, I mean not that creating the next step is or need to be easy, but to force people to try to think about the future.
During the past years, I think there have been a growing dependency on Jacek (on the client and ADC side) and PPK, Yoshi and Nev on the hub side, to create the “next thing”. Other people have of course contributed to the development, but the people I mention are those who have the largest market share and thus the best ability to change things. I believe this should stop. We should stop depending on these people, and try to enforce standards in a different way; By forcing people (those above, as well) to use a particular feature or scheme simply because it’d be too difficult to resist.
Mind you, this post is only intended as a preface for a series of posts, so if you want to comment, comment in the post that is related.
- * Direct Connect is centralized, that is, one connect to one hub at a time etc. Can we make it decentralized?
- * An unfortunate, but growing occurance on the net is DDoS:ing. This has also spread to DC, where hubs and clients are being used to attack other computers. Can we stop this?
- * The Tiger Tree algorithm is now deeply nested within DC, which in itself is a good thing compared to before when we were without it. On the other hand, should we rely on the algorithm or should we seek others ways to identify files?
- * Using TLS is a great step toward security. How can we take advantage of TLS, and use it for DC’s evolution?
- * ADC is meant as a replacement protocol for NMDC. Can we use ADC to spin the evolution even further?
- * UPnP has been used by DC++ (and possibly other clients?) to detect a user’s external IP if he or she is behind a router. Can we use something similar, if UPnP fail?
Are there other things we can do to improve Direct Connect?