[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.


* 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.


* QoS support
  nothing more than just what tcp provides. low priority.
* Infrastructure should be extensible for research:
    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