He estado profundizando en la tecnología blockchain últimamente y me di cuenta de que la mayoría de las personas realmente no entienden qué la hace funcionar. Las funciones hash son en cierto modo los héroes anónimos aquí: están en todas partes, desde tus aplicaciones de mensajería hasta la minería de Bitcoin, pero la mayoría simplemente las pasa por alto.



Así que aquí está la cosa: una función hash es básicamente una herramienta matemática que toma cualquier cantidad de datos y los convierte en una cadena de longitud fija. ¿La parte mágica? Es una calle sin salida. No puedes invertirla. Introduces 'aprendamos blockchain' y obtienes 77db72b12a7667ad73fd33544d1f397268dffe18ca3042e0a09af9f993a8f9c1. Solo añades un punto y de repente la salida es completamente diferente: 17368fcb5bab73c97aa60aa7ae9e54e6676d292743587b9a35ace927a626520a. Incluso cambios pequeños = resultados totalmente diferentes. Esa es la seguridad.

¿Por qué esto importa para las criptomonedas? La minería de Bitcoin depende literalmente de ello. Los mineros están básicamente compitiendo para encontrar un valor hash por debajo de un número objetivo combinando los datos del bloque con números aleatorios (nonces) y ejecutándolo a través de SHA-256. El primero que lo encuentra gana la recompensa. Y aquí está lo elegante: cada bloque se vincula al anterior mediante su hash, creando esta cadena a prueba de manipulaciones. Si alguien intenta cambiar datos antiguos, el hash cambia y todos saben que algo está mal.

Ahora, hay diferentes algoritmos de hashing circulando. MD5 solía ser popular: produce salidas de 128 bits, pero tiene debilidades. Los atacantes pueden crear 'colisiones' donde diferentes entradas producen la misma salida, por lo que básicamente está en desuso para trabajos de seguridad serios.

Luego vino SHA-1, diseñado por la NSA en 1995. Genera hashes de 160 bits, pero desde entonces ha sido vulnerado y reemplazado por opciones más fuertes.

Luego tienes SHA-2, que es una familia de algoritmos (SHA-224, SHA-256, SHA-384, SHA-512). SHA-256 es lo que usa Bitcoin y todavía se considera muy sólido. Los tamaños de salida más largos lo hacen mucho más resistente a ataques de fuerza bruta en comparación con SHA-1.

El más reciente es SHA-3, publicado por NIST en 2015. Está basado en el algoritmo Keccak y usa algo llamado 'estructura de esponja' — básicamente, absorbe la entrada y luego exprime el hash. Una ventaja es que resiste ataques de extensión de longitud, donde alguien intenta añadir datos sin conocer el original. Ethereum en realidad usa keccak-256, una variante de SHA-3. Incluso Nervos' CKB blockchain lanzó su propio algoritmo inspirado en SHA-3 llamado Eaglesong.

Pero aquí está el truco: ninguna función hash es completamente a prueba de balas. Los ataques de colisión son posibles, donde generas dos entradas diferentes con la misma salida. Los ataques de extensión de longitud permiten a los atacantes añadir datos a los mensajes. Los ataques de preimagen te dejan encontrar una entrada que coincida con un hash específico. Los ataques de cumpleaños explotan la probabilidad para encontrar hashes coincidentes. Luego están los ataques de canal lateral que explotan cómo se implementa realmente la función en lugar de atacar las matemáticas en sí.

Dicho esto, las cosas modernas como SHA-256 y SHA-3 fueron diseñadas literalmente con estos vectores de ataque en mente. MD5 y SHA-1? Sí, son vulnerables. Pero la nueva generación se considera prácticamente irrompible con la tecnología actual. Por eso son la columna vertebral de la seguridad en blockchain hoy en día.
BTC-2,74%
ETH-3,11%
CKB-5,15%
Ver original
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • Comentar
  • Republicar
  • Compartir
Comentar
Añadir un comentario
Añadir un comentario
Sin comentarios
  • Fijado