Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. ×
User Journal

Journal Journal: Design for an Electronic voting system 2

My idea for a voting system is a redundant array of vote counting machines. A front-end system designed to have several black box voting system back-ends plugged into it, and which would be designed and sold by competing companies. The reasoning behind this is that any fraud that occurs in the back end would be immediately detectable from any conflicting results delivered by the companies involved, and creating a healthy system of competition among those companies. This is beneficial for many obvious reasons.

The overall design of the front end should be as simple as possible to help eliminate fraud at the polling place. It would be free-libre whatever form it took, possibly a Mask ROM to eliminate the possibility of tampering. The creation and certification of the front end I am about to describe would necessarily a civil project.

The possible permutations for a Modified Borda Count of a 10 candidate race is P(10, [1-10]) which is:

10! + 10!/9! + 10!/8! + 10!/7! + 10!/6! + 10!/5! + 10!/4! + 10!/3! + 10!/2! + 10!/1! + 10!/0! = 13,492,900

So using that election example as the extreme high end requirement (~13M vote permutations), I assume that 32 bits (~2 billion states) should be more than enough to describe any possible vote for a single race. (ever in the universe and I stand firmly behind that figure :) Of course our current system would take far less.

So the essential parts of the front end would be this:

  1. An interface to translate the voter choices into one of the 32 bit codes, which would of course need to be defined before hand by an election committee.
  2. Since you also need a mechanism in place to prevent someone from voting multiple times while they are in the booth, I envision a system using a punch card of some sort in between the front and back ends, and a method devised using a mechanical system to ensure that a vote will only register on a fresh card (or fresh subsection of the card for that vote). Also the cards could be separately audited and verified, and would also provide a paper trail.
  3. A de-muxer of sorts, which would translate a 32 bit input into several identical 32 bit outputs. And transmit to the black box backends.

And the essential parts of the back-end would be take a series of 32 bit inputs (one for each race), and given a definition of the vote codes, return a vote count. And if your count is screwy it is obvious.

I suppose you could make it so a company has to do nothing but provide an ssh key to their server which could be used to transfer the votes over a network, but I am wary of putting any software on the front end. A firmware ssh client may be a possible option. Perhaps a simple solution would be to put a simple unix on a ROM and attach a touchscreen.

With this system trust would be taken completely out of the hands of any corporations involved, and put it entirely in the citizens and their front end.

User Journal

Journal Journal: Religion 1

If I have a creator it is Nature.

Whether or not there is a supreme being at the other end of Nature is a matter for the scientists. Religious figures who may be very wise of the human spirit are nonetheless charlatans when it comes to the true nature of the Universe, Nature, and Creation.

All religions even "scien"-tology have their serious advantages. No other type of organization spends entire existances and efforts with the aim of controlling human spirits. Whether the control is "good" or "evil" is irrelevant, it is what it is. The potential lies within them to uplift the human spirit to its highest [cliches] and to cast it to the very deepest depths of [alliterative pun]. The actual result of religion is dependant on the individuals who wield the message.

Slashdot Top Deals

As far as we know, our computer has never had an undetected error. -- Weisert