On Monday 04 August 2003 06:16 pm, Nick Tarleton wrote:
> On Sunday 03 August 2003 05:49 pm, Gabriel K wrote:
> > Well, I think a protocol should guarantee to find the data, much like
> > ACHORD.
>
> AFAIK, THIS IS NOT POSSIBLE without sending a request through the entire
> network and placing ridiculous total load on it.
>
> > So it seems to me that the original FreeNet lacks features that they are
> > trying to put there now...?
> > Such as shorter proxy paths, and optional upload of data? :)
>
> There is something called 'path shortening' that may be what you want - I'm
> not sure. Optional upload is already there: just insert with HTL 0, and
> it'll stay on your node until someone requests it. Of course, there will be
> some trouble _finding_ it.
> I do have an idea for a better optional-upload system that, combined with
> NGRouting, would work well. It's really a specialization of Frost's system.
> The uploader inserts a small announcement for the file, containing basic
> information and its CHK, at a high HTL. The requesting client gets that,
> and then tries to retrieve the file a couple times. If that fails, it then
> inserts a small KSK (with a name containing the CHK of the file). The
> uploader is constantly requesting this KSK. When it's recieved, the file is
> inserted.
> NGRouting's high-probability-of-finding would be required for it to work
> well, obviously.

I have a better idea for upload on demand. Gabriel, this may be what you are 
looking for so listen up.

When you insert new data, insert the manifest first. This should have a bit on 
it that identifies it as such. When a node stores this data, it creates a 
list of the last few people to have requested it. Then when someone requests 
it, they get a proxy (ala the anonymity filter), and have it make the 
request. The proxy will add it's IP and public key to the request. Then when 
the node that has the manifest, gets the request, it returns it as usual. 
However _IF_ there is a IP/public key attached, it adds the proxy's IP/public 
key to the list. Then it gets a proxy (ala the anonymity filter) and has the 
proxy send the list to the requester's proxy, encrypted with a session key 
that was attached to the end of the manifest file when it was returned. 

Then the node can download form all the people on the list, and they can 
download form it. Of course both the requesters would be using the anonymity 
filter, so there would always be proxies in between. All parties are kept 
anonymous and it would help requests going across the network too. If a 
request for any of the chunks of the file happened to go through the node 
that stored the manifest, or any of the proxy nodes (the ones that know the 
data, but not the transmiter), it would immediately be forwarded to someone 
with the data.

A node would not have to upload the entire file initially, because after they 
insert the manifest, they can request their own file, so they'll be the only 
one on the list for a time. Although it would be preferable if it was 
inserted normally, so the nodes could have something to fall back on. Of 
course the same effect would occur when the nodes inserted healing blocks.

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

Reply via email to