```
Entrevista de trabalho
Quer trabalhar em Web3 - "Parte 2"
Neste artigo, continuamos revisando os conceitos básicos que você deve conhecer antes de participar de uma entrevista para uma posição no Web3.
Criptografia
O que é uma colisão de hash?
Uma colisão de hash ocorre quando duas entradas diferentes geram o mesmo hash.
O que é a criptografia de chave simétrica?
A criptografia de chave simétrica, também chamada de criptografia de chave privada, utiliza a mesma chave para cifrar e decifrar mensagens.
O que é a criptografia de chave assimétrica?
A criptografia de chave assimétrica, também conhecida como criptografia de chave pública, utiliza duas chaves separadas para cifrar e decifrar mensagens. Primeiro, é gerada uma chave privada aleatoriamente. Por meio de uma fórmula matemática, pode-se criar a chave pública a partir da chave privada. A chave pública pode ser compartilhada com todos, enquanto a chave privada deve ser mantida em segredo. Os dados são cifrados usando uma das chaves e decifrados com a outra. Diferentemente da criptografia simétrica, apenas os dados cifrados (não a chave em si) precisam ser transferidos, o que a torna mais segura contra ataques de intermediários.
O que é uma árvore de merkle?
Uma árvore de merkle é uma estrutura de dados utilizada para resumir e validar de forma eficiente grandes conjuntos de dados. Uma árvore de merkle consiste na raiz de merkle, que é o hash da raiz. A raiz de merkle é colocada no cabeçalho do bloco. Em uma árvore de merkle, os hashes das transações são considerados as folhas. Cada nó não-folha (ramo) é um hash dos hashes de seus nós filhos.
Por que as árvores de merkle são tão importantes no BTC?
Sem as árvores de merkle, cada nó na rede teria que manter uma cópia completa de cada transação que ocorreu no Bitcoin.
Explique o termo “prova de conhecimento zero”.
É um método criptográfico que permite a uma parte demonstrar o conhecimento de certa informação a outra parte sem revelar os dados em questão.
Ataques
O que é um ataque de 51%?
Se um hacker conseguir controlar 51% ou mais dos nós, obterá controle sobre toda a rede.
O que é um ataque de reentrância?
Um ataque de reentrância ocorre quando uma função realiza uma chamada externa a um contrato não confiável. O contrato não confiável então faz uma chamada recursiva de volta à função original na tentativa de drenar fundos.
Nomeie duas maneiras de prevenir ataques de reentrância.
• Implementar o padrão de “checagens-efeitos-interações” (atualizar o estado antes de fazer chamadas externas).
• Usar um guardião de reentrância (por exemplo, um modificador de OpenZeppelin).
O que é um ataque de repetição?
Um ataque de repetição consiste em pegar uma transação em uma blockchain e repeti-la de forma maliciosa ou fraudulenta em outra blockchain. Duas blockchains pós-fork são vulneráveis a esse tipo de ataque. Para que um ataque de repetição funcione, as duas cadeias devem compartilhar um histórico comum.
Como uma blockchain pode prevenir ataques de repetição?
Para prevenir ataques de repetição, os desenvolvedores em uma das duas blockchains pós-fork podem fazer uma pequena mudança nas regras de transação. O Ethereum previne ataques de repetição na mesma cadeia por meio de um contador de transações em cada conta. Esse nonce também previne o gasto duplo.
Se gostou desta informação, deixe um comentário!
Continua...
```
Comentários