Prueba de trabajo
Prueba de trabajo (en adelante, PoW por sus siglas en inglés) es información compleja (que consume mucho tiempo y es costosa) para satisfacer las condiciones particulares. Sin embargo, la verificación de esa información debe ser lo más fácil posible. El objetivo de PoW es verificar si los cálculos se realizaron efectivamente durante la creación de un nuevo Bloque.
Contenido
Objetivo
La resolución de PoW se presenta como un proceso estocástico con baja probabilidad de éxito durante el cual ocurre una gran cantidad de errores. Bitcoin usa la función llamada “Hashcash” como evidencia del trabajo realizado.
Una posible implicación de EZ Flash IV de esta idea es el uso de Hashcash como método para evitar el correo no deseado mediante la solicitud de contenido PoW para cada letra. Los usuarios comunes de correo electrónico podrán resolver fácilmente su PoW (debido a que esto no requiere muchos recursos), sin embargo los usuarios que intenten enviar correo no deseado enfrentarán el problema de tener que enviar PoW para millones de sus letras.
Principios de la operación
La función Hashcash se usa en Bitcoin para crear bloques. Es necesario un PoW resuelto adjunto al contenido del bloque para que la red acepte ese bloque. La dificultad de esta tarea es variada para controlar la frecuencia de descubrimiento de nuevos bloques. El sistema está programado de tal manera que se encuentra 1 nuevo bloque cada 10 minutos en promedio (para el blockchain de la bitcoin).
Debido a que el proceso de encontrar un nuevo bloque requiere muchos recursos y es aleatorio, es imposible predecir con certeza qué operario de Bitcoin (minero) resolverá exactamente el problema y encontrará un nuevo bloque. Para que el sistema acepte el bloque como genuino, su valor hash debe ser menor que el objetivo establecido actualmente. De esta forma, cada bloque demuestra que se ha llevado a cabo algún trabajo para encontrarlo.
Cada bloque contiene hash del bloque anterior formando así una cadena. Cambiar un bloque es imposible, solo es factible crear un nuevo bloque a la misma altura que contendrá el valor hash del bloque anterior dentro de él. La ejecución de dicho proceso requiere realizar el trabajo de encontrar todos los bloques anteriores. La gran dificultad de esa tarea es lo que protege la cadena de bloques del acceso no autorizado y de los ataques de doble gasto.