← Todas as lacunas
💻 Software que não pode verificar

Software que não pode ser verificado

A máquina que conta os votos segue instruções secretas. Se ninguém fora da empresa tiver permissão para ler essas instruções, ninguém pode ter a certeza de que os votos são contados de forma justa.

O que realmente aconteceu

Num estudo marcante de 2006–2007, investigadores de Princeton obtiveram uma máquina Diebold AccuVote-TS amplamente utilizada e demonstraram que alguém com acesso físico breve podia instalar código para roubo de votos que reescrevia todos os registos da própria máquina para ocultar o roubo — exatamente o tipo de falha que a revisão pública do código-fonte existe para detetar.

Como está hoje

Essa máquina específica com ecrã tátil sem papel foi entretanto largamente retirada — cerca de 98% dos votos nas eleições gerais de 2024 nos EUA foram feitos em papel. Mas a lacuna em si não foi colmatada: os três fornecedores que gerem aproximadamente 90% das votações nos EUA atualmente (Dominion, ES&S, Hart) são todos privados e mantêm o código-fonte fechado à revisão pública. O valor de 86% acima é medido a partir da lei eleitoral atual, não de 2006.

Imagine a referee no one can watch

A voting machine is like a referee in a game. It decides who won. Now imagine the referee keeps their rulebook locked in a drawer and won't let anyone read it. You just have to trust that the rulebook is fair.

That's how most voting machines work today. The software — the instructions that add up the votes — is closed. Only the company that made the machine can see it. Voters, election officials, and independent experts usually cannot.

Why it matters

If a mistake (or a deliberate change) is hidden inside that secret software, there is no one outside the company who can find it. Researchers have repeatedly shown that when they do get to examine real machines, they find serious flaws — and malicious code can even rewrite the machine's own logs to cover its tracks.

The point isn't that every machine is rigged. The point is simpler: if you can't check it, you can't prove it's right. Trust should not be required where proof is possible.

How TrustVoting closes it

TrustVoting is built on a simple commitment: the code that counts your vote should be open — published in full, with reproducible builds so anyone can rebuild it and get the identical program (not just read it and hope).

On top of that, a cryptographic integrity layer — checksums and an attested boot — lets each machine prove it's running exactly that published, reviewed version, and nothing swapped in later.

That's the chain that replaces trust with proof: open code anyone can inspect → a build anyone can reproduce → a machine that proves it's running it. Open source alone isn't enough (the source has to match the running machine), and checksums alone aren't enough (you'd be trusting code you can't see) — you need both, and that's the design.

Como o TrustVoting a fecha

TrustVoting foi construído para publicar seu código-fonte completo com compilações reproduzíveis, para que qualquer pessoa — não apenas o fornecedor — possa ler e reconstruir independentemente. Para além disso, uma camada de integridade criptográfica (checksums + attested boot) prova que cada máquina está a executar exatamente essa versão publicada e revisada no dia da eleição. Open source é o compromisso; a integridade verificável é a prova de que a máquina o honra.