Export Ready — 

Developing secure voting systems using Blockchain

Bibliographic Details
Main Author: Consciência, Hugo Manuel dos Santos da Silva
Publication Date: 2024
Format: Master thesis
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/10400.5/96440
Summary: Tese de Mestrado, Engenharia Informática, 2024, Universidade de Lisboa, Faculdade de Ciências
id RCAP_366bf73c279f67b53bd0ba43916e140e
oai_identifier_str oai:repositorio.ulisboa.pt:10400.5/96440
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Developing secure voting systems using BlockchainSistemas VotaçãoBlockchainSmart ContractSegurançaVotação EletrónicaTeses de mestrado - 2024Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaTese de Mestrado, Engenharia Informática, 2024, Universidade de Lisboa, Faculdade de CiênciasA votação é um dos mecanismos fundamentais pelos quais um grupo, como uma assembleia ou um eleitorado, se reúne com o propósito de tomar uma decisão coletiva ou expressar uma opinião, geralmente após discussões, debates ou campanhas eleitorais. É uma peça fundamental da governança democrática, garantindo que a vontade do povo é refletida e levada em consideração na seleção de líderes ou na tomada de decisões importantes. A votação foi utilizada ao longo da história, desde a Grécia e Roma antigas aos tempos medievais para selecionar governantes. Ao longo do tempo, o conceito de votação permaneceu amplamente inalterado, servindo como um meio para juntar opiniões individuais em decisões coletivas. No entanto, os sistemas de votação utilizados evoluíram, dando origem a vários sistemas que diferem com base em contextos culturais, tecnológicos e políticos. Os sistemas de votação são assim um dos principais instrumentos de uma democracia representativa, funcionando como o principal mecanismo pelo qual os cidadãos podem expressar as suas opiniões e participar ativamente na escolha dos seus representantes ou líderes. Estes sistemas garantem assim que a vontade dos eleitores seja refletida nas decisões, o que é crucial para a legitimidade e estabilidade de qualquer organização democrática. Nos últimos anos, os sistemas de votação em papel, maioritariamente utilizados, têm sido cada vez mais criticados pelas suas vulnerabilidades, nomeadamente, fraudes, ineficiências e falta de transparência. A estes problemas, podemos ainda adicionar as dificuldades nas contagens de votos e a lentidão nos processos de verificação, sendo todos estes problemas que circunstâncias que afetam a confiança pública nos processos eleitorais. Estas preocupações levaram a um grande aumento do interesse em explorar novas tecnologias, de forma a criar ou aprimorar os vários sistemas de votação, tornando-os mais seguros, transparentes e eficientes. A tecnologia blockchain surge então como uma solução promissora, atendendo às suas características únicas como a descentralização, imutabilidade e transparência, levando desta maneira muitos a considerar a sua aplicação em sistemas de votação. Porém, antes de explorarmos a tecnologia blockchain, foi necessário analisarmos e avaliarmos os sistemas de votação existentes. No nosso caso, decidimos avaliar e analisar três sistemas de votação distintos (Portugal, Brasil, e Sporting CP), dividindo-os em cinco fases diferentes: Inicialização, Identificação, Votação, Contagem, e Resultados. Com esta divisão foi possível analisar os três sistemas em diferentes fases e encontrar os possíveis problemas associados ao sistema de votação utilizado. Para além disso, decidimos avaliar as diferentes fases de cada sistema de votação com base em propriedades de segurança importantes como a auditoria, eleitor verificável, voto mutável, integridade, privacidade, confidencialidade, imparcialidade, eligibilidade, transparência, e impossibilidade da prova de voto. Várias abordagens foram propostas e desenvolvidas para implementar sistemas de votação com base na blockchain, cada uma com as suas características e vantagens únicas. Benabdallah forneceu-nos uma visão geral de várias soluções inovadoras de e-voting com base na blockchain. Uma dessas soluções foi proposta por Hardwick, que apresentou um sistema de votação eletrónico com base na blockchain em Ethereum, oferecendo vantagens como a descentralização e desvantagens como escalabilidade. Outra proposta interessante foi apresentada por David Khoury, que utilizou a plataforma Ethereum para autenticar eleitores através de números de telefone sem a necessidade de um servidor de terceiros. Já Bin Yu propôs um sistema de votação com base em blockchain no Hyperledger Fabric, utilizando o algoritmo de consenso PBFT e técnicas criptográficas de forma a garantir a integridade e anonimato dos votos, destacando-se ainda pela sua escalabilidade alta. Em contraste, Bartolucci sugeriu o uso da Bitcoin como base de uma solução de e-voting, embora esta tivesse bastante limitações em relação a algumas propriedades de segurança. Por outro lado, na proposta de Ali Al-madani e Hossain Faruk foram utilizadas tecnologias como Ethereum e Hyperledger Fabric para criar sistemas descentralizados, sistemas estes que garantem várias propriedades de segurança como a privacidade, auditoria e elegibilidade através de smart contracts e técnicas biométricas de autenticação. Depois de avaliarmos os diferentes sistemas de votação e estudarmos as soluções propostas na literatura, começámos então a explorar o uso da blockchain para melhorar a eficiência e a segurança nos sistemas eleitorais, com um foco específico nos sistemas de votação em papel. De forma aproveitar as várias propriedades da blockchain, como a descentralização e imutabiliade, desenvolvemos um sistema que assegura a verificabilidade e a integridade dos votos, com foco nas eleições locais, reduzindo custos e melhorando a eficiência geral do sistema. Para criar a nossa blockchain privada, utilizámos o Hyperledger Besu (que é um cliente de Ethereum projetado para facilitar o uso de redes privadas de blockchain) e o Docker (que é um software usado para criar containers virtuais) de forma a rapidamente montar o ambiente da nossa blockchain, sendo que estas plataformas oferecem-nos as melhores condições e orientação para implementar a nossa solução. Além disso, também estudámos os vários algoritmos de consensus oferecidos pelo Hyperledger Besu, tendo em conta várias propriedades diferentes (como finalidade imediata, número mínimo de validadores, vivacidade, e velocidade) e concluímos que o algoritmo QBFT seria a melhor escolha (algoritmo este que também é recomendado pelo próprio Hyperledger Besu). De maneira a melhorar a confidencialidade da nossa solução, decidimos utilizar uma Proxy, permitindo que a escolha do eleitor esteja separada da sua identificação (tornando assim impossível fazer qualquer ligação entre o voto e o eleitor). Esta foi uma peça-chave na nossa abordagem, diferenciando-nos das outras soluções e assegurando assim o anonimato do eleitor. Através da implementação de smart contracts na nossa blockchain privada, foi possível implementar o processo de identificação e autorização do eleitor, e ao mesmo tempo o registo e contagem dos votos, reduzindo também risco de fraude Apesar das várias vantagens promissoras, desafios como escalabilidade e outras propriedades de segurança são discutidas e analisadas. Para implementar a lógica do nosso sistema de votação, utilizámos scripts Node.js, tendo em conta as várias fases do processo (Inicialização, Votação, Contagem). Para avaliar e testar o desempenho da solução proposta, simulámos uma carga de trabalho de 500 votos e votadores eligíveis, sendo estes automaticamente enviados para o sistema de votação. Desta forma, foi possível obter os tempos de execução das várias fases do sistema e testar a rede blockchain com votos reais, esta que acabou por apresentar bons tempos de execução. Além disso, também analisámos o desempenho dos diferentes algoritmos de consenso disponibilizados pelo Hyperledger Besu, tendo ainda em conta diferentes métricas de desempenho. Em conclusão, os resultados desta dissertação demonstram que a tecnologia blockchain pode oferecer bastantes melhorias tanto na segurança como na eficiência dos sistemas de votação, reduzindo custos e facilitando a sua implementação, sem prejuizo, naturalmente, da permanência de alguns desafios. Uma adoção bem sucedida da tecnologia blockchain pode, sem dúvida, transformar os sistemas de votação, tornando-os mais seguros e transparentes.The voting systems are one of the most fundamental elements of a representative democracy, serving as the primary mechanism through which people express their opinions. In recent years, concerns about the security and efficiency of the existing voting systems have surged, prompting a growing interest in exploring innovative technologies to make more secure, transparent and efficient voting systems. The recent growth in interest in blockchain technology has led many to consider its application in voting systems. In this thesis, we explore the potential of blockchain to improve the overall efficiency and security of the electoral processes, specifically focusing on local elections and paper-based election systems. By leveraging the decentralized and tamper-proof properties of blockchain, we developed a system that ensures the verifiability and integrity of votes, while also reducing costs and improving the systems overall efficiency. Through the implementation of smart contracts in our private Ethereum blockchain, the process includes voter authentication, secure ballot casting and vote counting, reducing the risk of fraud. Despite promising advantages, challenges such as scalability and other security properties are discussed and examined. We evaluated the proposed model performance, with a workload of 500 eligible voters, and analyzed multiple execution times across different stages of the system, while also analysing the performance of the multiple consensus algorithms provided by Hyperledger Besu.Cogo, Vinicius VielmoCoutinho, DinoRepositório da Universidade de LisboaConsciência, Hugo Manuel dos Santos da Silva202420242025-10-30T00:00:00Z2024-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.5/96440enginfo:eu-repo/semantics/embargoedAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-03-17T16:30:14Zoai:repositorio.ulisboa.pt:10400.5/96440Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-29T04:17:28.925282Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Developing secure voting systems using Blockchain
title Developing secure voting systems using Blockchain
spellingShingle Developing secure voting systems using Blockchain
Consciência, Hugo Manuel dos Santos da Silva
Sistemas Votação
Blockchain
Smart Contract
Segurança
Votação Eletrónica
Teses de mestrado - 2024
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Developing secure voting systems using Blockchain
title_full Developing secure voting systems using Blockchain
title_fullStr Developing secure voting systems using Blockchain
title_full_unstemmed Developing secure voting systems using Blockchain
title_sort Developing secure voting systems using Blockchain
author Consciência, Hugo Manuel dos Santos da Silva
author_facet Consciência, Hugo Manuel dos Santos da Silva
author_role author
dc.contributor.none.fl_str_mv Cogo, Vinicius Vielmo
Coutinho, Dino
Repositório da Universidade de Lisboa
dc.contributor.author.fl_str_mv Consciência, Hugo Manuel dos Santos da Silva
dc.subject.por.fl_str_mv Sistemas Votação
Blockchain
Smart Contract
Segurança
Votação Eletrónica
Teses de mestrado - 2024
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Sistemas Votação
Blockchain
Smart Contract
Segurança
Votação Eletrónica
Teses de mestrado - 2024
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Tese de Mestrado, Engenharia Informática, 2024, Universidade de Lisboa, Faculdade de Ciências
publishDate 2024
dc.date.none.fl_str_mv 2024
2024
2024-01-01T00:00:00Z
2025-10-30T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10400.5/96440
url http://hdl.handle.net/10400.5/96440
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/embargoedAccess
eu_rights_str_mv embargoedAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833602006799876096