Developing secure voting systems using Blockchain
Main Author: | |
---|---|
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 |