[pt_BR] Algoritmo Supremo: transparência e justiça

Versão arquivada de artigo publicado no portal JOTA

Algoritmos são rotinas projetadas por um programador que determinam como um computador deve se comportar. Ao contrário da percepção comum, não há nenhuma garantia de que máquinas precisam funcionar como esperado, e seu funcionamento correto depende tanto da habilidade do programador em projetar algoritmos quanto de sua resistência a manipulações externas. Na imensa maioria dos casos, introduzir algoritmos ou computadores não elimina a intervenção humana, mas apenas transfere e amplifica o controle para humanos responsáveis pela implementação e operação do sistema.

Na medida que aspectos tecnológicos controlam e mediam partes cada vez maiores e mais importantes de nossas vidas, nasce o estudo de transparência algorítmica, dedicado a projetar sistemas que fornecem evidências verificáveis de seu funcionamento justo. As aplicaçães são inúmeras e vão desde viés na ordenação dos resultados de busca à mineração de dados para detecção de terroristas entre passageiros de avião. Para dar uma idéia da dificuldade do problema, escrever um programa que verifica se outro programa qualquer sempre funciona corretamente é uma tarefa insolúvel em computação, de forma que outros mecanismos precisam ser utilizados para resolver problemas bem mais específicos.

No país, essa questão já foi levantada inúmeras vezes a respeito das garantias fornecidas pelo sistema de votação eletrônica utilizado em eleições oficiais. Para todos os propósitos práticos, o software de votação é secreto para os próprios eleitores, que terminam obrigados a confiar em seu correto funcionamento. Há um esforço periódico de auditoria por especialistas, mas as condições de trabalho são tão restritas que dificilmente uma equipe qualificada terá possibilidade de examinar uma porção significativa do sistema. Em 2012, liderei a equipe vencedora dos Testes Públicos do Sistema Eletrônico de Votação, ao explorar o comportamento nada imprevisível do mecanismo de embaralhamento para quebrar o sigilo do voto . Desde então, foi introduzido um Termo de Confidencialidade que limita a natureza da informação disseminada publicamente por investigadores participantes. A resistência contra a introdução de um registro físico do voto no sistema de votação demonstra claramente que a relação entre transparência e o Judiciário brasileiro não é das melhores.

A questão entra em pauta novamente com o sistema de distribuição aleatória de processos pelo Supremo Tribunal Federal. É até curioso que novamente a pergunta recaia sobre aleatoriedade! O problema parece muito simples, tal como o de embaralhar votos: basta sortear números de maneira imprevisível dentro de um intervalo, como em uma loteria comum. O problema é que computadores nao são capazes de gerar valores imprevisíveis por si só, mas apenas expandir a imprevisibilidade contida em outra informação (“semente”) por meio de operações aritméticas. A semente deve então ser coletada preferencialmente de um fenômeno físico complexo. Ou seja, as condições iniciais do gerador são fundamentais para determinar se o sorteio pode ser manipulado ou não. As tentativas até agora de explicar como funciona o algoritmo do STF não relevam absolutamente nada de importante, e o problema mora nos detalhes, então resta esperar por uma auditoria séria e com resultados públicos. Mas como provar para um cidadão comum que o sistema correto está realmente em execução em momentos decisivos?

Há algumas soluções promissoras na literatura científica, que envolvem utilizar resultados de loterias múltiplas como semente de um gerador, permitindo que o comportamento correto seja verificado após o fato. A vedete mais recente utiliza blockchains, componentes de moedas eletrônicas como o Bitcoin, para realizar o sorteio de maneira distribuída e verificável. Transparência é um requisito fundamental para garantir o funcionamento correto de um sistema computacional de interesse público, por isso não deixemos que os algoritmos da Justiça faltem justamente com a justiça de seus resultados.

Atualização de 2022: O grupo de pesquisa em criptografia da USP projetou um protocolo dedicado para resolver o problema.