Considering this is a forum all about programming, I thought it appropriate for this post.
For years now, I have seen peer-to-peer networks come and go. Each of them has their good qualities, but in each lies a tragic flaw (individually unique). There recently has also been some problems with the RIAA and MPAA coming in and busting up people for downloading (mainly the RIAA). While I could preach for hours about this issue, I am going to state clearly the topic of this post: I am interested in making a new peer-to-peer network (and, obviously, client).
Although it seems like just another failing attempt, I hope to include (enhanced) the great successes from each of the clients today, along with some new ideas, into a "mean-lean-downloading-machine."
This new network utilizes hash-verified downloading; no fake files. I am to the point of thinking of taking out the "search feature," and instead, all searching will take place on a website, and then the website will send the hash to the client to begin the download. Similar to the "ed2k://" link you can find on
www.sharereactor.com that utilizes eMule. Hash-verified downloading also accomplishes another task; extremely fast downloading speeds. If there is one copy of a a file floating around, when someone requests it, each person who has it will add their bandwidth to the total (multiple thread downloading) to create blazing speeds.
At this point, it is beginning to remind me of eMule. However, the queuing problem that eMule has will not be present in this application. Instead of limiting uploading by concurrent connections, uploading will be limited by your upload speed. This will be determined by a speed test which will be executed upon installation.
Also, the entire network is, of course, decentralized. This seems to contradict a previous statement I made about "...all searching will take place on a website...," but there are ways around this. I have a basic idea on how the decentralization will occur, but it is still just an idea.
*The reason for this post: Does anyone want to help out?*
This is obviously not a one-person job, so post your comments.