O voto no Brasil é mesmo auditável?
Olá Devs!
Venho trazer esse tema polêmico e uma proposta para vocês.
Sou aluno do curso.dev e para colocar em prática os ensinamentos do nosso querido Felipe dos Campos, pensei em criar um projeto open source no qual todos aqui terão a oportunidade de contribuir. E para seguir uma parte dos conhecimentos que aprendi no curso, criei um repositório com uma issue.
Segue um detalhamento do que você vai achar na issue acima. (Percebi que as pessoas não estavam entrando na issue para entender a proposta.)
# Origem da necessidade
Nos últimos anos houve um acirramento político muito grave levando as coisa para as extremidades, e um dos problemas levantados neste acirramento é o questionamento da "confiabilidade" da urna eletrônica usada nas votações.
Me lembro que, até poucos anos atrás, esse não era um tema, pois existia muita confiança nas urnas, logo não se questionava os resultados, porém isso mudou. Hoje existe uma desconfiança tão grande que foi necessário que fossem feitos vídeos como [esse](https://youtu.be/B0uHjMzveHo?si=gn3uwW2kD9M6zScY).
Para já deixar claro minha posição, eu *confio* nas urnas eletrônicas, mas você que desconfia, fica aqui, não sai ainda não. Você vai ver que poderá ter um papel importante no que faremos.
# Objetivo
Com isso, eu pensei em criar uma plataforma na qual vamos poder fazer a auditoria das urnas eletrônicas.
## Mas como isso funciona?
A ideia inicial é, nós deixarmos com que os usuários consigam fazer uploads das fotos dos *Boletins de urna*, que são impressos no final das eleições. (Não sabe o que é boletim de urna? Vê o vídeo que indiquei ali em cima).
A partir dessa informação, nosso sistema deve fazer o seguinte:
- Ler os dados do boletim usando OCR
- Possibilitar que as pessoas possam validar os dados do boletim.
- Possibilitar que uma equipe interna audite os dados dos boletins.
- Guardar os dados do boletim em um banco de dados
- Fazer a apuração dos dados dos boletins de urna
Isso no primeiro momento, depois que o TSE (Tribunal Superior Eleitoral) começar a disponibilizar os dados de apuração das urnas, ainda podemos fazer
- Comparação individual, urna a urna dos dados coletados pelos boletins e publicados pelo TSE
- Apontamentos de divergências, poderemos apontar erros de contagens de votos, caso existam.
Com isso, esse sistema pode servir como prova de que as urnas eleitorais são auditáveis e seguras, mas, também pode provar que o sistema é corrupto e que existe sim fraude nas urnas eletrônicas. Tudo dependerá dos resultados das comparações dos dados dos boletins de urna com os do TSE.
Nessa issue vocês vão poder entender sobre o que é o projeto e se você tem interesse em participar.
Então, entra lá, comenta e vamos juntos fazer esse projeto dar certo!
Algumas informações de como é a auditoria
Devido à um comentário apagado sumiram diversas informações que sei sobre a auditoria aqui, deixarei meu comentário original sem identificar o autor:
como é feita essa auditoria?
Aí você vai ter que pesquisar melhor, são várias etapas e não entendo a complexidade toda. não irei fazer uma pesquisa profunda apenas para responder aqui. Apenas explicar alguns fatos:
os envolvidos dos partidos têm conhecimento técnico suficiente pra entender oq esta sendo feito?
Sim, os partidos podem levar qualquer pessoa para avaliar, tem um grupo limitado de pessoas que pode ter acesso ao código mas pode ter certeza que pelo interesse tem especialistas que entendem o que está sendo feito em cada linha.
porque é fácil eu mostrar que um sistema funciona perfeitamente bem pra uma sala cheia de gente com conhecimento limitado sobre o assunto, na visão deles vai ser algo lindo e sem erros.
E não, não é apenas uma apresentação de slides, são realmente expecialistas em programação com acesso ao código fonte em sua totalidade.
se existe fraude até em código livre, repositórios públicos, pacotes npm com código malicioso injetado,
Você realmente acha que o processo de auditoria é o mesmo? o código do linux teria tempo hábil para ficar MESES em auditoria a cada nova versão? Você realmente acha que uma empresa séria como grandes bancos usariam um pacote npm sem antes garantir que não possui nenhuma vulnerabilidade?
A confiabilidade do código está em quem audita, e a maioria dos codigos sequer auditada é, o dev inclui um monte de lib sem saber realmente como foram feitas.
ingenuidade acreditar na idoneidade de algo que só é acessível de fato pra algumas seletas pessoas internas do órgão público.
E como já falei, não é tão seleto como você imagina, se você mesmo quiser ver o código pode se inscrever como consultor técnico por algum partido.
sobre o código fonte estar exposto pra qualquer um auditar: oq me garante que o código exposto é o mesmo injetado na urna? tem algum processo de auditoria pra isso também?
Sim, tem uma auditoria para garantir que o código é o mesmo, não lembro qual é o processo mas tem sim
Também há algum processo de sessão aberta para auditar urnas aleatóriamente. Em uma certa quantidade de sessões há voluntários que se incervem para um processo que decorre assim:
- Uma urna é escolhida de forma aleatória, acredito ser um tipo de sorteio auditado na companhia de representantes de partido.
- Essa urna é colocada em uma sala onde todos os votantes voluntários declaram o voto e votam na urna na frente de todos.
- é comparado o voto de cada votante com a zerézima.
Por ser escolhidas de forma aleatória essas urnas de voto aberto deveriam ter um mecanismo de segurança para a fraude acontecer apenas nas outras, como o código realmente ia saber se ela foi escolhida após lacrada?
sobre meios melhores de voto: não descarto o meio eletrônico, mas existem tecnologias que permitem uma auditoria contra modificações antes, durante e depois das votações. blockchain é um ótimo exemplo disso, transações sendo feitas de maneira definitiva com total transparência e possibilidade de anonimato sem interferir na inviolabilidade dos dados.
Qual seria a diferença? o que garante que a "blockchain" não seria alterada? como você auditaria o voto anônimo?
A sua solução sofre dos mesmos questionamentos da urna atual porém com algumas tecnologias "hype". não soluciona o problema
Não conheço uma pessoa que pede que o código seja aberto e teria realmente conhecimento para auditar esse código. até porque se realmente tivesse conhecimento poderia se onscrever como consultor técnico de um partido e realmente ter acesso ao código.
Antes de continuar questionando sugiro pesquisar no site do TSE qualquer informação sobre como funciona o processo, entender realmente todas as etapas, verificar se os partidos tão realmente envolvidos e consultar a opinião desses partidos.
Se fosse tão frágil esse processo como está sendo divulgado ultimamente não teríamos uma discussão muito maior em cima da urna? Todas as discussões foram isoladadas ou por pessoas que não entendem como o processo é feito.
E lembre-se, na urna são votados políticos de esquerda, direita, progressistas, conservadores em qualquer percentual desses 4 eixos. Questione quando apenas uma pequena faixa fale algum assunto. Te fazer duvidar também é uma estratégia política.
Disclaimer
Se não ficou claro:
Não estou dizendo que a urna é a prova de falhas e inquestionável
Estou dizendo que ainda não temos uma alternativa melhor, seja digital ou analógica
Eu costumo evitar este assunto por aqui, pois normalmente envolve muita paixão e pouco raciocínio.
Mas não tem como não citar que o código fonte da urna está disponível para inspeção desde outubro do ano passado. Qualquer pessoa ou associação pode ir até o TSE, solicitar e revisar o código.
Até hoje, apenas o União Brasil e a Sociedade de Computação do Brasil se interessaram em revisar o código, e pelo que consta, não encontraram qualquer falha. Nemhum dos partidos, politicos e "especialistas" que alegaram problemas nas eleições de 2022 sequer compareceram para comprovar suas teorias.
Isso é importante, porque logo mais teremos eleições e mais uma vez os perdedores vão alegar que "há algo errado no sistema", para manter suas bolhas fiéis contra o "inimigo".
Enfim, muita paixão e pouca inteligência. Por isso desvio desses assuntos.
Dá uma olhada nesse repo github(https://github.com/lucas-daniel-sm/verificador_boletim_urna) Esse git é de um projetinho que trabalhamos que ja faz boa parte do que precisa não tá finalizado mas já ajuda, se ajudar dê uma estrelinha.
Esquecendo completamente a parte política disso, acho que posso te dar um auxiliar um pouquinho, trabalho como dev na prefeitura da minha cidade, um dia foram fazer eleição do conselho tutelar e o TSE cedeu algumas urnas na mesma semana que ia ser a votação e pediram para fazermos um 'app' pra fazer a leitura dos boletins e dar o resultado da eleição já que o TSE não cedeu o sistema só as urnas que emitiam o boletim.
Não precisa de OCR(inclusive é inviável tem boletim que dá metros) o boletim tem alguns qrcodes com todas as informações nele mesmo, dependendo da quantidade de candidatos eles são divididos em vários QR para caber os dados e cada qr tem identificador da urna e da parte então são únicos, do QR sai uma estrutura propria mas bem simples de entender tem manual pra isso na internet só pesquisar 'manual boletim urna' o proprio TSE que divulga pra incentivar mesmo esse tipo de projeto.
Agora um pouquinho mais da história... Pegamos esse pedido as 15 da tarde as 17 ja tinhamos algo que a gente copiava os dados lidos do QR e transformava em algo legivel e ja ia somando, utilizamos o chat gpt mesmo pra ajudar fazer rápido isso foi na quinta, a eleição ia ser no sabado, depois que eu e o estagiário(um prodigio) conseguimos isso passei pra ele e falamos "Tenta fazer ai um app simples pra processar isso" (ele ja tinha um pouco de experiencia criando apps) ele adorou a ideia e no outro dia chegou com um app pronto com um webservice e esse repo que mandei no inicio ai é dele mesmo.
Amigo, um especialista em segurança da informação BOLSONARISTA, fez um vídeo defendendo a urna eletrônica alegando sua segurança e sigilo no voto. Dá uma verificada aqui
Acredito que seja uma ideia interessante considerar que a urna eletrônica, devido à avançada tecnologia por trás dela, não seja facilmente passível de fraudes. No entanto, é importante destacar que a questão das fraudes nas eleições não está exclusivamente relacionada às urnas em si, mas sim às seções eleitorais.
Ao afirmar isso, não estou necessariamente descartando a possibilidade de fraudes, mas enfatizando que a abordagem para aprimorar a integridade do processo eleitoral deve incluir medidas específicas nas seções eleitorais. Acredito que uma proposta que facilite a detecção de fraudes em seções específicas poderia contribuir significativamente para garantir a transparência e legitimidade do sistema eleitoral como um todo.
Deixo aqui um video do Peter do canal ANCAPSUL no qual ele acaba tirando algumas duvidas sobre as urnas: https://youtu.be/3nhOn2mqrc4?si=KPZ7dp50AkKAE6GH
Na posição de desenvolvedores é bem dificil dizer que existe algo que pode ser burlado ou não e entender 100% do processo, mesmo com todos os processos conhecidos pode ser desafiador. Pode ser melhor, claro que pode. Infelizmente tem as questões políticas que podem se tornar mais relevantes que as questões técnicas. Nos resta ficar com as questões técnicas e propor alternativas. E não faltam desafios, ainda mais em um país em que a internet não chega para todos, os meios de deslocamento são no mínimo bizarros entre tantas as direções a serem abordadas. Enfim, será que o que temos é a respota menos "ruim" diante de todos os nossos cenários? Pra pensar e muito.
Essa sua ideia é muito interessante, eu realmente acho que você deveria levar isso adiante. Porém, se a sua ideia for realmente abraçada(coisa que deveria) e houver algum erro interno e isso prejudicar a validação dos votos corretamente, as pessoas que já eram muito amorosas por partidos politicos, terão ainda mais motivos para desacreditar da confiança das urnas e até cometer atos indevidos. O processo de desenvolvimento terá de ser seguro e possivelmente sofrer auditorias também.