Skip to Content.
Sympa Menu

cacert-sysadm - Re: AW: secret ballot

cacert-sysadm AT lists.cacert.org

Subject: CAcert System Admins discussion list

List archive

Re: AW: secret ballot


Chronological Thread 
  • From: Ian G <iang AT cacert.org>
  • To: Philipp Dunkel <p.dunkel AT cacert.org>
  • Cc: members AT lists.cacert.org, CAcert System Administrators <cacert-sysadm AT lists.cacert.org>, ulrich AT cacert.org, Mario Lipinski <mario AT cacert.org>
  • Subject: Re: AW: secret ballot
  • Date: Fri, 29 Apr 2011 12:04:23 +1000
  • Authentication-results: lists.cacert.org; dkim=pass (1024-bit key) header.i= AT cacert.org; dkim-asp=none

On 26/04/11 8:23 PM, Philipp Dunkel wrote:
Ok everyone,

here is how I modified the VoteBot. I hope this is sufficient for our 
requirements.

An Operator sends a DM to the VoteBot formated like "vote<topic of the vote>"
At this time the vote starts. People may vote either publicly by sending 
their vote to #vote as we have done before or secretly by sending a DM to the 
VoteBot.
When a vote is received in #vote it is acknowledged including its value to 
#vote.
When a vote is received privately it is acknowledged to #vote without its 
value and in a private message to the voter including its value. So everyone 
can check whether their vote was interpreted correctly.
At the end of a vote the VoteBot tallies the votes and send a Direct message 
to the person that started the vote for every single vote that was counted. 
And presents the sums to #vote.

So if we have an independent person that acts as an auditor for the votes, we 
can do so by simply having them start the vote, which is trivial to do.
As before reminders and vote closing is done automatically, so the auditing 
person really only has to start the vote and record the outcome.

here is how the actual voting syntax works (for those who have not 
participated before):
Simply send a message to #vote (or directly to the bot if a vote has been 
opened):

If you send a vote value to the bot (see below for values) it is your vote 
that is counted:
"aye" or "yes" or "oui" or "ja" means you vote aye
"naye" or "no" or "non" or "nein" means you vote naye

Nice feature :) One tiny thing: there are two spellings for Naye; also Nay. I think it's another colonies v. ex-colonies thing.

(I actually switched to the latter spelling in the wiki because searching for Aye was more complicated when Nay is spelt Naye...)

"abstain" or "enthaltung" or "enthalten" means that you abstain

proxy<UserName>  <value>  does a proxy vote for someone else. (<UserName>  is the 
full name of your Proxy,<value>  is the same as for your own vote.

There are a few additional commands:
        "vote<topic>  starts a vote on<topic>"
        "cancel" cancels a vote (may only be used when a vote is running and 
by the person that started it
        "quit" kills (and restarts) the votebot (may only be used when no 
vote is running)
        "warn<number>" warns of an impending closure to the vote<number>  
seconds after the vote has been opened (may only be called when no vote is running, default is 90)
        "close<number>" closes the vote<number>  seconds after the warning 
(may only be called when no vote is running, default is 30)
        "help" shows these commands (may only be called when no vote is 
running)

Regards, Philipp

P.S.: The thing is live right now, so that anyone can test it. I have also 
attached a ZIP file with the entire source code, if anyone wants to verify 
that.





On 23.4.2011, at 15:41 , Ian G wrote:

On 23/04/11 6:50 PM, 
ulrich AT cacert.org
 wrote:
Hi Ian,

why do we need an Auditor ?

Because someone will complain that what they can't see was manipulated.  
That's the point of a secret ballot -- to avoid the manipulations that happen 
in an open ballot.

we have the members register.
This can be added to a table "potential allowed voters"
as secretary checks this list at start of the meeting
to voice the members, the same can be done with the
"potential allowed voters" to enable each voiced
member ...
later on voting, the voter can be compared against
the voiced members table
is this easy, isn't it ?


This doesn't say whether they voted AYE or NAY.

Verification is in the public channel ...
xyz voted.
where xyz is the name of the voter
the ballot is hidden to the votebot
the validity of the vote is given by
votebot: elements Aye, Naye, Abstain
that are allready on the valid ballots list


PD runs the votebot.  He knows what the ballot is.  He's in control of the 
code.  All he needs to do is change the code to make sure that random votes 
are swung another way.

(Secretary sees the voters.  All he needs to do is add in some extras. Or 
drop some that didn't make it.)

Also, recall, the law has changed.  The result on the day is the result that 
counts.  So any errors are dropped.  Sooooo...... if the losing side sees an 
error, the law pushes it aside.  Which forces them to complain more.  We 
should strive to eliminate the possibility for errors beforehand, if there is 
any possibility of complaints.

(BTW, just for avoidance of doubt, the "auditor" is nothing to do with any 
other auditor, it's someone totally independent of the situation.)

All this person needs to do is look at Votebot's sums, and say, yes, I see 
voting by N people, and this count is X Ayes, Y Nayes.  If there is any 
challenge, auditor writes to people to confirm their vote.

At a minimum I'd insist on Votebot recording a log of what it counted, so we 
could file dispute to have an Arbitrator (w/out conflicts) look at the 
results...



iang



Attachment: smime.p7s
Description: S/MIME Cryptographic Signature




Archive powered by MHonArc 2.6.16.

Top of Page