[tor-bugs] #16943 [Tor]: Implement prop250 (Random Number Generation During Tor Voting)

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Sep 18 18:45:42 UTC 2015


#16943: Implement prop250 (Random Number Generation During Tor Voting)
------------------------+--------------------------
     Reporter:  asn     |      Owner:
         Type:  defect  |     Status:  new
     Priority:  normal  |  Milestone:  Tor: 0.2.???
    Component:  Tor     |    Version:
   Resolution:          |   Keywords:  tor-hs
Actual Points:          |  Parent ID:  #8244
       Points:          |
------------------------+--------------------------

Comment (by asn):

 OK, second day progress at branch `prop250-voting-day2`:
 https://gitweb.torproject.org/user/asn/tor.git/log/?h=prop250-voting-day2

 This branch can do the following things:

  * Authorities can keep track of the protocol run. Authorities know which
    protocol phase they are into at any given time. Both in the real
 network and
    in the testing network. (Unit tests included for real network)

  * Authorities know when a protocol run starts and can do some basic
    housekeeping. Like wipe counters, and generate fresh commitment values
 for
    themselves.

  * Authorities can generate actual reveal values.  Authorities can
 generate
    some dummy commitment values.

  * Initial work has started on encoding commits/reveals to votes.
 Scaffolding
    work has also started on parsing commits/reveals from votes.


 I also looked at your branch David. I see you have code for parsing the
 binary
 representation of commitments and reveals . And also have code for parsing
 the
 state file.

 I noticed that the state file parsing code is quite similar to the code
 that we
 will have to write for parsing commits/reveals from votes, but with
 statefile
 code patterns instead of routeparse code patterns.

 I'm talking about this type of code:
 {{{
 +  alg = crypto_digest_algorithm_parse_name(value);
 +  if (alg == -1 || alg != SR_DIGEST_ALG) {
 +  }
 +  value = smartlist_get(args, 1);
 +  if (digest256_from_base64(identity, value) < 0) {
 }}}

 It would be nice to be able to write utility parsing functions that can be
 used
 by both subsystems so that we don't have duplicate code. I wrote some
 skeleton
 code for the routerparse.c code in case you want to think more of how we
 could
 merge those two logics. Check out commit 39cb7ab.

 Cheers!

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/16943#comment:4>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list