(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

Reply via email to