Entrevista de trabajo
Quieres Trabajar en Web3 - "Parte 2"
En este artículo, continuamos repasando los conceptos básicos que debes conocer sí o sí antes de presentarte a una entrevista para un puesto en Web3.
Cryptography
¿Qué es una colisión de hash?
Una colisión de hash ocurre cuando dos entradas diferentes generan el mismo hash.
¿Qué es la encriptación de clave simétrica?
La encriptación de clave simétrica, también llamada criptografía de clave privada, utiliza la misma clave para cifrar y descifrar mensajes.
¿Qué es la encriptación de clave asimétrica?
La encriptación de clave asimétrica, también conocida como criptografía de clave pública, utiliza dos claves separadas para cifrar y descifrar mensajes. Primero, se genera una clave privada aleatoriamente. Mediante una fórmula matemática, se puede crear la clave pública a partir de la clave privada. La clave pública puede ser compartida con todos, mientras que la clave privada debe mantenerse en secreto. Los datos se cifran usando una de las claves y se descifran con la otra. A diferencia de la encriptación simétrica, solo los datos cifrados (no la clave en sí) deben ser transferidos, lo que lo hace más seguro contra ataques de intermediarios.
¿Qué es un merkle tree?
Un merkle tree es una estructura de datos utilizada para resumir y validar de manera eficiente grandes conjuntos de datos. Un merkle tree consiste en la raíz de merkle, que es el hash raíz. La raíz de merkle se coloca en el encabezado del bloque. En un merkle tree, los hashes de las transacciones se consideran las hojas. Cada nodo no-hoja (rama) es un hash de los hashes de sus nodos hijos.
¿Por qué son tan importantes los merkle trees en BTC?
Sin los merkle trees, cada nodo en la red tendría que mantener una copia completa de cada transacción que ha ocurrido en Bitcoin.
Explica el término “zero knowledge proof”.
Es un método criptográfico que permite a una parte demostrar el conocimiento de cierta información a otra parte sin revelar los datos en cuestión.
Attacks
¿Qué es un ataque del 51%?
Si un hacker logra controlar el 51% o más de los nodos, obtendrá control sobre toda la red.
¿Qué es un ataque de reentrancia?
Un ataque de reentrancia ocurre cuando una función realiza una llamada externa a un contrato no confiable. El contrato no confiable luego hace una llamada recursiva de vuelta a la función original en un intento de drenar fondos.
Nombra dos maneras de prevenir ataques de reentrancia.
• Implementar el patrón de “checks-effects-interactions” (actualizar el estado antes de hacer llamadas externas).
• Usar un guardia de reentrancia (por ejemplo, un modificador de OpenZeppelin).
¿Qué es un ataque de repetición?
Un ataque de repetición consiste en tomar una transacción en una blockchain y repetirla de manera maliciosa o fraudulenta en otra blockchain. Dos blockchains post-fork son vulnerables a este tipo de ataque. Para que un ataque de repetición funcione, las dos cadenas deben compartir un historial común.
¿Cómo puede una blockchain prevenir ataques de repetición?
Para prevenir ataques de repetición, los desarrolladores en una de las dos blockchains post-fork pueden hacer un pequeño cambio en las reglas de transacción. Ethereum previene ataques de repetición en la misma cadena mediante un contador de transacciones en cada cuenta. Este nonce también previene el doble gasto.
Si te gusto esta info deja un comentario!
Continuará...
Comentarios