Prueba de trabajo. Proof of Work – PoW
Una prueba de trabajo es un dato que es difícil de producir (costoso y / o que consume mucho tiempo) pero que otros pueden verificar fácilmente. La producción de prueba de trabajo generalmente implica una tarea computacional que incluye un proceso aleatorio con baja probabilidad de éxito, por lo que se requiere una gran cantidad de prueba y error en promedio antes de generar una prueba de trabajo válida. En Bitcoin, el esquema de prueba de trabajo se basa en el algoritmo de hash SHA-256 .
Prueba de trabajo en Bitcoin
Bitcoin utiliza un sistema de prueba de trabajo en el proceso de minería . Para que se acepte un bloque , el nodo de transmisión debe demostrar una prueba de trabajo válido que cubra todos los datos del bloque. La dificultad de descubrir resultados de trabajo válidos se ajusta para limitar la tasa de crecimiento promedio de la cadena de bloques a un bloque cada 10 minutos.
Para que un bloque sea válido, se debe descubrir un nonce que dé como resultado el doble hash SHA-256 del encabezado del bloque a un valor menor que el objetivo actual. Esto indica que el nodo que descubrió este bloque es un participante activo en la red. Cada encabezado de bloque contiene el hash del bloque sobre el que se construye, creando así la cadena de bloques que comprende el libro mayor. El cambio de un bloque solo se puede hacer creando un nuevo bloque que contenga el mismo predecesor y requiere la regeneración de todos los bloques posteriores rehaciendo el trabajo que contienen. Esto protege la cadena de bloques de la manipulación.
Resumen
1. La prueba de trabajo es parte del mecanismo de consenso de Bitcoin.
2. El algoritmo de prueba de trabajo de Bitcoin intenta resolver un rompecabezas con una baja probabilidad de éxito por prueba.
3. Un minero usa un encabezado de bloque candidato como entrada, lo comprime para verificar si el valor de hash está por debajo de un objetivo . Si no, el minero cambia el nonce en el encabezado del bloque e intenta nuevamente. Una vez que el valor hash está por debajo del objetivo, el bloque se ha extraído con éxito.
4. Para que la red de Bitcoin acepte un bloque, los mineros deben completar una prueba de trabajo que cubra todos los datos del bloque. La dificultad de este trabajo se ajusta para limitar la velocidad a la que la red puede generar nuevos bloques a uno cada 10 minutos en promedio. Debido a la muy baja probabilidad de una generación exitosa, es imposible predecir qué computadora del trabajador generará el siguiente bloque.
5. La baja probabilidad de encontrar con éxito soluciones válidas de prueba de trabajo reduce la probabilidad de que dos o más mineros generen un bloqueo al mismo tiempo.
Atribución
Este contenido se basa en el contenido de https://en.bitcoin.it/wiki/Proof_of_work bajo Creative Commons Attribution 3.0 . Aunque puede haber sido ampliamente revisado y actualizado, reconocemos a los autores originales.