07/01/2020
Qué es Prueba de trabajo / Proof of Work (PoW)
El protocolo de Prueba de Trabajo o Proof of Work, es el más conocido y antiguo protocolo de consenso que consiste en que las partes de una red realicen con éxito un trabajo computacionalmente costoso para acceder a los recursos de dicha red.
El protocolo de Prueba de Trabajo, nos sirve para evitar ciertos comportamiento indeseados en una red. Su nombre proviene del inglés Proof of Work (PoW). Este protocolo funciona bajo el concepto de requerir un trabajo al cliente, que luego es verificado por la red. Normalmente el trabajo solicitado, consiste en realizar complejas operaciones de cómputo.
Estas operaciones que luego son verificadas por la red. Una vez que son aprobadas, se da acceso al cliente para que use los recursos de la misma. Con ello se busca impedir que clientes maliciosos puedan consumir todos los recursos de forma incontrolada. Una situación que puede acabar por denegar el servicio prestado al resto de clientes de la red.
Un ejemplo muy simple de entender es el famoso captcha que se pone cuando se quiere hacer un registro en una web. La web pone este reto que el visitante ha de resolver. Si lo resuelve tendrá acceso al servicio. Esto evita que un atacante pueda crear millones de registros y así colapsar la página web. No obstante, el reto en una comunicación entre ordenadores no puede ser tan complejo. Debe ser solventable, aunque con una complejidad relativa.
La principal característica de esta estrategia es su asimetría. El trabajo por parte del cliente es moderadamente difícil de realizar, pero la verificación por parte de la red es sencilla. Esto quiere decir, que la prueba de trabajo lleva mucho tiempo en producirse y es computacionalmente costosa. Pero verificarla es sencillo, pues la prueba diseña patrones que facilitan la verificación.
Fue precisamente esta característica, la que llamó la atención de Satoshi Nakamoto a la hora de diseñar el Bitcoin. Es por ello que implementó el sistema HashCash (un sistema PoW) en su reconocida criptomoneda.