Skip to main content

Cabecera de Bloque | Bitcoin Glossary | Mapping Bitcoin

Cabecera de Bloque

Protocolo

Also known as: header

Los 80 bytes que encabezan cada bloque Bitcoin: hash del bloque previo, raíz Merkle, timestamp, bits de dificultad y el nonce encontrado por el minero.

Descripción general

La cabecera de bloque es un resumen compacto de 80 bytes del contenido y contexto de un bloque. Es la estructura de datos que los mineros hacen hash miles de millones de veces por segundo en la búsqueda de una prueba de trabajo válida. A pesar de su pequeño tamaño, la cabecera compromete criptográficamente todos los datos del bloque a través de la raíz Merkle.

Campos de la cabecera

Offset  Tamaño    Campo                    Descripción
──────────────────────────────────────────────────────────────
0       4 bytes   Versión                  Versión del protocolo / bits de señalización
4      32 bytes   Hash del bloque previo   Hash SHA-256d de la cabecera del bloque anterior
36     32 bytes   Raíz Merkle              Hash raíz de todas las transacciones del bloque
68      4 bytes   Marca de tiempo          Tiempo Unix en segundos
72      4 bytes   Bits                     Objetivo de dificultad codificado
76      4 bytes   Nonce                    Contador que los mineros iteran
──────────────────────────────────────────────────────────────
Total: 80 bytes

El proceso de minería

La minería implica hacer hash repetidamente de la cabecera del bloque con diferentes valores de nonce (y otros campos variables como el extra nonce de la transacción coinbase) hasta que el hash resultante sea numéricamente menor que el objetivo de dificultad codificado en el campo "Bits":

while true:
    header.nonce += 1
    hash = SHA256(SHA256(header))
    if hash < target:
        bloque válido!
        break

Por qué importan los 80 bytes

El tamaño fijo y pequeño de la cabecera de bloque permite la verificación ligera. Los clientes de Verificación de Pago Simplificada (SPV) pueden descargar solo la cadena de cabeceras (80 bytes por bloque) en lugar de los bloques completos, reduciendo drásticamente los requisitos de ancho de banda y almacenamiento, mientras aún pueden verificar que una transacción está incluida en un bloque mediante pruebas Merkle.

Campo de versión y señalización

El campo de versión no es solo un número de protocolo estático. A través de BIP9, los bits individuales en el campo de versión son usados por los mineros para señalar su apoyo a bifurcaciones suaves propuestas. Este mecanismo de señalización permite a la red coordinar actualizaciones de protocolo sin una autoridad central.