Con respecto a la validación de bloques en blockchain

En el proceso de minería, los mineros validan el bloque en función de la prueba de trabajo o mediante algún otro mecanismo de consenso. Los mineros también validan el bloque. Entonces, en este proceso de validación, los mineros validan solo el valor hash del bloque actual (o) validan todas las transacciones y luego validan el valor hash del bloque actual. Por favor, aclare esto.

Pero cómo verifican cada transacción desde el encabezado del bloque.

Respuestas (1)

Los nodos completos validan todo. Un minero debe estar ejecutando un nodo completo. No todos los nodos completos son mineros, pero todos los mineros son nodos completos.

Un nodo completo valida todo en un bloque; valida las transacciones, verifica que el encabezado del bloque sea correcto y verifica que la Prueba de trabajo sea correcta. Entonces, en el proceso de validación, los nodos completos (y, por lo tanto, los mineros) verificarán que el PoW sea válido (el hash del encabezado del bloque es menor que el objetivo), que el encabezado del bloque es correcto (contiene el objetivo correcto, raíz Merkle, etc. ). Luego verificarán que cada transacción individual gaste los UTXO que existen, verificarán que los scripts se validen como verdaderos y verificarán que los montos de salida sean válidos (menores o iguales a los montos de entrada). También verificarán que la transacción de la base de monedas pague el pago máximo calculado para el bloque (subsidio + tarifas de transacción).

Pero, ¿cómo verifican cada transacción desde el encabezado del bloque?
Los bloques son más que solo el encabezado, contienen transacciones. Las transacciones se envían junto con el encabezado del bloque para formar un bloque completo.
Entonces, si digo que el nodo A tiene algún bloque (B) y otros nodos X, Y, Z quieren validar el bloque B, entonces el nodo A tiene que enviar el bloque B a los nodos X, Y, Z. Este bloque B contiene el hash del bloque anterior, la marca de tiempo, el nonce y la raíz de Merkele donde la raíz de Merkle se crea a partir de la lista de transacciones. Entonces, el nodo A envía todo, incluida la lista de transacciones a otros nodos X, Y, Z o el nodo A envía solo el bloque que excluye la lista de transacciones para el proceso de validación.
En general, el nodo A enviará todo el bloque B con todas sus transacciones a los nodos X, Y y Z.
Entonces, si el nodo A envía las transacciones con encabezado de bloque a otros nodos X, Y, Z, siempre es posible que alguien en el camino modere las transacciones para que otros nodos validen la transacción.
Si se manipula una transacción, los nodos X, Y y Z determinarán que la transacción no es válida. Lo validan de la misma manera, solo concluyen con un resultado diferente.