A visão de Design de Mecanismos das Criptomoedas, por Matt Weinberg (CES Summit’19)

[Nota prévia: Não se trata de uma transcrição da conferência mas algumas notas que tirei sobre a mesma que considero relevantes]


Introdução

O foco desta apresentação está no design de protocolos de criptomoedas (criptoativos). Matt Weinberg é professor assistente na Universidade de Princeton, com especialização em Design de Mecanismos.

O objetivo é apresentar desvios que não interferem com o consenso, i.e., situações em que o consenso funciona, mas quem lança o ataque obtém ganhos financeiros (retirados dos outros players).

Esta é uma preocupação de longo prazo, porque é uma ameaça indireta ao consenso.

O objectivo é falar de “desvios” que não interferem no consenso. O consenso ainda vai funcionar, mas quem lança o ataque receberá mais dinheiro que não deveria receber. Essa é uma preocupação de longo prazo, porque é uma ameaça indireta ao consenso, mesmo que o ataque individual não interrompa o consenso imediatamente.

Ataque estratégico

Imagine que está participando de algo como o “Consenso de Nakamoto”. Há algumas coisas que você não pode fazer, como:

  • forjar transações sem quebrar as assinaturas digitais;
  • não pode alterar retroativamente o conteúdo dos blocos sem encontrar colisões nas funções de hash criptográfico.

Apenas usando criptografia, podemos provar que, a menos que você quebre a criptografia, você não pode fazer essas coisas.

NO ENTANTO, usando o Consenso de Nakamoto como exemplo, podem acontecer as seguintes situações:

  1. quando cria um bloco, pode apontar para qualquer bloco que desejar como bloco anterior (não necessariamente à cadeia maior);
  2. pode ocultar blocos;
  3. pode propagá-los seletivamente;
  4. ao incluir transações, não precisa torná-lo um bloco completo; e
  5. pode incluir qualquer conjunto de transações que desejar, não necessariamente por ordem das que pagam melhor. Não é que este seja um problema com o qual precisemos que a criptografia apresente solução (pode inclusive nunca os vir a resolver). Estes não são problemas de criptografia, mas problemas de incentivos. Precisamos incentivar os mineradores a se comportarem de uma certa maneira, mas em última instância, não podemos simplesmente forçá-los a agir da forma que queremos.

Protocolo da cadeia mais longa

No White Paper de Nakamoto, havia alguma intuição de que se todos os mineiros seguissem o protocolo mais longo porque aqui estaria a “verdade”, … então seria seguir o protocolo de cadeia mais longo. Essa é a conclusão razoável que a maioria das pessoas desenhou e acreditou por um longo tempo. Havia até uma análise de passeio aleatório num artigo, que dizia que há uma estratégia específica que não funcionará se você tiver menos do que uma fração da potência computacional. Esse foi a conclusão da Eyal & Sirer 2014 com o qual se fala de ‘selfish mining attack’, em que concluíram que pelo menos 2/3 da rede precisa ser “honesta” para impedir a mineração egoísta, ou seja, uma maioria simples não é suficiente.

Portanto, a ideia principal [selfish mining] é que, quando você cria um bloco, você deve ocultá-lo. Talvez, tenha sorte e conseguir minerar dois blocos de seguida. Assim com 2 blocos, poderá “usá-los” para demonstrar que está na cadeia mais longa e assim cancelar outros blocos criados por mineiros. Na “rodada” seguinte pode acontecer ter azar e não conseguir criar o bloco, mas quando se tem 1/3 do hashrate o ganho esperado será superior à perda esperada. No entanto, a “mineração egoísta” nunca foi detetada no bitcoin, mas foi detetada em altcoins menores.

Porque nunca foi detectado no bitcoin? Uma razão pode ser que nenhum minerador tenha mais de 30% do hashrate, mas pode haver períodos em que isso foi falso para o bitcoin. O melhor palpite do speaker é que a taxa de câmbio entre dólar e bitcoin não é exógena … ou talvez a mineração egoísta prejudique o valor do bitcoin pelo que nunca foi feito.

Fees de transação

É um tópico muito debatido. No caso em que as taxas de transação se tornam dominantes em vez de recompensas em bloco como incentivo, este foi um trabalho de Carlsten / Kalodner / Narayanan 2016. As questões de incentivo são muito mais complexas para as taxas de transação do que as recompensas em bloco. A intuição grosseira é que, quando você é recompensado pelas taxas de transação, é possível que você mine um bloco que não valia tanto, então, se você o explorar, poderá ocultá-lo e tentar “mineração egoísta” porque o custo é baixo. Os incentivos são muito diferentes, e essa é uma das razões.

Conclusões

O facto de estarmos hoje aqui significa que as pessoas entendem que os incentivos são importantes. Estes não devem substituir a análise de sistemas distribuídos clássicos, mas também devemos fazer análises de estilo de design de mecanismo. Nossa comunidade tende-se a concentrar-se em consultoria versus engenharia.

Este tipo de ataque é muito sério e o facto de nunca ter sido efetuado na rede bitcoin não nos pode deixar seguros quando ao risco. Na perspetiva de engenharia existe sempre a tendência para considerar outros tipos de ataques, mas este Ataque Estratégico pode destruir a rede, atirando para fora todos os mineradores sem capacidade financeira para suportar os custos da mineração egoísta.

Está aqui uma excelente explicação sobre o Ataque de Mineração Egoísta, em inglês sorry 🙁

Fonte: Link para o Youtube