Thursday, October 01, 2009

Delegated Democracy - Part 7

After bouncing the idea off a few people and thinking about it for a while, I've got the next iteration of my voting idea. I'm thinking we could use GnuPG to handle all the cryptography since it's free (as in speech), open source, stable, secure, and widely adopted. Here's how it works.

Three groups

Everyone involved in the process falls into one or more of the following groups:
  • The polling authority is the entity in charge of administering the voting process, and in this case would be a political party.
  • The voter is anyone eligible to vote, but not necessarily a member of this party. They choose a delegate to vote on their behalf. All voter information is confidential.
  • The delegates are entities that have been given authorization by voters to vote on their behalf. They can be people, computer programs, corporations, other political parties, or whatever else the voter chooses. All delegate-related information is public.
Step 1: Delegate registration

Anyone or anything wishing to serve as a delegate can submit a name, email address, and public key to the polling authority. An encrypted confirmation email will then be sent to the delegate. Once confirmed, the delegate is added to the key server. The public will have read-only access to the key server.

Step 2: Voter registration

A voter travels to the polling authority with an accepted form of identification and registers to vote. The voter then types in the email address of a delegate who has registered in Step 1. The voter can optionally specify multiple delegates, so if the voter's first choice delegate does not vote, their second (or third, fourth, etc) choice will be used instead. As a courtesy, voters can notify their delegates when selected or removed, but this can't be done by the polling authority without risking voter coercion or bribery. For most voters this step can be automated for complete privacy, but we'd also provide assistance on request.

Step 3: Call for votes

When it's time to vote, the polling authority publishes notice on the party website and mailing list. For example, a poll could look like this:

Poll 123456: "What will we have for dinner?"
001 Pizza
002 Salad
003 Toothpaste

Step 4: Votes submitted

The delegates who had registered in Step 1 would then:
  • Rank the choices from Step 3 in order of preference,
  • Save those rankings to a file,
  • Tamper-proof the file by digitally signing it, and
  • Email this ballot to the polling authority.
Since an unscrupulous attacker could block a delegate's registered email address during this step, we'd have to allow ballots from any address so long as the registered one is mentioned and the signature passes verification.

Step 5: Votes tallied

After a set amount of time has passed, the polling authority verifies all submitted ballots and tallies the votes. I'm a fan of the Schulze method, but there are some other good electoral systems out there for determining the winner. The winning choice and every other choice that has been ranked by over 1% of all votes will be displayed on the party website. The ballot from each delegate will also be publicly visible.

Other ideas

I've been thinking about Coriolinus' tagging idea from the last post, but I can't think of any good way to make it work properly. Everything I've got so far either introduces the risk of gaming the system or just wouldn't prioritize issues perfectly for everyone. I'm open to the idea, but I'm not 100% sure how I could make it work.

Labels: ,

Thursday, September 17, 2009

Totally my next vision upgrade

Color blindness CURED in monkeys!
"Ultra-experimental hacks that confer light- and color-perceiving powers on cells used in other aspects of sight would be that much closer to reality."

Sunday, January 11, 2009

Delegated Democracy - Part 6

I've been working on that idea for an online delegated voting system. Here's what I've got so far:

Three groups
  • The polling authority would be in charge of the voting process, and in this case would be the party.
  • The voter decides which options they like best for a given vote, and either vote on their own or delegate a third party to do it for them.
  • The delegates can be people, computer programs, Google, whatever you want. All that matters is that they've been given authorization to vote on behalf of someone. If you vote on your own, you are your own delegate.
Two types of ballot
  • The blank ballot is effectively your power of attorney with regards to delegating your vote. If you want you can give it to someone else, or you can use it yourself to make filled ballots (see below). It consists of three bundled elements, together encrypted with the polling authority's public key:
  • A filled ballot is what is actually submitted to the polling authority, and it says who you are and how you vote. It consists of three bundled elements, together encrypted with the polling authority's public key:
    • A blank ballot,
    • The vote number, and
    • Ranked options for the vote.
When the polling authority receives a filled ballot, it publishes the rankings and a cryptographic hash of the (blank ballot + vote number). If the username and password are valid, it counts the vote towards the final results, otherwise it is not counted. When polling has closed, the winning options and close runners-up are published.

Since you know what your blank ballot is, you can check how your vote was used once it's published, and if it's different than what you expected due to a security breach, you or your delegate can send an email to the polling authority telling them to blacklist that particular blank ballot.

You'd have to be physically present at the polling authority headquarters when you chose your username and password, but other than that the whole thing could be done online.

Thoughts?

Labels: ,

Monday, December 29, 2008

Delegated Democracy - Part 5

I'm still working on that idea of mine, but after discussing the last iteration of the idea with Coriolinus I've been trying to refine the idea. Generally, here are the requirements of the system I have in mind:
  • Secret ballot - The citizen should have no way of proving to a third party how they have voted.
  • Delegation - The citizen should have the option of allowing a third party to vote on their behalf, who should be able to delegate the vote to a fourth party, and so on. The voter should be able to choose their own software or service to do this, rather than a single limited/bloated application.
  • Online voting - Voters should have to register in person with valid identification, but from that point forward should be able to vote from anywhere.
  • Voting records - The citizen should be able to check how their votes have been cast, and exit polls should be optional.
  • It should be as simple as possible

