Saltar al contenido principal

Hashing, claves criptográficas y minería

El papel de la criptografía en blockchain

La criptografía es la base de la seguridad de blockchain. Se utiliza para proteger los datos, confirmar la autenticidad de las transacciones y garantizar la inmutabilidad del registro distribuido.

Las principales herramientas criptográficas en blockchain son las funciones hash y la criptografía asimétrica, basada en el uso de claves públicas y privadas.


Funciones hash y sus propiedades

Una función hash es un algoritmo matemático que transforma datos de entrada de tamaño arbitrario en una cadena de longitud fija llamada hash. Cuando se utilizan funciones hash criptográficamente seguras, recuperar los datos originales a partir del hash es computacionalmente prácticamente imposible.

Para su uso en blockchain, las funciones hash deben poseer las siguientes propiedades:

  • Determinismo — los mismos datos de entrada siempre producen el mismo resultado.
  • Resistencia a colisiones — es computacionalmente prácticamente imposible encontrar dos conjuntos de datos diferentes con el mismo hash.
  • Unidireccionalidad — recuperar los datos originales a partir del hash es computacionalmente inviable.
  • Sensibilidad a cambios — una modificación mínima en los datos de entrada cambia completamente el resultado.

Estas propiedades convierten al hashing en una herramienta eficaz para proteger la integridad de los datos. En la blockchain de Bitcoin se utiliza la aplicación doble de la función hash criptográfica SHA-256 (SHA-256d).

Un cambio mínimo en los datos cambia por completo el hash final.
El hash de la palabra «онлайн-учебник» es
3f74125cae635a27408541bb29f20fec27f7889721d9dc9c9d53139eb9eed83e,
y si en lugar del guion se utiliza un espacio «онлайн учебник», el hash será diferente:
eb62b8041d53badd206cee5cabf0a170be2d75619c97fd4153ef9c1a0b3a502d.


Claves públicas y privadas

En blockchain se utiliza criptografía asimétrica, basada en un par de claves:

  • Clave privada — un valor criptográfico secreto, conocido solo por su propietario.
  • Clave pública — un valor matemáticamente vinculado a la clave privada y destinado a su difusión pública.

La clave privada se utiliza para crear una firma digital, y la clave pública para verificarla. Esto permite a cualquier participante de la red comprobar que la transacción fue iniciada por el propietario de la clave privada correspondiente.

La clave pública puede calcularse a partir de la clave privada, pero el cálculo inverso no es posible.


Firmas digitales y validación de transacciones

Al crear una transacción, el remitente firma los datos de la transacción utilizando su clave privada. La firma digital se añade a la transacción y se transmite a la red.

Los nodos de la red verifican la validez de la firma mediante la clave pública del remitente. Si la firma es correcta, la transacción se considera auténtica y puede incluirse en un bloque.


El proceso de minería

La minería es el proceso de encontrar una solución criptográfica para añadir un nuevo bloque en blockchains que utilizan el mecanismo de consenso Proof-of-Work.

Existen distintos mecanismos de consenso, es decir, reglas mediante las cuales los participantes de la red alcanzan un acuerdo sobre el orden de incorporación de nuevos bloques. El participante de la red que interviene en el proceso de minería se denomina minero. Su motivación consiste en recibir una recompensa por encontrar con éxito un bloque.

Los mineros reúnen transacciones no confirmadas en un bloque y realizan cálculos orientados a encontrar un hash del bloque que cumpla las condiciones de dificultad establecidas. La estructura del bloque se analiza con más detalle en el apartado 1.2.

La minería puede realizarse de forma individual (solo mining), aunque en ese caso la probabilidad de encontrar un bloque es extremadamente baja. Por ello, los mineros suelen agruparse en pools de minería, lo que permite encontrar bloques con mayor frecuencia y suavizar la variación de ingresos.


Proof-of-Work y Proof-of-Stake

El mecanismo de consenso es el conjunto de reglas mediante el cual los participantes de la red acuerdan el estado de la blockchain y la incorporación de nuevos bloques.

Uno de los mecanismos de consenso más распространidos es Proof-of-Work (PoW), en el que el derecho a añadir un bloque se determina como resultado de resolver una tarea computacionalmente compleja. Entre las principales desventajas de PoW se encuentran los elevados costes de hardware y el importante consumo energético.

Como alternativa a Proof-of-Work, en algunas blockchains se utiliza el mecanismo Proof-of-Stake (PoS). En PoS, el derecho a formar y validar bloques lo obtienen participantes de la red (validadores) que han bloqueado una determinada cantidad de criptoactivos conforme a las reglas del protocolo. La probabilidad de selección del validador depende del tamaño del stake y de los parámetros de la implementación concreta.

En comparación con Proof-of-Work, el mecanismo Proof-of-Stake presenta un consumo energético mucho menor, ya que no requiere cálculos intensivos en recursos. Precisamente por eso Ethereum migró de PoW a PoS en 2022.

También existen otros mecanismos de consenso que, por lo general, son modificaciones o variantes especializadas de PoW y PoS (por ejemplo, delegated Proof-of-Stake). Algunos mecanismos, como Proof-of-Capacity, se aplican en blockchains muy especializadas y no han tenido una adopción amplia.

La dificultad de añadir bloques se ajusta automáticamente para mantener una periodicidad predeterminada de aparición de nuevos bloques, independientemente de los recursos totales de la red.


Recompensa por añadir bloques

Por añadir con éxito un nuevo bloque, el participante de la red recibe una recompensa, que puede incluir:

  • emisión de nuevas unidades de criptoactivos,
  • comisiones de las transacciones incluidas en el bloque.

En la blockchain de Bitcoin, la cantidad total de monedas está limitada a 21 millones. Cuando se alcance ese límite, la recompensa por añadir bloques se formará exclusivamente a partir de las comisiones de transacción. Este mecanismo incentiva a los participantes a mantener la seguridad de la red, aunque su sostenibilidad a largo plazo depende del valor económico del criptoactivo y del nivel de actividad transaccional.


Breve conclusión

El hashing, las claves criptográficas y los mecanismos de consenso garantizan:

  • la protección de los datos y de las transacciones,
  • la verificación de la autenticidad de las operaciones,
  • la resistencia de blockchain frente a ataques.

Comprender estos mecanismos es necesario para analizar la seguridad de blockchain y evaluar sus características económicas y técnicas.