Título: Sinergias entre Computação com Dados Privados e Blockchain: Melhorando Escalabilidade e Segurança
Resumo: Protocolos de computação segura de múltiplas partes (MPC) são utilizados por partes sem relações de confiança entre si para computar funções de suas entradas privadas sem revelar nada mais do que a saída, isto é, mantendo as entradas privadas. Por outro lado, protocolos de blockchain são utilizados por partes que querem garantir que suas entradas sejam publicadas de forma imutável. Ainda que as garantias de segurança de MPC e blockchains sejam aparentemente incompatíveis, vamos mostrar como técnicas utilizadas em protocolo de blockchain podem ser utilizadas para melhorar a escalabilidade e segurança de protocolos de MPC. Desde a sua criação nos anos 80, protocolos de MPC vem sendo projetados assumindo que um único conjunto de partes é responsável por executar toda a computação, que involve várias rodadas de interação. Esse paradigma facilita o projeto mas introduz um problema grave de segurança, já que um adversário adaptativo que sabe quais partes estão executando o protocolo pode corrompê-las de forma a quebrar as garantias de segurança. Além disso, em situações onde um conjunto muito grande de partes executa MPC, o fato de que todas as partes devem participar ativamente se traduz em perda de performance. Recentemente, esses dois problemas foram resolvidos utilizando técnicas de protocolos de blockchain. Nesses protocolos, ainda que um grande conjunto de partes seja responsável pela execução, nem todas elas precisam participar ativamente ao mesmo tempo. Os melhores protocolos de blockchain baseados no mecanismo de Proof-of-Stake selecionam aleatoriamente um pequeno comitê de partes anônimas para participar de cada rodada de interação. Utilizando essa ideia no contexto de MPC, se obtém protocolos em que cada rodada de interação é executada por um novo comitê aleatório e anônimo, cujo tamanho é muito menor do que o do conjunto de todas as partes. Uma vantagem imediata dessa abordagem é a melhor eficiência obtida, já que apenas um pequeno número de partes executa cada rodada. O problema de segurança contra adversários adaptativos é também resolvido, já que o adversário não sabe quais partes executam cada rodada, dado que essas partes são selecionadas aleatoriamente e permanecem anônimas. Porém, essa abordagem cria novas dificuldades no projeto de protocolos de MPC e também no estabelecimento de canais de comunicação. Como podemos utilizar técnicas clássicas de MPC quando as partes que executam o protocolo mudam de forma aleatória depois de cada rodada? Como podemos transmitir mensagens para uma parte anônima e aleatória de forma segura? Vamos apresentar novos resultados que respondem a essas perguntas, bem como discutir possíveis melhorias para essas soluções.
Biografia: Bernardo David é Professor Associado na IT University of Copenhagen, once trabalha com protocolos criptográficos para computação segura de múltiplas partes e blockchains. Sua pesquisa é financiada por Concordium Foundation, Independent Research Fund Denmark and Protocol Labs entre outras entidades. Ele obteve seu título de doutorado na Aarhus University e foi Professor Assistente no Tokyo Institute of Technology, onde sua pesquisa foi financiada pela JSPS. Bernardo publicou mais de 40 artigos científicos, entre eles o primeiro protocolo de blockchain baseado em Proof-of-Stake com segurança demonstrável. Além de suas atividades acadêmicas, ele também trabalhou como consultor para vários projetos comerciais de criptografia e segurança da informação, como as plataformas Cardano e Concordium