Building a confidential cryptocurrency

Detalhes bibliográficos
Autor(a) principal: Freitas, Gabriel Jan Cholewinski
Data de Publicação: 2022
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10451/57662
Resumo: Tese de Mestrado, Segurança Informática, 2022, Universidade de Lisboa, Faculdade de Ciências
id RCAP_f213c28c280b44807828b522a0cd96b4
oai_identifier_str oai:repositorio.ul.pt:10451/57662
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Building a confidential cryptocurrencyBlockchainMoeda criptográficaPrivacidadeConfidencialidadeReplicação Máquina de EstadosTeses de mestrado - 2022Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaTese de Mestrado, Segurança Informática, 2022, Universidade de Lisboa, Faculdade de CiênciasAtualmente, vivemos num mundo mais digital onde a Internet faz parte do nosso dia a dia, sendo que usamos sistemas, aplicações e tecnologias criadas sobre a mesma. Não obstante, o mundo é alvo de uma evolução tecnológica constante, onde novas tecnologias são criadas e mudam a perspetiva como damos uso a certas aplicações, como é o caso das blockchains. As Blockchains são uma tecnologia emergente onde a confiança é retirada das entidades centrais e, em vez disso, descentralizada entre uma rede de entidades iguais. A aplicação clássica para construir sobre uma blockchain é uma moeda criptográfica, o que permite aos clientes fazer pagamentos e transferir dinheiro entre si. No entanto, as blockchains geralmente proporcionam um certo grau de privacidade. Trabalhos recentes provaram que os dados de localização pseudónimos armazenados numa blockchain podem tornar vulgar a identificação de um indivíduo. Esta é uma grande preocupação para as blockchains porque os dados persistidos numa blockchain estão abertos ao escrutínio de todos, mesmo daqueles que procuram explorar os dados para obter ganhos financeiros. Além disso, o registo imutável das blockchains agrava este problema. Uma vez persistido um dado individual dentro de uma solução que implemente uma tecnologia como a blockchain, todas as transações que transportam os dados desse indivíduo, por exemplo, dados financeiros, serão expostas como associadas a essa pessoa. Até à data, têm surgido abordagens distintas para enfrentar estas preocupações. Como resposta a este problema, foram criadas soluções para proteger dados financeiros, como moedas privadas que cobrem o anonimato. Algumas delas oferecem total privacidade, a nível de identidade e de transação, e outras propõem uma delas. Contudo, apesar dos avanços recentes relevantes, as moedas privadas existentes não oferecem a quantidade de privacidade adequada e fazem um compromisso crítico entre segurança, confidencialidade e privacidade. Hoje em dia, novas tecnologias que fornecem confidencialidade sobre dados armazenados e dados transacionais têm estado em desenvolvimento e têm sido tidas em conta. Estas tecnologias permitem que as moedas criptográficas armazenem a confidencialidade dos dados considerados como garantidos e permitem o anonimato tanto sobre as identidades envolvidas numa transação, como sobre a confidencialidade dos dados da transação. Tecnologias de exemplo reconhecidas são o COBRA, um esquema de ”secret sharing”, e o sistema Paillier, um esquema de cifra homomórfica. Neste trabalho, estudamos em profundidade diferentes moedas privadas e novas tecnologias, com a intenção de conhecer e explorar a sua aplicação ao problema de oferecer confidencialidade sobre transações e persistência de dados. Com esta informação, conseguimos identificar os pontos fortes e os pontos fracos das criptomoedas privadas existentes, e ao mesmo tempo perceber os diferentes algoritmos e protocolos implementadas pelas mesmas. Além disso, estudámos tecnologias adjacentes que implementam técnicas como a replicação de máquina de estados, secret sharing e cifras homomórficas. Replicação Máquina de Estados tolerante a faltas bizantinas é uma técnica clássica para implementar sistemas tolerantes a faltas distribuídas mesmo quando uma fração das réplicas está sujeita a faltas arbitrárias. Neste tipo de sistema as réplicas executam um protocolo de consenso para concordarem sobre a sequência dos comandos que executam. Secret sharing é um tipo de técnica que protege a confidencialidade dos dados quando os mesmos estão em repouso, através da divisão dos dados em shares (i.e., pedaços), de tal forma que os dados só podem ser recuperados através da combinação de um número mínimo de shares. Cifra Homomórfica é uma forma de cifra que oferece a possibilidade a certos tipos de operações serem realizadas sob dados cifrados, a fim de se obter um resultado cifrado, que é de igual modo fazer a mesma operação sob os dados em claro, obtendo o mesmo resultado cifrado. Nesta dissertação, propomos Nomad, uma moeda criptográfica privada confidencial. Nomad é aplicada através da construção de um sistema de pagamentos confidencial descentralizado, onde os dados financeiros, ou seja, os montantes de transferência (ou seja, moedas) podem ser armazenados com privacidade, reforçando a confidencialidade, o anonimato, a não rastreabilidade, e a integridade como as suas principais prioridades. Para alcançar estas propriedades, Nomad é implementada em cima de COBRA, uma Framework de Replicação Máquina de Estados que preserva a privacidade, que divide os dados em diferentes partes aleatórias para alcançar a confidencialidade nos dados armazenados, e implementa Paillier, um esquema de cifra homomórfica que permite operações em cima de dados cifrados, permitindo a confidencialidade nos dados transacionais. Nomad segue um modelo do tipo permissional, onde clientes e réplicas que necessitam de entrar no sistema, precisam de autorização prévia. Ao contrário de sistemas práticos anteriores, com Nomad a ser implementada seguindo uma abordagem de replicação máquina de estados, o nível de privacidade já é maior comparando com a maioria de outras criptomoedas que têm como objetivo promover a confidencialidade. Isto porque este tipo de moedas são muitas vezes implementadas sob blockchains públicas, em que qualquer entidade tem acesso aos dados da blockchain, podendo ver os mesmos, ou seja, quais transações foram executadas, apesar de serem privados. A inovação que apresentamos em Nomad, é o facto de estar implementada sob um modelo de secret sharing e um algoritmo de cifra homomórfica modificado. No caso do secret sharing, este tipo de técnica é de extrema importância para proteger a informação guardada num sistema replicado, porque nos sistemas tradicionais que seguem uma abordagem de replicação máquina de estados, existem muitas réplicas com os mesmos dados, o que aumenta a superfície de ataque de um agente malicioso caso este queira roubar os dados. O secret sharing permite que Nomad persista em cada réplica, os mesmos dados, mas divididos em partes diferentes. No caso da cifra homomórfica, permitimos que Nomad seja o mais confidencial possível, de modo a que todas as operações que envolvam o cálculo de novas moedas ou mesmo a verificação de que determinadas moedas podem ser gastas por um cliente, seja tudo cifrado. Ao implementarmos um algoritmo de cifra homomórfica sob Nomad, qualquer entidade pode ver ou mesmo ter acesso aos dados cifrados, no qual nada vai fazer com os mesmos se não tiver a chave correta para decifrar os dados. Nomad é a primeira criptomoeda privada, tendo como base um sistema de pagamentos decentralizado confidencial, implementada seguindo uma abordagem de replicação máquina de estados, que segue um modelo permissional, com anonimidade, confidencialidade, privacidade, e integridade. Comparando com sistemas anteriores, Nomad tem todas as propriedades que queremos para um tipo de sistema que tenha como objetivo ter confidencialidade e privacidade como principais requisitos. Como resultado do trabalho desenvolvido, qualquer sistema bancário pode adotar esta solução e ser capaz de utilizar a moeda da Nomad. Este projeto também fornece uma visão geral para analisar se a Nomad é segura e escalável. Nesta dissertação avaliámos experimentalmente a solução desenvolvida com o intuito de medir o impacto de integração de um sistema totalmente confidencial sob um sistema de replicação máquina de estados. Os resultados obtidos mostram que o facto de termos implementado Nomad dando à vertente de confidencialidade uma maior atenção do que à vertente de performance, que o sistema é mais lento comparando com sistemas que seguem uma abordam de replicação máquina de estados. Pelo contrário, comparando Nomad com outras criptomoedas privadas, a mesma apresenta um desempenho positivo. Para além disso, a solução foi capaz de alcançar os objetivos esperados, que visa a implementação de um sistema de pagamentos decentralizado confidencial, tendo como base tecnologias inovadoras e únicas.Blockchains are an emerging technology where trust is removed from central entities and instead decentralized among a network of peers. The classical application to build on top of blockchains is a cryptocurrency, allowing clients to make payments and transfer money between each other. However, blockchains usually provide a certain degree of privacy. Recent works have proven that pseudonymous location data stored in a blockchain can make the identification of an individual trivial. This is a big concern for blockchains because blockchain data is open for scrutiny by everyone, even those who are looking to exploit data for financial gain. In addition, the immutable record of the blockchain aggravates this problem. Once an individual data is persisted within a blockchain solution, all of the transactions carrying that individual’s data, for example, financial data, will be exposed as linked to that person. To this day distinct approaches to tackle these concerns have emerged. Naive solutions to protect financial data, like private currencies covering anonymity have been created as an answer to this problem. Some of them offer full privacy, at the identity level and transaction level, and others offer one of them. However, despite relevant recent advances, existing private currencies don’t offer the amount of proper privacy and make a critical trade-off between security, confidentiality, and privacy. Nowadays, new technologies providing confidentiality on top of stored data and transaction data have been under development and taken into account. These technologies allow cryptocurrencies to store data taken confidentiality as guaranteed and allow anonymity on both identities involved in a transaction, as well as confidentiality regarding transaction data. Recognized example technologies are COBRA, a secret sharing scheme, and Paillier cryptosystem, a homomorphic encryption scheme. In this work, we study different private currencies and new technologies in depth, with the intent to know and explore their application to the problem of offering confidentiality on transaction and persisted data. We propose Nomad, a confidential private cryptocurrency. Nomad is enforced by building a confidential decentralized payment system, where financial data, that is, transfer amounts (i.e., coins) can be stored with privacy, enhancing confidentiality, anonymity, untraceability, and integrity as its main priorities. To achieve these properties, Nomad is implemented on top of COBRA, a privacy-preserving State Machine Replication Framework, which splits data into different random shares to achieve confidentiality in stored data, and implements Paillier, a homomorphic encryption scheme that allows operations on top of encrypted data, allowing confidentiality in transactional data. As a result of the work done, any banking system can adopt this solution and be able to use Nomad’s currency.Ferreira, Bernardo Luís da SilvaRepositório da Universidade de LisboaFreitas, Gabriel Jan Cholewinski2023-05-29T16:33:38Z202220222022-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10451/57662enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-08T17:06:28Zoai:repositorio.ul.pt:10451/57662Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T22:08:12.700395Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Building a confidential cryptocurrency
title Building a confidential cryptocurrency
spellingShingle Building a confidential cryptocurrency
Freitas, Gabriel Jan Cholewinski
Blockchain
Moeda criptográfica
Privacidade
Confidencialidade
Replicação Máquina de Estados
Teses de mestrado - 2022
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Building a confidential cryptocurrency
title_full Building a confidential cryptocurrency
title_fullStr Building a confidential cryptocurrency
title_full_unstemmed Building a confidential cryptocurrency
title_sort Building a confidential cryptocurrency
author Freitas, Gabriel Jan Cholewinski
author_facet Freitas, Gabriel Jan Cholewinski
author_role author
dc.contributor.none.fl_str_mv Ferreira, Bernardo Luís da Silva
Repositório da Universidade de Lisboa
dc.contributor.author.fl_str_mv Freitas, Gabriel Jan Cholewinski
dc.subject.por.fl_str_mv Blockchain
Moeda criptográfica
Privacidade
Confidencialidade
Replicação Máquina de Estados
Teses de mestrado - 2022
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Blockchain
Moeda criptográfica
Privacidade
Confidencialidade
Replicação Máquina de Estados
Teses de mestrado - 2022
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Tese de Mestrado, Segurança Informática, 2022, Universidade de Lisboa, Faculdade de Ciências
publishDate 2022
dc.date.none.fl_str_mv 2022
2022
2022-01-01T00:00:00Z
2023-05-29T16:33:38Z
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/10451/57662
url http://hdl.handle.net/10451/57662
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799134636371083264