On Thursday 08 May 2008 01:41, Matthew Toseland wrote:
> https://bugs.freenetproject.org/view.php?id=2345
> 
> ---
> A typical domestic internet connection has at most 1Mbps uplink. In some 
> megacities 100Mbps or even 1Gbps is available (symmetric), however it is 
> unlikely that the bandwidth available in most homes will exceed a few 
> megabits in the near future.
> 
> We could implement darknet sneakernet connections by exchanging USB sticks. 
> E.g. if you meet somebody every day (e.g. a coworker), you could exchange 
> (cheap) 8G sticks, plug them in overnight, and then do the same again the 
> next day. This would produce approx 100K/sec (1Mbps) each way for each 
person 
> you did it with.
> 
> The performance here imho isn't world-shattering, but nonetheless it's 
> interesting. And it would build the darknet, some of it completely off-grid, 
> work in many places where nothing else does safely, and get us some great 
> headlines.
> ---
> 
> IMHO this is something we should seriously consider, if not this year, then 
at 
> least next year during the 0.8 cycle. The main technical prerequisite is 
> token passing load management, unless we implement a completely different 
> load management system for it. True passive requests would help in that 
> they'd make publish/subscribe work much better on this. Even if it's not 
> perfect, it'd be a very interesting way to get people in, and far from being 
> a publicity stunt, it would be of immense long-term value.
> 

Ian is of the view that this should be a separate application based on similar 
principles to Freenet. I'm not. We agree that there are some significant 
issues to deal with. I am of the view that these networks are mutually 
complementary and therefore should talk to each other: Darknet over UDP isn't 
safe in hostile environments, and off-grid darknets a) work much better if 
parts of them are online (certainly we could expect some covert wireless 
links in places, but being able to link to a functional on-grid darknet would 
surely be a benefit; long links are going to be rare on a pure off-grid 
darknet), and b) would be much easier to bootstrap from a working on-grid 
darknet.

W.r.t. code (and to some degree protocol), IMHO most of Freenet's code would 
be useful to a darknet sneakernet implementation:
- The entire client layer could be reused. The queue is by definition a long 
term structure, Fproxy offers to download stuff in the background and tells 
you when it's done etc. FCP could be reused, although on a 
pure-off-grid-darknet node, clearly they would have to use it in a different 
way to what they do now.
- Full passive requests would be virtually identical for the two 
implementations. ULPRs could be adapted without too much difficulty. This 
makes FMS etc somewhat feasible, if slow, and anything that can be seen as 
publish/subscribe (e.g. getting new editions of freesites) possible. Full 
passive requests are a long term goal as they would have some interesting 
advantages, but even ULPRs, with sufficient tweaking, may be sufficient to 
make this usable.
- The link layer would obviously be worthless, except in the IMHO interesting 
case where you have both a darknet connection *and* exchange of flash cards 
going on with a peer. Thus low latency requests such as Frost traffic can go 
over the link, and when you queue a big splitfile, it would fetch the top 
blocks of the pyramid over the link, and then queue the rest to come back 
over the following day's card exchange.
- Request priorities would be necessary.
- We probably couldn't reuse the current load limiting/management code. We 
would in all likelihood need token passing. This is something we will need 
long term anyway, of course.
- Swapping: This is probably the hardest part. Our current strategy involves a 
commit/reveal protocol (4 round trips). This clearly won't work well on a 
pure off-grid darknet. Doing a large part of the work offline will be 
necessary, and to do that a lot of topology may need to be exposed... which 
is bad because it makes life easier for a well-resourced attacker. Also, the 
off-grid network may have to be partially separate in routing terms through 
some sort of tiered routing (look at the network labelling code for something 
related).
- User interface to transport: We want users to be able to just plug in a 
bunch of USB sticks to a mini-hub, and have Freenet auto-detect that they are 
formatted for it, download from them, and then upload to them, all ready for 
the next day for them to be swapped back. I don't know what native support 
this would require.

Based on the above, IMHO this *might* be feasible, it becomes a lot more 
interesting after some of the features we have planned for 0.7.1/0.8 have 
been implemented, but even then there are some major problems to solve, such 
as swapping.

Attachment: pgpSGwd7L2Wtq.pgp
Description: PGP signature

_______________________________________________
Devl mailing list
Devl@freenetproject.org
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to