Howdy all freenet folk,

Sorry about breaking 'one subject per message' but it seems from the list
archives have set precedent for peoples "first post" to contain a great
deal of brain dump "spew personal opinions/ideas about freenet", so I
figured I'd follow suit. 

Before y'all start redirecting to /dev/null, let me say that not only do I
think that Freenet is ingenious, but is ingenious in how simple it
is.  And it couldn't have come at a better time, politically or
technologically (thanks, Ian!).  I've checked out the compiled
distrubution, and it works great, as far as my cursory inspection has so
far shown [at work I've set up a little virtual network of vmware'd linux
boxen all running freenet nodes, and they talk to each other just
fine!].  As soon as I get part of my home computer out from behind my
overly opressive firewall, i'll set up a public node so I can participate
in the "real world test".

<dump src="jakes_brain" content-length="fairly long">

Crypto:  I noticed somewhere Ian mentioning that once he found some open
source crypto classes, we'd all be happier to discuss which ones to use,
and how.  Has anyone mentioned Cryptix (www.cryptix.org) yet? They've got
open source java libraries for crypto... [even some preliminary elliptic
curve classes too, if we subscribed to the ultra-paranoid delusions that
the NSAOL-Time-Micro-glomerate has figured out a way to factor large
integers in poly time, and we wish to avoid them cracking us ;) ] 

Multicasting:  Since the freenet protocol is (basically) connectionless,
and I've seen mention of the possibility of a UDP implementation (with
the added necessary checksums), why not go one step further and set the
nodes up to mulitcast!  Nodes could listen for DataRequest messages on a
freenet multicast address, and be continually checking to see if they have
that Key on file (either as data, or just a key pointing to a unicast IP 
[or even another multicast IP - there's no reason to stick all of freenet
on one multicast IP, Big Brother could try to shut it out...]) and the
first node to find the data fires it over to the requestor (probably via
unicast channels, but only because I haven't thought enough about ways to
do it over multicast without spamming that multicast channel).  This would
also work great for DataInsert messages, i suppose.  

Multilinking:  I forget at this point what the consensus is on avoiding
key collisions, but what I'm getting at (asking about) here is are there
thoughts on how, and in what ways it will be allowed to have multiple
different files with the same key all allowed to survive on the same
server?  [obviously this won't ever happen if we end up with CHKs, but
I'll assume for the moment that we end up with metadata having 
ContentHash="blah" in it instead].  It would be nice to allow 

freenet/manifesto2      ContentHash="A1FF"  ->  file1
freenet/manifesto2      ContentHash="C9B0"  ->  file2

as well as the converse,

freenet/manifesto2      ContentHash="A1FF"  ->  file1
freenet/Info/manifesto2 ContentHash="A1FF"  ->  file1
war3z/hahaha/win2K      ContentHash="A1FF"  ->  file1

Metadata:  I know everybody tosses XML out there the first time their eyes
land on the word 'metadata', but I haven't heard too much of a good
argument against it.  Sure it would add more bloat to the server, but
including libraries for XML parsing can't be that bad - if y'all were so
concerned about bloat, you'd have written the server in assembly, not
Java!  And some of the extra stuff XML does really well fits in with what
I was asking about in multilinking, above - it allows quite nicely for
mulitiple source files and multiple destinations of links.  Plus, it's all
spec'd out, and parsers have been written for every imaginable language.  
[I noticed a few mentions of RDF, right? I am not really familiar with it,
but it seems to be kinda like the sort of thing we need...] And then
there's XML-Digital Signatures too... if we want to make use of a (draft)
standard for message integrity built into the metadata protocol... plus
there's the advantage in addition to getting their respect, that the W3C
would link to us from their homepage if we were XML/RDF/XML-DSIG complaint
;) </xmlrant>

</dump>

Sorry to dump all at once, but it's late at night, and after a long day of
installing linux on a half dozen vm's, playing around with d'nodes, and
even doing a little of the work i get paid to do ;P, i had to dump brain
before it flushed out.  

BTW: I am certainly interested in helping debug this stuff, i've got some
C/C++ experience, but not really any Java, so it'll take me a while to get
up to speed on actually helping with any code work.  But test it I can
do!  In fact... of the above ideas, i think the most easily modularizable
part would be the multicast stuff, I could even start by trying to write a
little multicast proxy, which just listens on a multicast port for
DataRequests, and then forwards that on to it's host node, spoofing the
requesters IP to be that of the actual requester, as opposed to the proxy
IP. Ack... now I'm starting to babble. g'night.

                       -jake mannix
                        IP Multicast/HTTP Cloaking/Linux Client QA Dude
                        Core Technologies, Media Systems, RealNetworks

<disclaimer> My employer disavows all knowledge of stuff </disclaimer>





_______________________________________________
Freenet-dev mailing list
Freenet-dev at lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/freenet-dev

Reply via email to