Labels: ,

Blog JUST for the engagement/wedding

Magen and I have started a shared blog just for information regarding our engagement and wedding: You Have That Effect On Me.

Labels:

Friday, December 26, 2008

It's official!

Magen and I are engaged!

Labels:

Friday, October 24, 2008

Massachusetts Marathon

Tomorrow Ralph Nader is going for the world record of most campaign stops in one day, in MA. Sorry to anyone who reads this too late, I only found out recently. Here are the times and locations, I'm planning on dragging a bunch of friends to the 5:40 stop in Auburn.

Labels:

Sunday, October 05, 2008

Robbery

In the wake of the bailout, something I've been thinking for a long time has become much more important. By now it's clear that the representatives in Washington are not representative of the will of the people, but in reality believe they know better than we do. I'm not going to get into how this is trickle-down economics with a scary sense of urgency, but instead focus on the real problem; the republic.

In this day and age of instant communication and mind-blowingly fast computation, why are we willing to settle for anything less than direct democracy? I don't know about you folks, but I want my individual interests to be represented just as much in government as anyone else's. With Obama and McCain unwilling to discuss direct democracy and electoral reform, it boils down to two options:
  • Vote for a candidate who supports the voting system that gave us George W. Bush and supports the "representation" that gave us the bailout, or
  • Vote for a third party candidate who supports voting system reform and direct democracy. If that's not Nader that's fine by me, but please don't vote for "good enough" or "lesser evil" when you have the opportunity right now to actually support governing ourselves.
If you disagree with me on this, please let me know, because I am honestly baffled as to why intelligent people are content with what we have now.
Freedom is participation in power. - Cicero

Labels: ,

Thursday, August 28, 2008

Fuck tactical voting

Up until recently, I've been a Barack Obama supporter. Generally, it was because I agree more with him than I agree with John McCain, and I was fool enough to think he would actually stand up for what he believed in, to represent me "closely enough".

After he voted for retroactive telecom immunity, that idealistic bubble burst, as he had previously stated that he would filibuster any bill that included the retroactive immunity provision. The reason this bothered me so much wasn't because I disagreed with his vote, but because he made promises that he would not keep. It calls into question everything else he promises; where else will he meet the neoconservatives midway? Torture? Health care? The war?

More recently, he selected Joe Biden, a man who is "pro-RIAA, pro-FBI", and "anti-encryption", as his running mate.



Fuck this, I've had enough. Barack himself is willing to meet tyranny midway, and if something happens, the guy who steps in is even worse. At this point, it's painfully clear that there are few real distinctions in the Republicrat machine, and those differences will fade more and more if and when Obama takes office.

I used to think that I'd be making the most difference by voting for whichever of the top two candidates agreed with me the most. Well the joke is on me. There are no top two candidates, there's just the one, and he's for sale.

If there's a direct democracy presidential candidate, please let me know. In the meantime, I'm going to vote for the only candidates who acknowledge the failure of the plurality voting system: Nader/Gonzalez. Call me an asshole for not voting tactically if you want, but the system is fucking broken and I refuse to game it any more.

Labels: ,

Saturday, May 31, 2008

Delegated Democracy - Part 4

I've been discussing delegated democracy with Coriolinus and Yev here and at Coriolinus's blog, and think I've got a good next iteration of the idea. The entire system as I originally proposed it was extremely overcomplicated, and now have a three-part process that I think cuts to the core of the idea.

Part one: Registration
  • Citizen enters the party HQ, checked for bugs & weapons.
  • Citizen registers, gets a username and provides a passphrase, then leaves.
  • Passphrase -> cryptographic hash function -> key generation function -> decode key, stored at party HQ.
  • Voters would also have the option of providing their own decode key directly, in the event that they want a higher entropy or don't trust the polling authority with their encode key.
Part two: Email
  • Citizen composes vote, then runs encryption program, entering passphrase, stored briefly in memory.
  • Passphrase -> cryptographic hash function -> key generation function -> encode key, stored briefly in memory.
  • Vote is encrypted with encode key, saved, then passphrase and key are wiped from memory.
    • The voters mentioned above who opted to provide their keys will skip straight to the encryption step.
  • Encrypted vote is emailed to party HQ.
Part three: Votes counted
  • Party HQ receives citizen's email.
  • Email is decrypted with decode key. If successful, this verifies the citizen's identity and that (s)he was not coerced.
  • Vote is added to tally for given question.
In essence, it is just an implementation of electronic direct democracy, but reduces the problems of
  • scale,
  • voter fatigue,
  • complexity, and
  • manipulation by time framing.
It does not address the problems of
  • demagoguery, which I think exists now in any form of democracy (direct or otherwise), and
  • self-interest, of which I also think everyone, including present-day politicians, is guilty.
