Prueba de trabajo (Proof of work)
La prueba de trabajo es un protocolo de seguridad utilizado en las criptomonedas para evitar transacciones fraudulentas. Consiste en la resolución de un problema matemático aleatorio que solo puede solucionar un ordenador para validar la operación.
Es decir, la prueba de trabajo es un proceso usado en las criptomonedas para verificar las transacciones y dotarlas de seguridad.
Con la aparición de Internet, surgen multitud de oportunidades para realizar operaciones o trámites a través de la red. Junto a esto, gracias a este sistema, se crean nuevas herramientas e incluso nuevos activos.
Es importante dotar de seguridad y garantías a este tipo de procesos para que sean funcionales y satisfagan las necesidades de los usuarios. Por este motivo, es importante la creación e implantación de protocolos de seguridad que verifiquen cada una de las operaciones realizadas.
En relación a lo que hemos mencionado, te explicaremos el concepto de prueba de trabajo, también conocido por proof of work (PoW) en inglés. Es un protocolo de seguridad creado inicialmente para acabar con el correo spam, pero que ahora es utilizado en el campo de las criptomonedas.
Origen de la prueba de trabajo
Como te hemos comentado, la prueba de trabajo es utilizada en el campo de las criptomonedas para dotarlas de valor y garantizar que solo se puedan gastar una vez los fondos acumulados de este tipo.
A pesar de todo, la prueba de trabajo no nace con la aparición de la primera criptomoneda que la implementaba, el Bitcoin. Su origen se remonta a los años 90 cuando surgen los primeros correos spam.
Como sabemos, no todo aquel que hace uso de Internet y de las diferentes herramientas que ofrece tiene buenas intenciones. Pues bien, conforme la población mundial fue logrando tener acceso a la red, los usuarios comenzaron a crear cuentas de correo electrónico para comunicarse con sus contactos.
En este sentido, empezaron a surgir envíos de emails masivos con contenido publicitario o no deseado por parte del usuario receptor. Para evitar este problema, Adam Back crea el protocolo de seguridad HashCash. Era un algoritmo que tenía como objetivo frenar el envío de spam gracias a que el servidor bloqueaba este tipo de correos al no poder ser validados.
Posteriormente, en el año 1999, Juels y Jakobsson acuñaron el concepto prueba de trabajo que Satoshi Nakamoto incorporaría en el Bitcoin en el momento de su creación.
Características de la prueba de trabajo
A continuación te explicamos algunas de las características de la prueba de trabajo:
- Se trata de un proceso que requiere de bastantes recursos por parte del dispositivo, pero que no es excesivamente complejo. Si fuese así, se saturaría el sistema cuando haya multitud de validaciones que realizar.
- Es muy seguro y permite que las criptomonedas que lo utilizan tengan un valor de mercado. Este protocolo garantiza que, por ejemplo, con un mismo Bitcoin no puedas pagar dos cosas diferentes. Esto se conoce como el doble gasto.
- No es capaz de evitar el ataque del 51%. Este ataque consiste en que los atacantes consigan tener el control de la mayoría de operaciones que resolver y puedan incurrir en el doble gasto. Sin embargo, el sistema de validación utilizado en criptomonedas ya es muy difícil de monopolizar.
- El gasto de energía que requiere este protocolo de validación es elevado.
- El mecanismo se puede adaptar a los diferentes hardware, ofreciéndole a prácticamente todos los participantes la opción de validar una operación.
- Se trata de un protocolo descentralizado que tiene como objetivo garantizar la estabilidad y buen funcionamiento del sistema. Evita la participación de usuarios tramposos que traten de aprovecharse del mismo.
¿Cuándo se lleva a cabo la prueba de trabajo?
La minería de las criptomonedas requiere completar un proceso para llevar a cabo la prueba de trabajo y validar cada una de sus transacciones. En primer lugar, se lanza a la red un problema que debe ser resuelto por una computadora.
En segundo lugar, los diferentes ordenadores que se encuentran conectados para la resolución de este tipo de problemas comienzan a trabajar por resolverlo. Una vez encontrada la posible solución, se comparte el resultado del problema matemático con el resto de dispositivos para que lo validen.
Cuando los dispositivos lo reciben, tratan de verificar que la solución al problema es la correcta a través de la prueba de trabajo. Por último, si ha sido validada la operación, se cierra el bloque y el dispositivo que ha encontrado la solución recibe una recompensa.