A Cardano está segura contra ataques de ativos falsos (fake stake attacks)

Traduzido de: https://iohk.io/en/blog/posts/2019/01/29/cardano-is-secure-against-fake-stake-attacks/

O design revisado por pares significa que a Ouroboros está livre de um defeito que afeta muitos blockchains em sistema de Prova de Recompensa (Proof-Of-Stake).

ADA não está entre as 26 criptomoedas identificadas por pesquisadores americanos na semana passada como sendo vulnerável a ataques de ativos falsos. 1 (O Blockchain Cardano que sustenta a ADA é baseado em Prova-de-Recompensa, mas seu protocolo Ouroboros não usa qualquer código do bitcoin e não é afetado pelo problema PoSv3)2. Isto não é apenas boa sorte, mas uma consequência de uma posição minuciosa, formalmente-verificada

A vulnerabilidade.

A vulnerabilidade está explicada muito bem no artigo original. A fim de entender por que a Cardano não está afetada por ela, nós vamos resumir a essência da vulnerabilidade aqui.

Todos os sistemas vulneráveis estão usando PoSv3, uma modificação do código de bitcoin que visa substituir o poder de hashing por stake com o propósito de determinar quem esta elegível para criar um bloco. No código original do bitcoin, a decisão de quem vem a criar o próximo bloco é baseado puramente no poder de hashing: quem conseguir encontrar um número aleatório pertinente, e desta maneira conseguir um hash correto primeiramente, vence. PoSv3, no entanto, acrescenta uma variável adicional, para simular a noção de ativos.

No sistema PoS, a probabilidade de chegar a criar um bloco é proporcional a quantos ativos o usuário tem no sistema: quanto mais ativos o usuário tem, mais chances ele tem de vir a criar o próximo bloco. Para mimetizar esta funcionalidade, PoSv3 permite que usuários adicionem informação para o block candidato, na forma de uma “transação de ativos”. Quanto mais tokens eles tiverem disponíveis a usar na transação de ativos, mais fácil será para eles conseguirem um hash correto, e desta maneira ganharem o direito de criar um novo bloco.

Embora o PoSv3 consiga vincular com êxito os direitos de criação de blocos para participação desta maneira, também se faz mais difícil a validação do bloco. Não apenas é necessário verificar o hash de bloco em si (como no bitcoin), como também a transação de ativos de um usuário: é dizer, “O usuário era realmente proprietário dos ativos e utilizou em sua transação de ativos? A fim de verificar esta informação, um nodo de blockchain deve poder fazer referencia ao livro de razão (ledger) e, se um bloco não estender a corrente atual mas introduzir uma bifurcação (fork), também a história do livro de razão. Já que não é nem armazenado nem barato calcular, blocos em sistemas de PoSv3 não são validados imediatamente, mas são (pelo menos parcialmente) mantidos na memória ou disco quando passarem por alguma heurística.

As vulnerabilidades discutidas no artigo podem ser usar utilizadas de diversas maneiras, mas definitivamente envolvem enganar aqueles heurísticos e apresentar muitos blocos inválidos ao novo, de maneira que o nodo fique sem dinheiro e quebre antes de que ele possa corretamente identificar os blocos que são inválidos.

Por que a Cardano é diferente

Para a Cardano, a IOHK adotou uma medida diferente. Em vez de encontrar uma variação mínima para o bitcoin, nós confiamos em líderes mundiais do mundo acadêmico e em pesquisadores para criarem um novo protocolo e um nova base de código desde o início, com o requisito de que ele deve prover garantias de segurança equivalentes (ou melhores) que o bitcoin, mas confiando inteiramente em stake. O resultado é o protocolo3 do Ouroboros, provavelmente o primeiro protocolo seguro de PoS, em que Cardano é construído.

O design básico do Ouroboros é notavelmente simples: o tempo é dividido em incrementos discretos, chamados “slots”, e slots são grupados em períodos mais longos, chamados épocas “epochs”. No início de cada época, a loteria determina quem cria um bloco para cada slot. Em vez de esta loteria ser implícita, que quer dizer quem quer que seja que obter o hash certo vence, a loteria é explícita: o número aleatório gerado determina o slot de um lidar para cada slot, e as chances de vencer de cada slot é proporcional aos ativos que a pessoa controla. 4

Neste protocolo, validar que um bloco foi designado pelo agente adequado é também simples: isto requer apenas o calendário do líder para a época atual (que não mudará em caso de um fork temporário), e a comprovação de uma firma. Isto pode e será feito por cada nodo uma vez que ele obtenha o encabeçado do bloco, em contraste com sistemas de PoSv3 que estão vulneráveis a ataques de ativos falsos.

Em resumo: A Cardano está segura contra ataques de ativos salsos por que está baseada em um sistema fundamentalmente diferente. Criptomoedas em PoSv3 rodam sistemas de Proof-Of-Work (prova de trabalho), modificados para levar em consideração o staking na eleição implícita do líder, e a vulnerabilidade em questão é o resultado dessa modificação, e as complexidades adicionais que implica.

A Cardano não só tem uma base fundamentalmente diferente, mas essa base é o resultado de múltiplos trabalhados acadêmicos revisados por pares e uma colaboração sem precedentes entre investigadores e desenvolvedores. Os métodos formais e semiformais envolvidos na criação da próxima versão de Shelley da Cardano asseguram que sua construção, a nível de código, evidentemente coincide com o protocolo descrito nos artigos de pesquisa revisado por pares, construindo confiabilidade e segurança por design, e evitando problemas de PoSv3, que têm surgido como resultado de modificar um protocolo existente em vez de criar um protocolo completamente provado, e original como o Ouroboros.

Notas de rodapé

  1. ‘“Fake Stake” attacks on chain-based Proof-of-Stake cryptocurrencies’ by Sanket Kanjalkar, Yunqi Li, Yuguang Chen, Joseph Kuo, and Andrew Miller of the Decentralized Systems Lab at the University of Illinois at Urbana-Champaign.:leftwards_arrow_with_hook:
  2. Para ser preciso, esta discussão está dirigida ao lançamento da versao Shelley da Cardano. O atual lançamento Byron está rodando em um setting federado, e desta maneira operacionalmente protegido contra este tipo de ataque de qualquer maneira.
  3. Há até agora um número de variações no protocol da Ouroboros. Nós descrevemos apenas a versao clássica de Ouroboros aqui, mas em geral os argumentos funcionam para todas as variants – em particular para Ouroboros Praos, que sera o protocol usado no lançamento de Shelley.
  4. Para ser mais exato, a eleição de lider para determinada época usa a distribuição destake um ponto no tempo antes da epoch começar, para prevenir ataques de grinding e um recalculamento do calendário em caso de um fork temporário na fronteira da epoch. :leftwards_arrow_with_hook:
1 Like