Unhosted and Freenet Project

14 views
Skip to first unread message

Alex Rollin

unread,
Jan 14, 2011, 6:43:37 AM1/14/11
to de...@freenetproject.org, unho...@googlegroups.com
Hello,

I have been looking through the site and wiki for Unhosted:
http://www.unhosted.org/
https://github.com/michiel-unhosted/unhosted

and comparing the desired decentralization goals with that of Freenet:
http://freenetproject.org/

I wonder if these two projects are not links in the same chain for
higher availability complex behavior in anonymous browsing and
small-world networks?

The goal of unhosted, as I read it (apologies for my limited
interpretation) is to create scalable apps with low intensity on the
server side and forcing data processing back to the client by adding a
number of new types of interactions.

The goal of Freenet is "no one knows your reading".

I wonder if the creation of complex applications in the unhosted realm
could be part of what is missing within Freenet? Could Freent benefit
from integrating "hook" support for data objects that can be executed
using an app/module from the unhosted network?

As an example, Freenet might then serve as an easy interface for a
user to format data to be access with the help of these scalable
applications, which, over time, could become more and more trusted?
About the trust part, I mean that I imagine that there are several
goals here, and that while these applications and this infrastructure
may not now currently support the goal of "no one knows your reading"
perhaps this could serve as a banner under which to draw the two
services together over time so they work better, each on their own,
and in tandem, so that people can browse information freely?

The Unhosted project doesn't seem concerned with the storage of data.
It is concerned with the storage of applications for widespread use.
Freenet, however, is concerned with data.

One issue for Unhosted is that users will need to properly format data
for processing by apps/module within the Unhosted network.

There seems to be a change happening in the Freenet network towards
the formatting of data. This could be said to be one outcome of the
addition of chat into the network, and especially with regards to the
utility of an app like Frost that is heavy with resource keys posted
to bulleting boards supported within the application.

Is this not a sort of "formatting of data" in the sense of making
resource keys available to people so that they can use the tools to
access the resources? Perhaps I am pushing it a bit far, but, it
seems to me that before Unhosted goes so far as to create some other
app/desktop based formatter or data collection/formatting utility that
Freenode might be a place to look for this.

--
Alex
werk: http://commoning.net
me: http://alexrollin.com
mob: +31 (0) 6 31 56 96 88
“It’s no longer possible for a country to collapse in isolation. Now
we all collapse.  The only path to stability is to equalize the
consumption rates of the first and developing world. Our dream is no
longer possible in the new world.” - Jared Diamond

Michiel de Jong

unread,
Jan 14, 2011, 7:30:23 AM1/14/11
to unho...@googlegroups.com
Thanks for bringing this up! I'll reply separately on each list, then this thread, on the unhosted list can become 'what freenet can do for unhosted', and the other way around on the freenet one.

A historical sequence of decisions that were made in unhosted:
When I started thinking about unhosted, about 8 months ago, I first thought it should become a cross between a bittorrent client and a browser. 

later i though it should be a proxy server, running either as a gateway on the normal web, or a service on localhost, or a browser plugin. that way, people could use their existing browser. 

this was the period in which i studied freenet as well as other projects like gnunet, tor and i2p. i thought anonimity was 'nice to have', but not essential for my goal, which was breaking web2.0's monopolies. I am still of this opinion (but see further remarks about this below). i also noted the price of anonimity, which is slowness (see for instance http://www.reddit.com/r/technology/comments/ehep2/why_do_wikileaks_supporters_propose_designing/). although i really liked the technology behind things like gnunet, tor and freenet, i decided to do one thing as well as i can, and try not to complicate things. since breaking monopolies was my goal, i decided not to pursue the separate goal of anonimity. by the way, you say freenet offers that "no one knows you're reading" - i always interpreted it more as "no one knows you're writing", but let's talk about that on the freenet list instead of here.

then i started working on it (about 2 months ago), and found out that everything i needed could be done in the browser. This change the 'product' from a plugin to a javascript library - so really, a way to design websites. with this, it defined a strict protocol of how the website can find per-user resources, and talk to them. this was what finally ended up as the unhosted proof-of-concept that I published last month.

then, something (for me) unexpected happened, and over 100 people subscribed to this list. suddenly, unhosted is a community project and not just my hobby project. this changed three things:
- i immediately realised that it was in the interest of the project to decentralize it as much as possible. 
- also, people called for making the protocol extensible/modular, which is what we did. so now, unhosted's "product" is no longer a javascript library + a strict protocol. It is now a list of "mechanisms to discover per-user resources", plus a list of "unhosted resource modules".
- because of cablegate, in publishing mechanism that would be anonymous, as well as resistent to both censorship through use of DDoS, and censorship through use of technological monopolies. it is a coincidence that me publishing my proof-of-concept coincided chronologically with this. as i said, i had been thinking about unhosted since may, and working on it since september, and had decided that nor anonimity nor resilience against censorship was a goal for me.

after this long introduction, let's combine these last three factors, i think it is likely that someone will step up, and try to create unhosted web apps to which you can logon anonymously. this would mean you need an unhosted module in which data is not 'homed' on any particular IP (otherwise it would be very easy to identify the owner of the data). You will also need a discovery mechanism so that if you want to publish something, you can log on anonymously to somehow claim your privilege to use certain resources, but without revealing your identity. or maybe that's all different, and do you want to make publishing free and throttle resources to the extent people read. in any case, it seems you will need some sort of per-anonymous-user resource discovery to prevent freeloading, and you will need some sort of unhosted resource module that implements content-centric storage with anonymized authors.

i definitely think that there will be people who want to work on either this module or this discovery mechanism, and also that they will be able to find most of it already done in not only freenet, but also gnunet, i2p, the recently started freedentity, and at least two other projects i heard about recently but can't remember exactly (one called duck-something, and one that runs in the browser instead of stand-alone).

I don't entirely understand the part you say about formatting the data btw, sorry.

but yes, by all means, if people want to develop an anonymity module, then they should learn and reuse from freenet. :)


Cheers!
Michiel
Reply all
Reply to author
Forward
0 new messages