Utilizando o protocolo Bitcoin para condução de computações multilaterais seguras e justas

Detalhes bibliográficos
Ano de defesa: 2016
Autor(a) principal: OLIVEIRA FILHO, Márcio Barbosa de
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://repositorio.ufpe.br/handle/123456789/17143
Resumo: Suponha que dois milionários desejam descobrir quem é o mais rico sem que, para isso, um descubra o valor da fortuna do outro. Esse problema pode ser facilmente resolvido se ambos concordarem sobre um juiz a quem eles possam confiar a tarefa de calcular a resposta sem quebrar a privacidade de nenhum dos dois. O desafio, no entanto, é substituir esse juiz por uma interação multilateral, ou protocolo, que alcance o mesmo grau de segurança. Isso significa conduzir uma computação multilateral segura. Esse exemplo é conhecido como o problema dos milionários de Yao e foi proposto por Andrew Yao em um dos primeiros esforços para desenvolver uma forma geral de se conduzir computações multilaterais seguras. Desde lá, na década de 1980, vários avanços foram feitos nesse sentido e, hoje, já é um resultado bem estabelecido que qualquer função multilateral pode ser computada de maneira segura. Esse importante resultado, no entanto, vem com uma importante ressalva: a justiça não pode ser alcançada de maneira geral. Entende-se por justiça a garantia de que, no final de uma computação, ou todos os participantes recebem suas respostas ou nenhum deles recebe. Motivadas por esse resultado de impossibilidade, várias definições alternativas de justiça foram concebidas. Uma delas considera uma computação como sendo justa se os participantes que agirem desonestamente forem monetariamente penalizados. Ou seja, se alguns participantes receberem o resultado da computação e privarem os demais de receberem, então esse conluio é penalizado e os demais participantes, compensados. Com essa definição, uma computação justa pode ser vista como o cumprimento de um contrato, no qual cada participante se compromete a agir honestamente ou a pagar uma multa. Sob essa perspectiva, trabalhos recentes mostram como criptomoedas podem ser utilizadas para escrever esses contratos e, portanto, servir para condução de computações multilaterais seguras e monetariamente justas. Uma criptomoeda é um sistema monetário que se baseia em princípios criptográficos para alcançar segurança e controlar a taxa de emissão de novas moedas. O Bitcoin, criado em 2008 por Satoshi Nakamoto, foi a primeira realização dessa ideia. Ele se baseia em uma estrutura de dados pública chamada blockchain, que armazena o histórico de todas as transações já realizadas. A segurança da blockchain, incluindo sua não-maleabilidade, é garantida pela dificuldade da prova de trabalho exigida para que novas informações sejam adicionadas nessa estrutura. Cada transferência de moedas no Bitcoin é feita de maneira que um usuário só pode recebê-las mediante a apresentação de uma entrada que satisfaça um script especificado pelo remetente. Contratos escritos através desses scripts se fazem cumprir sem a necessidade de intervenção de uma parte confiável externa. Essa característica é o que faz o Bitcoin ser adequado e atrativo para se conferir justiça para computações multilaterais seguras. Um dos nossos objetivos neste trabalho é a realização de um estudo sobre os resultados que permitem a computação segura de uma função qualquer e dos que estabelecem a impossibilidade de se alcançar justiça de maneira geral. Tentaremos manter o rigor matemático para evitar uma apresentação estritamente panorâmica. Além disso, analisaremos criticamente uma construção proposta para utilizar o Bitcoin como plataforma para condução de computações multilaterais seguras e justas. Por fim, a partir dos pontos positivos e negativos levantados, apresentaremos uma proposta nossa com a mesma finalidade.
id UFPE_2f47860d6a8ada3cc5a99751516ae445
oai_identifier_str oai:repositorio.ufpe.br:123456789/17143
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str
spelling Utilizando o protocolo Bitcoin para condução de computações multilaterais seguras e justasComputação Multilateral Segura. Computação Justa. Bitcoin. Criptomoeda. Blockchain. CriptografiaSecure Multiparty Computation. Fair Computations. Bitcoin. Cryptocoin. Blockchain. CryptographySuponha que dois milionários desejam descobrir quem é o mais rico sem que, para isso, um descubra o valor da fortuna do outro. Esse problema pode ser facilmente resolvido se ambos concordarem sobre um juiz a quem eles possam confiar a tarefa de calcular a resposta sem quebrar a privacidade de nenhum dos dois. O desafio, no entanto, é substituir esse juiz por uma interação multilateral, ou protocolo, que alcance o mesmo grau de segurança. Isso significa conduzir uma computação multilateral segura. Esse exemplo é conhecido como o problema dos milionários de Yao e foi proposto por Andrew Yao em um dos primeiros esforços para desenvolver uma forma geral de se conduzir computações multilaterais seguras. Desde lá, na década de 1980, vários avanços foram feitos nesse sentido e, hoje, já é um resultado bem estabelecido que qualquer função multilateral pode ser computada de maneira segura. Esse importante resultado, no entanto, vem com uma importante ressalva: a justiça não pode ser alcançada de maneira geral. Entende-se por justiça a garantia de que, no final de uma computação, ou todos os participantes recebem suas respostas ou nenhum deles recebe. Motivadas por esse resultado de impossibilidade, várias definições alternativas de justiça foram concebidas. Uma delas considera uma computação como sendo justa se os participantes que agirem desonestamente forem monetariamente penalizados. Ou seja, se alguns participantes receberem o resultado da computação e privarem os demais de receberem, então esse conluio é penalizado e os demais participantes, compensados. Com essa definição, uma computação justa pode ser vista como o cumprimento de um contrato, no qual cada participante se compromete a agir honestamente ou a pagar uma multa. Sob essa perspectiva, trabalhos recentes mostram como criptomoedas podem ser utilizadas para escrever esses contratos e, portanto, servir para condução de computações multilaterais seguras e monetariamente justas. Uma criptomoeda é um sistema monetário que se baseia em princípios criptográficos para alcançar segurança e controlar a taxa de emissão de novas moedas. O Bitcoin, criado em 2008 por Satoshi Nakamoto, foi a primeira realização dessa ideia. Ele se baseia em uma estrutura de dados pública chamada blockchain, que armazena o histórico de todas as transações já realizadas. A segurança da blockchain, incluindo sua não-maleabilidade, é garantida pela dificuldade da prova de trabalho exigida para que novas informações sejam adicionadas nessa estrutura. Cada transferência de moedas no Bitcoin é feita de maneira que um usuário só pode recebê-las mediante a apresentação de uma entrada que satisfaça um script especificado pelo remetente. Contratos escritos através desses scripts se fazem cumprir sem a necessidade de intervenção de uma parte confiável externa. Essa característica é o que faz o Bitcoin ser adequado e atrativo para se conferir justiça para computações multilaterais seguras. Um dos nossos objetivos neste trabalho é a realização de um estudo sobre os resultados que permitem a computação segura de uma função qualquer e dos que estabelecem a impossibilidade de se alcançar justiça de maneira geral. Tentaremos manter o rigor matemático para evitar uma apresentação estritamente panorâmica. Além disso, analisaremos criticamente uma construção proposta para utilizar o Bitcoin como plataforma para condução de computações multilaterais seguras e justas. Por fim, a partir dos pontos positivos e negativos levantados, apresentaremos uma proposta nossa com a mesma finalidade.Suppose that two millionaires want to find out which one is the richest, but without revealing how much their fortunes are worth in the process. This problem can be easily solved if they trust a judge to compute the desired answer without compromising their privacy. The challenge, however, is to replace such a judge by a multiparty interaction, or protocol, that achieves the same level of security. That is, the challenge is to carry out a secure multiparty computation. The previous example is known as Yao’s millionaires’ problem and was stated by Andrew Yao in one of the first efforts to develop a general algorithm to carry out secure multiparty computations. Since then, in the 1980s, several advances were made to achieve this goal and, nowadays, it is a well-established result that any multiparty function can be securely computed. This important result, however, comes with an important restriction: fairness cannot be achieved in general. Fairness is the guarantee that, at the end of a computation, either all parties receive their outputs or none of them does. Motivated by this impossibility, several alternative definitions of fairness have been proposed. One of them considers a computation to be fair if the dishonest parties are monetarily penalized and the honest ones are monetarily compensated. According to this definition, a fair computation can be viewed as the enforcement of a contract, in which the parties agree on paying a penalty if they misbehave. Recent works have shown how cryptocoins can be used to write those contracts and, therefore, to be used for carrying out secure and monetarily fair multiparty computations. A cryptocoin is a monetary system that relies on cryptographic principles for achieving security and controlling the coin issuing rate. Bitcoin, created in 2008 by Satoshi Nakamoto, was the first practical realization of this idea. In its core, there is a publicly maintained data structure called blockchain, which works as a ledger and stores every transaction ever made. The security of the blockchain, including its non-malleability, is guaranteed by the difficulty of the proof of work required to add new data to it. A Bitcoin transaction can only be redeemed by a user that presents an input satisfying a script specified by the issuer of the transaction. Contracts written on these scripts are enforced without an external trusted third-party to intervene. This makes Bitcoin suitable and interesting to confer monetary fairness to multiparty computations. One of the goals of this work is to present the results that allow any function to be securely computed and the ones that show the impossibility of achieving fairness in general. We will try to present these results with the appropriate mathematical rigor to avoid giving just an overview of them. We will also analyze a recently proposed construction that uses Bitcoin as a platform to carry out fair multiparty computations. Finally, based on its positive and negative points, we will propose a construction with the same goal.Universidade Federal de PernambucoUFPEBrasilPrograma de Pos Graduacao em Ciencia da ComputacaoOLIVEIRA, Anjolina Grisi deQUEIROZ, Ruy J. Guerra B. DeOLIVEIRA FILHO, Márcio Barbosa de2016-06-22T17:04:20Z2016-06-22T17:04:20Z2016-02-02info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://repositorio.ufpe.br/handle/123456789/17143ark:/64986/001300000njh2porAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPE2019-10-25T06:01:27Zoai:repositorio.ufpe.br:123456789/17143Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T06:01:27Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.none.fl_str_mv Utilizando o protocolo Bitcoin para condução de computações multilaterais seguras e justas
title Utilizando o protocolo Bitcoin para condução de computações multilaterais seguras e justas
spellingShingle Utilizando o protocolo Bitcoin para condução de computações multilaterais seguras e justas
OLIVEIRA FILHO, Márcio Barbosa de
Computação Multilateral Segura. Computação Justa. Bitcoin. Criptomoeda. Blockchain. Criptografia
Secure Multiparty Computation. Fair Computations. Bitcoin. Cryptocoin. Blockchain. Cryptography
title_short Utilizando o protocolo Bitcoin para condução de computações multilaterais seguras e justas
title_full Utilizando o protocolo Bitcoin para condução de computações multilaterais seguras e justas
title_fullStr Utilizando o protocolo Bitcoin para condução de computações multilaterais seguras e justas
title_full_unstemmed Utilizando o protocolo Bitcoin para condução de computações multilaterais seguras e justas
title_sort Utilizando o protocolo Bitcoin para condução de computações multilaterais seguras e justas
author OLIVEIRA FILHO, Márcio Barbosa de
author_facet OLIVEIRA FILHO, Márcio Barbosa de
author_role author
dc.contributor.none.fl_str_mv OLIVEIRA, Anjolina Grisi de
QUEIROZ, Ruy J. Guerra B. De
dc.contributor.author.fl_str_mv OLIVEIRA FILHO, Márcio Barbosa de
dc.subject.por.fl_str_mv Computação Multilateral Segura. Computação Justa. Bitcoin. Criptomoeda. Blockchain. Criptografia
Secure Multiparty Computation. Fair Computations. Bitcoin. Cryptocoin. Blockchain. Cryptography
topic Computação Multilateral Segura. Computação Justa. Bitcoin. Criptomoeda. Blockchain. Criptografia
Secure Multiparty Computation. Fair Computations. Bitcoin. Cryptocoin. Blockchain. Cryptography
description Suponha que dois milionários desejam descobrir quem é o mais rico sem que, para isso, um descubra o valor da fortuna do outro. Esse problema pode ser facilmente resolvido se ambos concordarem sobre um juiz a quem eles possam confiar a tarefa de calcular a resposta sem quebrar a privacidade de nenhum dos dois. O desafio, no entanto, é substituir esse juiz por uma interação multilateral, ou protocolo, que alcance o mesmo grau de segurança. Isso significa conduzir uma computação multilateral segura. Esse exemplo é conhecido como o problema dos milionários de Yao e foi proposto por Andrew Yao em um dos primeiros esforços para desenvolver uma forma geral de se conduzir computações multilaterais seguras. Desde lá, na década de 1980, vários avanços foram feitos nesse sentido e, hoje, já é um resultado bem estabelecido que qualquer função multilateral pode ser computada de maneira segura. Esse importante resultado, no entanto, vem com uma importante ressalva: a justiça não pode ser alcançada de maneira geral. Entende-se por justiça a garantia de que, no final de uma computação, ou todos os participantes recebem suas respostas ou nenhum deles recebe. Motivadas por esse resultado de impossibilidade, várias definições alternativas de justiça foram concebidas. Uma delas considera uma computação como sendo justa se os participantes que agirem desonestamente forem monetariamente penalizados. Ou seja, se alguns participantes receberem o resultado da computação e privarem os demais de receberem, então esse conluio é penalizado e os demais participantes, compensados. Com essa definição, uma computação justa pode ser vista como o cumprimento de um contrato, no qual cada participante se compromete a agir honestamente ou a pagar uma multa. Sob essa perspectiva, trabalhos recentes mostram como criptomoedas podem ser utilizadas para escrever esses contratos e, portanto, servir para condução de computações multilaterais seguras e monetariamente justas. Uma criptomoeda é um sistema monetário que se baseia em princípios criptográficos para alcançar segurança e controlar a taxa de emissão de novas moedas. O Bitcoin, criado em 2008 por Satoshi Nakamoto, foi a primeira realização dessa ideia. Ele se baseia em uma estrutura de dados pública chamada blockchain, que armazena o histórico de todas as transações já realizadas. A segurança da blockchain, incluindo sua não-maleabilidade, é garantida pela dificuldade da prova de trabalho exigida para que novas informações sejam adicionadas nessa estrutura. Cada transferência de moedas no Bitcoin é feita de maneira que um usuário só pode recebê-las mediante a apresentação de uma entrada que satisfaça um script especificado pelo remetente. Contratos escritos através desses scripts se fazem cumprir sem a necessidade de intervenção de uma parte confiável externa. Essa característica é o que faz o Bitcoin ser adequado e atrativo para se conferir justiça para computações multilaterais seguras. Um dos nossos objetivos neste trabalho é a realização de um estudo sobre os resultados que permitem a computação segura de uma função qualquer e dos que estabelecem a impossibilidade de se alcançar justiça de maneira geral. Tentaremos manter o rigor matemático para evitar uma apresentação estritamente panorâmica. Além disso, analisaremos criticamente uma construção proposta para utilizar o Bitcoin como plataforma para condução de computações multilaterais seguras e justas. Por fim, a partir dos pontos positivos e negativos levantados, apresentaremos uma proposta nossa com a mesma finalidade.
publishDate 2016
dc.date.none.fl_str_mv 2016-06-22T17:04:20Z
2016-06-22T17:04:20Z
2016-02-02
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 https://repositorio.ufpe.br/handle/123456789/17143
dc.identifier.dark.fl_str_mv ark:/64986/001300000njh2
url https://repositorio.ufpe.br/handle/123456789/17143
identifier_str_mv ark:/64986/001300000njh2
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
publisher.none.fl_str_mv Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1846272902244073472