Thanks Jason, I can use your post to outline my thoughts. Granted, not necessarily a recall in the usual sense, but a re-election trigger at least and tantamount to a recall (the bad MP lost his/her majority, and everyone knows it).
...and would identify who voted for whom... --- Nope! This is important :) This could be divulged under nefarious circumstances, but let's assume some integrity is possible. Things can be sorted out for security/integrity later, let me start here..
To demonstrate, two tables are required:
[A] Voter: Ballot Serial Number and Voter Name
[B] Vote: Ballot Serial Number and Vote (Candidate Voted For)
Voting
Voter appears at polling station to vote, receives ballot paper:
A ballot paper has two parts; a receipt part which is kept by officials which gets the voter's registration number written upon it. The part you are handed to express your vote. Both parts have the ballot paper's number [Ballot Serial Number] encoded on it as a sequence of punched holes.
Votes counted, as currently done.
Data entry to table [A]
Data entry to table [B] -- This must match the ballot count as is currently performed.
Recall
Voter appears at [official office]
"I want to withdraw my vote" - proves identity. [Ballot Serial Number] is retrieved from [A] - vote is removed from [B] using [Ballot Serial Number].
[B] shows a new vote total, if majority is lost, election triggered.
----------------------
This doesn't require electronic voting. It doesn't reveal the voter's choices.
----------------------
It's much easier and cheaper to just allow everyone to vote in a recall and, as those elected are meant to represent everyone, including those who didn't vote for them, plus those who made some kind of protest vote safe in the knowledge they would be elected anyway, it's not unreasonable everyone should get a say on whether they are doing a good job or should be recalled..
Disagree. Someone that already didn't vote for someone obviously wants to vote them out - that's how recalls are abused.