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

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Oct 7 19:34:09 UTC 2015


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

Comment (by asn):

 Hello,

 please see my branch `prop250-voting-day5` for further work on
 generating commitments and reveals. This is the first part of
 switching from the dummy integer commitments/reveals of
 `prop250-voting-day4`, to the signature-based commitments of prop250.

 This is still work in progress, but commit e3b6f4f introduces a very
 important unit test that shows a skeleton of how commitments and
 reveals are supposed to be generated, parsed and verified. Let me know
 if this logic seems acceptable to you, or we should change it.

 To move forward now, we need to introduce the SR-specific ed25519 auth
 key and include its certificate in votes, so that we stop using the
 ancient RSA fingerprints and be able to start verifying signatures.

 Tasks that need to be done next:

 - Create and start using the ed25519 SR key and certificate chains. Needs
 proposal!
 - Include the shared secret in the consensus.
 - Use weasel's algorithm in `get_testing_network_protocol_phase()`.
 - Implement the conflict line (see `add_conflict_to_sr_state()`).
 - Implement the maintainance function and has_majority logic (see
 `state_phase_transition()`).
 - Plug ALL the memory leaks (many!)
 - Fix the disk state (but let's do this later so that all the data
 structures have stabilized).

 [FWIW I left the stupid integer-based commits/reveals as
 `generate_sr_commitment_stupid()` in case we want to do some chutney
 testing. Eventually, `generate_sr_commitment_stupid()` will be replaced
 by `generate_sr_commitment()`.]

 Cheers!

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


More information about the tor-bugs mailing list