Escolar Documentos
Profissional Documentos
Cultura Documentos
Nome do Curso
Nome do Aluno
Nome do Aluno
Nome do Aluno
Nome do Aluno
This paper aims to study and explain how blockchain technology could best be
used in Brazilian electoral processes. In addition to doing a case study of an
experimental blockchain-based electoral system project and understanding the
operation of the blockchain.
LISTA DE ABREVIATURAS................................................................................6
LISTA DE FIGURAS............................................................................................7
2 BLOCKCHAIN...............................................................................................9
4 CONCLUSÃO..............................................................................................19
REFERÊNCIAS..................................................................................................20
LISTA DE ABREVIATURAS
1
Fonte: SOARES, Rodrigo. Disponível em: <:https://medium.com/rodrigo-
soares/blockchain-visão-arquitetural-4df7363fd42b>. Acesso em: 11 out. 2019.
Elas são utilizadas em organizações governamentais e bancárias, nessa
rede o poder e o controle são distribuídos pelos nós e sua principal
característica é que ninguém é dono da rede.
3.1 Votechain
A plataforma Votechain foi desenvolvida experimentalmente pelo aluno
Thúllio Sousa na Universidade Federal do Rio Grande do Norte como
monografia do curso de Engenharia da Computação.
O sistema foi desenvolvido com ferramentas auxiliares como frameworks
de desenvolvimento web, gerenciadores de tarefas assíncronas, agendadores
automáticos de tarefas e bancos de dados. Cada aplicação possuirá uma série
de funcionalidades distintas, que visam compreender as necessidades de seus
usuários, serão duas aplicações, um cliente e um nó.
O escopo do cliente do Votechain é composto dos seguintes itens:
permitir registro dos eleitores na aplicação e gerar seu par de chaves; permitir
que o eleitor vote em um cargo específico; validar a identidade do eleitor e de
seu voto; gerar assinatura digital para o voto, caso sejam validados os dados
anteriores; enviar número do título de eleitor e assinatura gerada para o
primeiro nó de rede conhecido e disponível; guardar apenas os dados
validados pelo sistema.
Já o escopo do nó do Votechain terá as seguintes funções num cenário
eleitoral: estar sempre disponível à aplicação dos leitores a fim de receber,
validar e guardar os votos; reenviar votos válidos para todos os nós conhecidos
e próximos; minerar os blocos de votos de maneira periódica; criar blocos
novos com os votos que ainda não estão na cadeia; verificar se o nó conhecido
possui uma blockchain mais atualizada que a dele mesmo e agir de acordo
com as possibilidades (a. A blockchain do nó conhecido é válida e possui um
bloco a mais que a sua, nesse caso, deve-se incorporar este último bloco à sua
cópia da blockchain; b. A blockchain do nó conhecido é válida e possui mais de
um bloco a mais que a sua, então deve-se substituir a sua cópia da blockchain
pela do nó conhecido); guardar uma cópia completa da melhor blockchain da
rede.
Para a implementação do sistema foram necessárias duas aplicações de
cliente e quatro aplicações para os nós. Foi utilizado um computador que rodou
uma aplicação cliente na porta 9000 e uma aplicação para os nós na porta
8000; foi utilizada uma segunda máquina para a aplicação dos clientes que foi
executada em um contêiner dedicado à aplicação e mapeada para a porta
9001 da máquina central; foram também utilizadas três máquinas distintas para
a aplicação dos nós, que foram executadas em containers dedicados e
diferentes, onde cada um deles foi mapeado para as portas 8001, 8002 e 8003,
respectivamente, da máquina local. O primeiro passo dessa simulação é o
cadastro do eleitor na aplicação de cliente, em seguida uma urna de eleição
(um dos nós) deve estar disponível para receber os votos do eleitor. No caso
de informações válidas, o título de eleitor e assinatura digital serão enviadas ao
outro nó disponível. Para se adicionar um nó à uma aplicação cliente, esta
verifica se o IP e a porta inseridos, realmente representam um nó. Caso
representem, ainda deve ser conferido se este nó é válido. Durante qualquer
momento do processo eleitoral, é possível visualizar o resultado parcial,
baseando-se nos votos realizados, validados e já minerados, esses votos
estarão disponíveis dentro da lista de blocos do nó e estão acessíveis a partir
de uma aba específica da aplicação.
Após implementação experimental do sistema obteve-se o resultado
considerado satisfatório por ter cumprido as metas de segurança e
auditabilidade.