[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [freehaven-dev] goals for deployable mixnet
On Wed, Feb 28, 2001 at 12:14:43AM -0500, Roger Dingledine wrote:
> Summary: we have some goals below. Our end goal is to turn these into
> a spec which Gerald can build. Can somebody take the first steps
> of dividing these into topics (perhaps new threads) that we need to
> discuss, and pointing us in the right direction for each of them?
I reorganized them into something that should be easier to work with
from a "so what do I build" perspective.
Mantras to keep in your head:
* It doesn't have to be perfect. It just has to work.
* No single point of failure
* Everyone a relay
* clean migration/protocol negotiation paths. But breaking upgrades at
this point is ok too.
* Pluggable client algorithms. Modularize.
Features:
* client picks parameters
# of hops, path choice, etc.
pull them from a config file.
* NAT/firewall support
somebody want to flesh out what we want out of this? there's much
that can be done.
* bandwidth throttling
separate values for incoming and outgoing.
* introducers
beginning: either broadcast and have everybody know, or have a
central server that serves participant lists. whichever is easier
(probably the server).
* virtual circuits. given a path, need a way of opening a circuit and
"claiming it" for future packets to have a symmetric key stream. This
is going to be the toughest part of the system. Look at how onion
routing does it for a suggestion. Also, be on the lookout for ways to
not need to do it.
* "some way of getting to other people".
* initially, you can just use IP's.
* next step is to implement reply blocks, which can also be available
at a central server a la the node list above.
* then worry about meeting places.
Later:
* QoS support
nothing more than just what tcp provides. low priority.
* Infrastructure should be extensible for research:
micropayments
basic proof-of-work for connections.
later, actually solve the pay-each-point. ouch.
reputation / abuse tracking
implement judge/receipt system from mix-acc paper
auto-choose paths based on reputations