On Tuesday 05 August 2003 03:14 am, Gabriel K wrote:
> This is way to abstract for me.. especially since english is not my
> maternal language.
> It would be so much easier if you had some illustrations to go with it, and
> NAME things A, B, C...

Ug, I don't think that will make it any more clear, but ok.

> One thing though.. it seems like an approach that is "statefull". I don't
> like statefull :)
> Btw, isn't freeNet statefull when you make a request?

What do you mean by statefull?

OK, here goes.
First when I say 'Get a Proxy', that means do the following:
Contact any other node you are already connected to, and send them a message 
to forward to some other random node you have previously herd of. That 
message is encrypted with the secound nodes public key, so the intermediate 
node can't read it. That message reads "Here is a request. Please process it, 
and return it to me. Encrypt it with this key ... That way my proxy node 
cannot read the message." (proxys can be of a user specified length from 0-4 
nodes)

Nodes transfering data will be called A,B,C,etc.
Proxying node pairs will be called #1,#2,#3,etc.

Node A wants a large pice of data with key XXX.
(optional)Node A gets a proxy called #0.
Node A / Proxy #0 requests the key XXX form the network. (This assumes a 
Freenet/CHORD style network.)
Node A attaches an encription key on the request.
The request is frowarded up through the network and gets to Node B who has the 
key XXX.
The data stored at XXX is actualy a list of all the keys for the chunks of 
data that make up the file XXX.
Node B gets a proxy (#1).
Node B atatches a refrence to #1 to XXX and returns it through the request 
path.
Node A recieves the XXX list, and the key.
Node A gets a proxy (#2)
Node A has proxy #2 connect to proxy #1 and request the list of the last few 
nodes to request XXX form Node B.
Node B sends the list encrypted with the key Node A sent.
Node B adds proxy #2 to the list.
There are 4 data chunks in XXX.
Node A gets three (size of the list) more proxys (#3,#4,#5).
Node A contacts three other nodes through their proxys (#6,#7,#8 which 
corispond with nodes C,D,E).
Node A downloads one chunk from each of C,D, and E.
Node A downloads one chunk from the network.
When Node A has enough data to reconstruct XXX, it uploads any chunks it 
couldnot find or couldnot find on the network back onto the network. (plus a 
couple extra probably.)

Optionaly when making the request Node A, could give a refrence to proxy #1 
and node B return an encription key. This might be more secure because, 
intermedaite nodes would be less lickly to know about a node that was 
downstream. However it means you have to open a new connection for the proxy, 
even if the request fails. 

There you go. Hope that makes it more clear.

_______________________________________________
Tech mailing list
[EMAIL PROTECTED]
http://hawk.freenetproject.org:8080/cgi-bin/mailman/listinfo/tech

Reply via email to