Can we talk about the P2P Web?

75 views
Skip to first unread message

Lachlan Phillips

unread,
Sep 25, 2014, 9:27:16 AM9/25/14
to clearsk...@googlegroups.com
Hey guys, 

I have been on the lookout for a way to create "Updatable Torrents". The reason is simple: An Updateable Torrent is a P2P Web.

Someone mentioned ClearSkies to me, and it looks amazing! Great work.
I'm wondering if we could discuss the likelihood that this technology could be forked to achieve this P2P web.

Let's imagine for a second that you visit a website and it caches, not just to your local drive, but to a torrent (or clearskies).
Then imagine someone else seeks out that website, but it's down. Suddenly they're redirected to the P2P version. (via their trust networks)

Interestingly enough the original version becomes less important. Updates could be done through an author signature validation so you know the content is "signed" and authentic. The servers become the secondary source.

From here you have a censorship proof, all time, all version inclusive addressable P2P web.
I'd love to hear your thoughts on whether ClearSkies technology could be modified to achieve such an outcome. 

Here is my original email to the makers of Torque. I didn't get a reply, but now with the US, NZ and Australia all moving quickly toward a Big Brother, Censorship model it's more important than it's been. 

Cheers guys
Lachlan

====

First I just wanted to say, Torque is amazing. You're one guy who
honestly gets it - you have a design aesthetic and understand that
simplicity is they key to making a technology ubiquitous.
Just a little background, I've been looking for a platform to create
an open source project for a long while and I think your work is very
aligned. If you're not already thinking along the following lines I
would be very surprised.

The seed of this idea is a "Torrent Cache" - a p2p cache for the
internet that makes content and ideas STRONGER with popularity rather
than weaker. A system that makes content immune to DDOS and
censorship. The idea I guess is not a new one, but the implementation
must be correct and dead simple for it to work.

The problems with the WWW are three fold:

No Addressing Redundancy: DNS is absolute and centralised rather than
decentralised and P2P.
No Connection Redundancy: Physical infrastructure can be shut down
through centralised attacks. (This is Mesh net territory)
No Data Redundancy: Central sources of data can be shut down
preventing the spread of that data.

The first two are perhaps a separate issue (though interesting
problems, and part of the greater solution), but your projects have
the potential to solve the "No Data Redundancy" issue once and for
all.

How I see a TorrentCache system working through torque (and stop me if
you're already there) is:

1) User A visits a website and the site is cached locally
2) User A is now a seed for the site.
3) User B visits the same website. If the site is up, they also become
a seed. If the site is down, they leech the site from other seeds.

Pretty simple. It really just automatically creates a torrent of the
site upon visit, and serves the torrent up which is then accessed via
the browser.
This system would serve also as a memoryhole. You could effectively
pull up websites from any date in the past.

A couple of points here:
1) Addressing Redundancy might need to be solved to properly address
this. I have ideas on this as I'm sure you do.
2) "Versioning" pages is an interesting problem with an interesting
solution - Atomising. You treat dynamic pages as clusters of "atomic"
information and serve them up accordingly. Again, there are issues to
be resolved in this area to implement it 'perfectly', but I have a few
ideas on this and have worked extensively on this problem. You get a
lot for free in this way as well.
3) Privacy/encryption remains an issue, but I think this is related to
the Addressing problem. I'm certain there's a solution there that
allows the range of chosen ways of interacting with the web.
4) You get some amazing things for free once you start to think in
these terms - things a server > client model can't offer. A p2p web
offers much more than a web impervious to attacks. I'd love to discuss
them with you at some time with a mind to developing in a way that
keeps these options open.

In short what we're really talking about is, migrating the existing
WWW to a p2p cloud model... Not trying to supersede it, undermine it
or reinvent it, but just allow it to simultaneously exist as a "Server
> Client" AND a "Client > Client" model with the full knowledge that
the benefits of the latter will gradually outweight the benefits of
the former (especially when you're leveraging the strengths of the
former to prop up the latter)

I look forward to hearing from you

Steven Jewel

unread,
Sep 25, 2014, 11:54:20 AM9/25/14
to clearsk...@googlegroups.com
On 09/25/2014 07:27 AM, Lachlan Phillips wrote:
> I have been on the lookout for a way to create "Updatable Torrents". The
> reason is simple: An Updateable Torrent is a P2P Web.
>
> Someone mentioned ClearSkies to me, and it looks amazing! Great work.
> I'm wondering if we could discuss the likelihood that this technology
> could be forked to achieve this P2P web.
>
> Let's imagine for a second that you visit a website and it caches, not
> just to your local drive, but to a torrent (or clearskies).
> Then imagine someone else seeks out that website, but it's down.
> Suddenly they're redirected to the P2P version. (via their trust networks)

This is also something I have interest in. In my case, it was during a
wikipedia fundraiser that I was wondering if there could be some way for
people to donate bandwidth instead of money. Any solution that worked
for wikipedia would work for similar static-content sites.

The way I've envisioned this working would be that a hash of the
publisher's public key would replace the hostname in the URL. Something
like:

p2ptp://970d880e67f1bf7e92f7fcfd674eb95d/static-page.html

Now, only the "publisher" can update the content, but any peer can
mirror it.

>
> Interestingly enough the original version becomes less important.
> Updates could be done through an author signature validation so you know
> the content is "signed" and authentic. The servers become the secondary
> source.
>
> From here you have a censorship proof, all time, all version inclusive
> addressable P2P web.
> I'd love to hear your thoughts on whether ClearSkies technology could be
> modified to achieve such an outcome.

Clearskies is designed around friend-to-friend interactions and so I
don't believe that it is a good fit, although there might be some pieces
that could be borrowed from it. The main problem is that clearskies is
designed to form long-term bonds between peers, and isn't designed to
scale to very many nodes in a single peer group. It also doesn't
attempt to provide any sort of censorship proofing.

I think the biggest problem with a "peer cache" is the updatability
part. Unless the peers are actively trying to refresh their cached
content, a new peer would usually get stale data. You'd have to bake
into the peer discovery mechanism a version number so that you'd favor
the peers with the latest set of data.


Have you looked at fproxy from the freenet project? It is very close to
what you want to build, is documented, and is in real use today. It
might make a reasonable starting point or base to build upon.

Also, in case you haven't seen them, there is syncnet [1] and vole [2],
which are built on top of bittorrent sync.

Modern browsers already have a fair amount of useful p2p code built-in,
due to WebRTC. It isn't quite capable of what you want to do, since it
requires cooperation from a central server to set up the peer
connections, but a solution that reused those abilities would probably
have the best chance of being adopted by browser vendors.

Best of luck with your endeavor. Do you have a blog or website where
you are gathering the results of your research? It might also be a good
place to write your vision of what you want to have built to help gather
like-minded individuals.

Steven

[1]: http://jack.minardi.org/software/syncnet-a-decentralized-web-browser/

[2]: http://vole.cc
Reply all
Reply to author
Forward
0 new messages