[tor-dev] Walking onions: week 10 update

Nick Mathewson nickm at torproject.org
Tue May 12 00:09:27 UTC 2020


Walking Onions: week 10 update

 On our current grant from the zcash foundation, I'm working on a
full specification for the Walking Onions design.  I'm going to try to
send out these updates once a week.

My previous updates are linked below:

 Week 1:
   formats, preliminaries, git repositories, binary diffs,
   metaformat decisions, and Merkle Tree trickery.

   https://lists.torproject.org/pipermail/tor-dev/2020-March/014178.html

 Week 2:
   Specifying details of SNIP and ENDIVE formats, in CDDL.

   https://lists.torproject.org/pipermail/tor-dev/2020-March/014181.html

 Week 3:
   Expanding ENDIVEs into SNIPs.

   https://lists.torproject.org/pipermail/tor-dev/2020-March/014194.html

Week 4:
   Voting (part 1) and extending circuits.

   https://lists.torproject.org/pipermail/tor-dev/2020-March/014207.html

Week 5:
   Voting (part 2)

   https://lists.torproject.org/pipermail/tor-dev/2020-April/014218.html

Week 6:
   Editing, voting rules, and client behavior (part 1)

   https://lists.torproject.org/pipermail/tor-dev/2020-April/014222.html

Week 7:
   Exit policies: How do they work?

   https://lists.torproject.org/pipermail/tor-dev/2020-April/014232.html

Week 8:
   Onion services, relay honesty, migration and families

   https://lists.torproject.org/pipermail/tor-dev/2020-April/014255.html

Week 9:
   (There was no week 9)

== Now with an introduction

I left the Introduction section of the proposal till late in the
game; now I have it in place as a new section 1:



== Proposals into the pipeline

I've also revised all of the "other proposals" that were logically
separate from the rest of Walking Onions.  Three of them were ready
to go to tor-dev, so I've added them as:

 318-limit-protovers.md Limit protover values to 0-63.
 319-wide-everything.md RELAY_FRAGMENT cells
 320-tap-out-again.md   Removing TAP usage from v2 onion services

== In the home stretch

I've got till the end of the month to wrap up this proposal, so
let's see where we are.  We have a minimal viable proposal, I
believe: if we were to sit down and start implementing, we would
probably get most of the way based on what we have now.

There are a few additional things I'd like to wrap up before I call
the proposal done, however:

* I've got all the necessary machinery written up for generating and
  calculating indices, but before I actually move ahead, I should
  fill in the details in sections 2 through 4.

* One of the original goals of Walking Onions was to permit us to
  move to alternative topologies where not every relay connects to
  every other relay.  That's not something that we can include in
  this proposal, since the research here is quite preliminary, but
  I still want to prepare for it by making sure that clients can
  handle getting SNIPs that say "this SNIP is only valid when given
  by a relay of type X".

* I should take another pass through the CDDL format to see whether
  there are any opportunities to save a bunch of bytes.  I should
  also fill in a couple of example SNIPs to see how big they are
  with this proposal.

* There are places all over the proposal where I have marked
  uncertain points with XXXX.  I should go through them and resolve
  them all before I call the proposal done.


[INTRO] https://github.com/nmathewson/walking-onions-wip/blob/master/specs/01-intro.md


More information about the tor-dev mailing list