(I accidentally blocked Michael from the list and Zooko is working to resolve it; sorry sorry! Replying to Michael in the meantime.)
With things like libtorrent and UDT I don't know that I agree it's impossible (or impractical) for a single person go build a really compelling P2P system. I'd suggest: 1) Build a Firefox/Chrome extension that inserts a "Download" button into IMDB. Definitely a 1 person job, probably a few days to a week of work. 2) Build a "headless" (no-UI) torrent client that is initiated by (1) -- perhaps using a fake MIME handler. To start, search the top tracker sites for keywords and pick whichever has the largest number of seeds (for example), download the torrent file using curl, then download the torrent itself using libTorrent. Probably 2-3 weeks of work for an individual. 3) Release by creating a torrent containing a binary installation that seeds a copy of itself on the major torrent networks. As your installed base grows, the seeder count will go up, ensuring you eventually dominate the top of all trackers. This solves the "bootstrap problem" of delivering software without a centralized bottleneck. I'm not entirely sure how you'd pull it off, but I bet its doable and pretty awesome. 4) Build an auto-upgrade facility that occasionally searches for a new version of itself, downloads it, verifies some huge signature, upgrades, and seeds the upgrade. This solves the upgrade problem. Maybe also post a copy of the source and binary up on GitHub *and* SourceForge, ensuring (for a time) that people can directly download it from the web. Or maybe just get a real web host paid by bitcoin: https://en.bitcoin.it/wiki/Trade#Web_Hosting Just get that much working without worrying about anything else. You only need to write the "glue" code -- everything else is there, ready to be glued together. Once you get that all done and delivered, then start to add the anonymization layers: 5) Figure out how to insert arbitrary packets into libtorrent's existing peer connections. Basically, advertise via libtorrent to peers that you are are a special anonymizing peer, which means you are willing to response to an enhnaced Torrent protocol that includes anonymizing functions. 6) One of those functions might be a "tit for tat" routing service. Basically: "I'll send one of your packets to whoever you want, if you send one of my packets to whoever I want." This could be used on top of the standard torrent protocol: you and I could each help anonymize the other download from a totally standard torrent. 7) And of course as you gain distribution then you can just develop your own p2p protocol entirely. But that's not really needed for a very long time. It's not trivial. But it's not impossible. And whoever does it will be a legend! -david > ---------- Forwarded message ---------- > From: Michael Piatek <[email protected]> > To: theory and practice of decentralized computer networks > <[email protected]> > Date: Mon, 21 Nov 2011 19:34:56 -0800 > Subject: Re: [p2p-hackers] OneSwarm status? > Hi David, > > OneSwarm is open source, and we encourage contributions :-). > > As a practical matter, writing production-quality P2P software is > really too much work for one individual, particularly if usability is > a concern. At the very least, I'm not aware of any widely used P2P > system that was wholly created and maintained by a single person. > > Why aren't larger groups working in this area? In my view, it's > because there's no business model. It's easier to build a robust cloud > service than a robust P2P system, and the bandwidth costs of > commercial CDNs are continuing to plummet. You'd be nuts to build, > say, a new content sharing service atop a P2P design. That leaves > anonymity and/or censorship resistance as driving applications, but > it's very difficult to scale up funding in that area. Research grants > only last a few years and fund a few students at most, and even very > successful projects like Tor have difficulty supporting more than a > few developers and are chronically under-provisioned. > > I sincerely hope this situation will change, but I haven't yet seen > much of a push towards a sustainable model for P2P development. Ideas? > > -Michael > > On Mon, Nov 21, 2011 at 6:52 PM, David Barrett <[email protected]> wrote: > >> Anonymization is one part of that. But it's only one part of it. I >> think there's just so much awesome stuff waiting to be built -- so >> many data sources and open source libraries ready to be tied together >> -- I'm wondering what the holdup is? Anybody on this list could build >> the above future. Literally, it only takes one highly motivated >> person to raise the bar and change the world forever. > _______________________________________________ p2p-hackers mailing list [email protected] http://lists.zooko.com/mailman/listinfo/p2p-hackers