People who do not have regular internet access would have the option of using several third parties to cast their votes for them, only one of which has the correct passphrase. This would allow for a great deal of automation, thus opening the doors to voting by phone, fax, snail mail, or in person at a third party location. Eventually the party could also support these alternative methods itself, and I think this idea could work for the elderly, disabled, or technologically disinclined.

Labels: , ,

Thursday, May 22, 2008

Delegated Democracy - Part 3

Coriolinus got me thinking about my delegated democracy proposal after my last post, with his security through obscurity point. Even though there would be no sure-fire way to prove which feed was yours, people could narrow them down based on opinions you've expressed in public and determine your entire voting record with near certainty. Not good.

So to give people the option of complete privacy in their votes, I think the party server should give the option of encrypting all communication with the "first delegate" servers. It unfortunately means three things:
  1. Participating voters would have to memorize at least one more password per entry,
  2. Increased complexity in the computer software, and
  3. It's another thing the party would have to agree on.
Not as perfect a solution as I had hoped, but I still like it, and think I'm going to explore it a little more.

Labels: , ,

Monday, April 21, 2008

Delegated Democracy - Part 2

Ok, I've come up with a few ideas that might reduce the problems I highlighted in my previous post, starting from a simple party-run computer system.
  • Authentication: When you first register your identity with the party, you use a computer at the local party headquarters. While using this confidential voting station, you can input a list of URLs, with one "used" entry, and an unlimited number of "dummy" entries.
    • No one will have to be a registered member of the party in order to input their list and participate in this system. The ultimate goal is to have elected officials who best represent the desires of the entire voting public, not just their own party.
    • You will be able to update your list at any time should you be in some way coerced (see below) or decide to use a different first layer of delegation.
    • (Update) Each URL would need the option of a password for encryption later in the process.
  • Delegation: Those URLs point to vote "feeds", which can be run by anyone in any way. For instance, you could simply delegate your vote to a feed controlled by one of your friends.
    • Another example for the more particular: you could delegate a private service anywhere on the internet that categorizes bills, which then accordingly delegates your favorite experts for each issue.
    • This means there are no limits as to how you determine your vote; any crazy method of your own devising is fine.
    • You could even publish your own opinions and convince people to delegate your feed. Keep in mind how you actually vote is still private, you just cannot hide what you openly endorse.
    • (Update) The feeds with passwords would encrypt all communication with the first proxy. From there, the voter could have any sort of privacy settings up to and including completely secret votes.
  • Resolution: When it's almost time for the party's elected official to vote, the party server queries all listed URLs, including the "dummy" entries. The final results (except of course for voter identities) are then made public.
    • This is to prevent intimidation and bribery - even if someone forces you to list a computer they control that logs hits, they have no way of knowing if theirs was your "used" entry or not.
  • Votes cast: The elected party representatives check to see what the winners were for each bill, and vote accordingly. Like in Senator On-Line, representatives will have to commit in writing that they will vote in accordance with the party view.
There's a good chance I'm missing something critical, so if there's something I haven't addressed or problems with my idea, go ahead and comment away.

Labels: , ,

Tuesday, April 15, 2008

Delegated Democracy - Part 1

So lately I've been reading a lot about voting and election systems. One that's caught my interest as of late is a form of proxy voting called "delegated voting" - in short, a voter is allowed to designate a proxy to vote on his/her behalf, and that proxy can also designate someone else, and so on. The reason I like this is because I think it has the potential to be used on a much wider scale, even at a national level as a method of implementing a working direct democracy.

However, I have serious doubts about the existing delegated voting experiments.
  • One issue is anonymity in voting, which projects like World Parliament Experiment do not have and I think is critical in order to prevent coercion through vote buying and threats of violence. The basic problem is that you either have the right to see where your vote goes (which exposes your delegate's choice) or your delegate has the right to anonymity, which means you can't even see your own vote!
  • The second problem is that of security. With any internet voting system (like the WPE or Demoex), there is a vulnerability to man-in-the-middle attacks, hacking people's home computers, and to a lesser extent the voting server.
  • Even a delegated voting system can be restrictive. By being forced to select a single delegate, you cannot instead delegate the average of your three most political friends, the result of your own crazy formula, or any other automated method.
  • Delegated voting systems can also cause recursion problems. If you select a friend as your delegate who selects you, or there is any other chain that ultimately goes full circle, there is no clear way to determine the vote.
  • Complexity can also be an issue - in addition to the security implications of rising complexity, the more complex the software the harder it will be to get people to agree on it.
The concept is still a damn good idea, though. I've got a couple ideas as to how this can be improved, so I'll post more on that later. For now I just want to get back in the habit of writing here...

Labels: ,

Friday, March 28, 2008

lolz


Yes, I am breaking my long silence for this. In case you haven't already, you should subscribe to my Google Reader feed to the right, since I share on that more often than I post new stuff here. I'm assuming you're using RSS by now or there is NO way you are still reading this.

Monday, December 24, 2007

St. Thomas

Ok, I'm right about to board the plane for St. Thomas, so nobody think I'm ignoring you for the next couple weeks... I'll be incommunicado.