La seguridad es una de las cosas más importantes al hablar de criptomonedas y de redes blockchain, los mecanismos para evitar ataques y asegurar la invulnerabilidad de las red son muy necesasrios e indispensables para garantizar la confianza a los usuarios en la transparencia de las operaciones que se realizan.

En el artículo anterior titulado ataques del 51% ¿cómo funcionan? Ya mencionamos algunas de las consecuencias de no implementar suficientes mecanismos de seguridad. Si hay algo que es difícil de controlar es la potencia computacional que tienen los mineros que hacen parte de la red blockchain, las pruebas de trabajo pueden ayudar a disminuir el riesgo de estos ataques.

¿Qué es una prueba de trabajo?

Una prueba de trabajo (pow) es un algoritmo de consenso de la red Blockchain que es utilizado para confirmar las transacciones y añadir nuevos bloques a las cadenas y se utilizan también para evitar comportamientos no deseados de los miembros de la blockchain como por ejemplo los ataques del 51% de los que hablamos anteriormente, denegaciones del servicio (DoS) o spam.

Esta estrategia está diseñada de modo que no sea tan fácil de resolver para los usuarios o clientes y si muy fáciles de verificar del lado de los servidores. En este sentido la prueba de trabajo (PoW) maneja dos tipos de protocolos: el protocolo desafío-respuesta y el de solución-verificación.

Protocolo Desafío – Respuesta

Consiste en un enlace de tipo interactivo que actúa entre el cliente y el servidor donde éste último elige un desafío específico dependiendo del tipo de prueba que se haya elegido y al cliente le corresponde encontrar una respuesta a este desafío o problema que se le haya planteado.

Cuando el cliente envía la solución que haya encontrado (solo o en conjunto con un grupo de mineros o nodos), el servidor se encarga de verificar que corresponda con la respuesta acertada. Al tratarse de un desafío elegido por el servidor el grado de dificultad del mismo se adapta a la carga de servicio que haya en ese momento entonces el trabajo por parte del cliente estaría ordenado dentro de la cadena y su varianza sería baja.

Protocolo de Solución – Verificación

A diferencia del caso anterior del protocolo desafío – respuesta, en este caso no se utiliza ningún enlace sino que se trata de un desafío autoimpuesto que se debe plantear antes de que el cliente pueda buscar una solución. La función del servidor en este caso no es únicamente comprobar la respuesta del cliente sino también que el desafío elegido sea el correcto. En la mayoría de los casos estos desafíos son elegidos de manera aleatoria e iterativa, así que resulta muy difícil encontrar su solución.

Funciones utilizadas para los protocolos de PoW

Principalmente hay dos tipos de funciones matemáticas que se utilizan para los protocolos PoW: los CPU bound que dejan todo el poder de cálculo a la velocidad del procesador en el que se esté ejecutando y el Memory bound, donde el poder va  a corresponder a la velocidad de acceso a la memoria principal del computador.

Otra cosa que corresponde a los PoW son los conocidos cómputos de atajo que permite que aquellos participantes de la blockchain que manejan algún tipo de información secreta como podría ser alguna llave privada, puedan acceder a ese servicio utilizando una carga de trabajo mínima. Un ejemplo podría ser que el dueño de una lista de correos pueda enviar mensajes a todos los miembros de la blockchain sin tener que incurrir en altos costos.

¿Cuáles son los cálculos matemáticos que se utilizan en las PoW?

Esto es importante saberlo, pues no se trata de problemas sencillos, por el contrario, es algo que requiere un gran poder de cálculo para poderse resolver. En este sentido se pueden identificar 3 tipos de problemas básicos: la función hash que es una operación en la que se debe encontrar la entrada conociendo la salida.

Los otros dos tipos de cálculos que se realizan son la factorización de enteros, el mismo proceso de factorización que utilizamos en las matemáticas tradicionales y el protocolo de rompecabezas guiado que se presenta cuando el servidor tiene la sospecha de que puede estar siendo víctima de un ataque DoS, y en ese caso establece un orden definido para el cálculo de las funciones hash de algunos nodos.

¿Qué opinas sobre este tema? ¿Sabías de la existencia de las pruebas de trabajo en la red blockchain?

Si deseas recibir más información sobre compra y venta de criptomonedas puedes contactarte con nosotros o escribir tu consulta en la parte de abajo (sección comentarios).

Imagen de geralt vía Pixabay.com bajo licencia creative commons.


Leave a Reply

Your email address will not be published.