Computing Profession

Voting as Tallying in Public

Robin K. Hill, University of Wyoming

The previous blog post in this series on the philosophy of computing addressed the static view of the vote as a datum. Analysis of a problem for computational solution involves not only the thing itself, the ontology reflected in a data structure, but also what to do with it, the engine, reflected in an algorithm and implemented in a program. Peter Neumann's introduction to the CACM 2004 E-Voting issue gives the scope: "Voting is in fact a paradigmatic example of an end-to-end security problem representing a very broad spectrum of technological and social problems that must be systematically addressed—from registration and voter authentication to the casting of ballots and subsequent tallying of results." [Neumann]. So, now, can we set up a philosophical analysis of the engine and its algorithm, the tallying?

The counting up and certification of a set of votes cast is called "canvassing" by elections professionals, but that term is also used for campaigning. So we will use "tallying." The scenario, as defined earlier [Hill 2020] is this:

A standard ballot lists offices or issues, and a set of choices for each, which we will construe as yes/no questions. Assuming a context B, denoting a particular ballot, a vote is an individual boolean variable V, the vote, set to Yes or No on a particular question Q by an individual voter R at some point in time T.

We want to pick up a particular V and follow it through tallying, keeping to the abstract track that makes no commitment to any particulars of the electoral system, such as plurality or alternate voting rule, electronic or manual registering, early or on-site arrangements. And we want to preserve the desirable features of democratic elections. Note that because V is not an ordering, but a boolean scalar, this system is not subject to Arrow's theorem, a pesky computational issue for certain voting rules.

Immediately we encounter the first issue. By design, this vote V is not identified with its voter R. But for processing, such an object has to have an identifier, or at least a memory location. Can there be an identification protocol that does not connect to the R, which is the only property that V carries? Does a memory location constitute an identifiable identifier? A solution is to record V in some random address, checking for vacancy, so as to suppress ordering that might reveal voter identity. The prevents someone with a memory dump from determining the vote V of voter R simply by knowing that R was the 17th in line. This is not a far-fetched case, because, of course, that someone could be manifest in a sophisticated electronic virus introduced maliciously.

If our vote V is counted immediately, aggregated into a cumulative result, then V might never exist on its own, obviating the identifiability problem. But this affords no auditability, no independent accounting of the votes. V has to persist until the necessity for audit has passed. Let's focus on the audit. Is there any sort of computational pattern of verification shared by opposing forces that applies here? It's not game theory, because voting does not involve a sequence of moves.

But there is a state-sharing pattern studied in several fields—common knowledge. The Byzantine Generals problem gives us a well-known result in achieving consensus through communication: Separated network nodes cannot reach guaranteed common knowledge, no matter how many messages are sent and received (where each message is subject to failure). Clark and Marshall, in an early study, provide a persuasive example that illustrates several levels in domestic communications, and then give assumptions for felicitous mutual knowledge that include simultaneity, rationality, attention [Clark]. Computers cannot reach a state of simultaneous bilateral communication. Yet such a state is apparently achieved by humans working together (although Clark and Marshall's contrived yet diverting example shows failure in that setting due to independent acquisitions of facts).

Van Ditmarsch, Van Eijck, and Verbrugge, in their conversational analysis, give the example of counting money at a bank [vanDitmarsch]. The teller, understanding that you, the patron, are watching, counts the cash in plain sight of both of you. He (the teller) knows that you (the patron) know that when he says "forty" after laying down the second 20-dollar bill, you know that the amount on the surface between the two of you is $40. He knows that you know, and you know that he knows that you know, and… so forth. Although your interests are nominally opposed, you both regard the truth as achievable and tolerable, so you share acceptance of the value. That is, by looking each other in the eye, or nearly, we humans jump through the number of levels that we can grasp, and the hierarchy dissipates. We achieve verification.

Database coordination calls for a Single Source of Truth to preclude erroneous reliance on obsolete records that have have become inaccurate [SSOT]. The scale and complexity of modern information system makes this difficult. Common knowledge provides just that— a locus in time and space where and when all observers have access to the facts. But it's not imposed or artificial; it's created by the process.

Counting votes in public would seem to constitute the ideal way to tally, assuming secrecy is maintained through a random mixing of ballots or similar measure. (A realistic scenario does not present itself, but this is philosophy, so we'll have to make do without one.) A public tally provides crowd-sourced accuracy and self-auditing, that is, attentive checking by many eyes, on many sides, or perhaps we could say that it obviates auditing. In modern American voting, we trust another group of people for the common knowledge requirements of tallying: We delegate the role of many eyes on many sides to the poll watchers. Poll watchers are selected by officials to cover a broad spectrum of party affiliation and candidate support. Although their interests are nominally opposed, and opposed to some of the voters, all parties regard the truth as achievable and tolerable, and share acceptance of the result.

In voting, the key attitude, promoting successful civic participation, is perhaps better labeled not knowledge but acknowledgement. We call common knowledge that resolves opposing forces common acknowledgement. Common acknowledgement gives not just a shared belief in a proposition, but shared probity through a shared process, and thereby shared acceptance. Software and hardware, of course, have no awareness (or acceptance) at all. The question is whether a mechanism successful in a real-life setting can be transferred to a computer. Can the virtues of common acknowledgement, emerging from a distinctly human phenomenon, be programmed? The answer may be No. But this account is firmly abstract. Not only are the implementation details lacking, but the questions themselves must be sharpened.

This hardly scratches the surface of the significant social and ethical questions attendant upon the voting process, notably electronic voting [Zelić], or the literature on the computation of voting rules [Brandt], among other subjects. Counting is the most fundamental computation, the easiest algorithm, the most straightforward program of all. Hoping to be proven wrong, we are given the impression by recent news reports that vendors of voting machines have not considered the special ins and outs of counting as it should be practiced in vote tallying.


[Brandt] Brandt, Felix, Conitzer, Vincent, Endriss, Ulle, Lang, Jérôme, and Procaccia, Ariel D., 2016, Handbook of Computational Social Choice. Cambridge University Press, New York, NY.

[Clark] Clark, H. H., and Marshall, C. R. 1981. Definite knowledge and mutual knowledge. In Joshi, Webber, Sag. Elements of Discourse Understanding.

[Neumann] Neumann, Peter. 2004. Problems and Potentials of Voting Systems. CACM 47:10.

[Hill2020] Hill, R. The Vote as a Datum. Blog@CACM. January 30, 2020.

[SSOT] Wikipedia contributors. (2020, January 19). Single source of truth. In Wikipedia, The Free Encyclopedia. Retrieved March 5, 2020.

[vanDitmarsch] van Ditmarsch, H., van Eijck, J., and Verbrugge, R. 2009. Common knowledge and common belief. Discourses on social software, 5, 99-122.

[Zelic] Zelić, Bruno and Stahl, Bernd Carsten. 2005. Does Ontology Influence Technological Projects? The Case of Irish Electronic Voting. WM 2005: Professional Knowledge Management.


Robin K. Hill is a lecturer in the Department of Computer Science and an affiliate of both the Department of Philosophy and Religious Studies and the Wyoming Institute for Humanities Research at the University of Wyoming. She has been a member of ACM since 1978.

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More