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