Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Más Sobre el Encabezado de Bloque | Bloques y Transacciones
Introducción a Blockchain

bookMás Sobre el Encabezado de Bloque

Antes de poder explorar el encabezado de bloque en detalle, primero debemos comprender la diferencia entre los formatos big endian y little endian.

Little Endian y Big Endian

Primero, es necesario entender qué significa realmente la endianness.

Note
Estudiar más

Endianness se refiere al orden en el que los bytes (cada byte equivale a 8 bits) se organizan dentro de tipos de datos más grandes en la memoria de una computadora.

El formato big endian almacena el byte más significativo primero, lo que coincide con la forma en que los humanos suelen leer los números. Usemos el número decimal 234567890 como ejemplo y convirtámoslo a hexadecimal y binario utilizando Python y mostrando los resultados:

123
decimal_number = 234567890 print(hex(decimal_number)) print(bin(decimal_number))
copy

Dado que las computadoras almacenan enteros utilizando un número entero de bytes, y cada 2 dígitos hexadecimales corresponden a un byte, necesitamos un número par de dígitos. La representación hexadecimal de nuestro número, 0xDFB38D2, contiene 7 dígitos, por lo que debemos añadir un cero 0 a la izquierda. El número resultante, 0x0DFB38D2, ahora tiene 8 dígitos hexadecimales (encaja exactamente en 4 bytes) y el mismo valor.

De manera similar, nuestro número binario tiene 28 bits, y cada 8 bits corresponden a 1 byte, por lo que necesitamos que el número de bits sea divisible por 8 añadiendo 4 ceros 0 a la izquierda. El número resultante, 0b00001101111110110011100011010010, ahora tiene 32 bits (encaja exactamente en 4 bytes) y el mismo valor.

Utilizando Python, obtuvimos el formato big endian, que también obtendríamos si lo convirtiéramos manualmente, y nuestro número se ve de la siguiente manera:

  • 0x0DFB38D2 en hexadecimal;
  • 0b00001101111110110011100011010010 en binario.

A continuación, observemos la tabla para comprender el formato big endian:

Por el contrario, el formato little endian almacena el byte menos significativo primero, invirtiendo el orden intuitivo:

Como se puede observar, nuestro número en formato little endian se ve de la siguiente manera:

  • 0xD238FB0D en hexadecimal;

  • 0b11010010001110001111101100001101 en binario.

Volviendo al encabezado del bloque

En resumen, el encabezado tiene exactamente 80 bytes que contienen seis campos de datos, cada uno de ellos en formato little endian. Ahora, observemos el encabezado del bloque 645536:

Dado que el encabezado del bloque ocupa exactamente 80 bytes, hay exactamente 160 dígitos hexadecimales (cada byte corresponde a 2 dígitos hexadecimales). El campo version (versión), por ejemplo, ocupa 4 bytes, por lo que hay 8 dígitos hexadecimales.

Aquí se muestra la información detallada sobre este bloque en el explorador:

Los campos aquí se muestran en formato big endian. Analicemos el campo bits, por ejemplo, y comparemos con su representación en el encabezado del bloque. Su representación hexadecimal es 0x171007ea en formato big endian:

Si lo convertimos a formato little endian, se verá de la siguiente manera:

Como puedes ver, eso es exactamente lo que teníamos en el encabezado del bloque.

1. ¿A qué se refiere "endianness" en el contexto de blockchain y sistemas informáticos?

2. Relaciona los componentes del bloque con sus definiciones.

question mark

¿A qué se refiere "endianness" en el contexto de blockchain y sistemas informáticos?

Select the correct answer

question-icon

Relaciona los componentes del bloque con sus definiciones.

A number that miners change to get the resulting block hash which meets the difficulty target:
A compact representation of the target threshold that the block's hash must meet in order to be added to the blockchain:

A single hash that represents all the transactions included in the block:

Click or drag`n`drop items and fill in the blanks

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 6.25

bookMás Sobre el Encabezado de Bloque

Desliza para mostrar el menú

Antes de poder explorar el encabezado de bloque en detalle, primero debemos comprender la diferencia entre los formatos big endian y little endian.

Little Endian y Big Endian

Primero, es necesario entender qué significa realmente la endianness.

Note
Estudiar más

Endianness se refiere al orden en el que los bytes (cada byte equivale a 8 bits) se organizan dentro de tipos de datos más grandes en la memoria de una computadora.

El formato big endian almacena el byte más significativo primero, lo que coincide con la forma en que los humanos suelen leer los números. Usemos el número decimal 234567890 como ejemplo y convirtámoslo a hexadecimal y binario utilizando Python y mostrando los resultados:

123
decimal_number = 234567890 print(hex(decimal_number)) print(bin(decimal_number))
copy

Dado que las computadoras almacenan enteros utilizando un número entero de bytes, y cada 2 dígitos hexadecimales corresponden a un byte, necesitamos un número par de dígitos. La representación hexadecimal de nuestro número, 0xDFB38D2, contiene 7 dígitos, por lo que debemos añadir un cero 0 a la izquierda. El número resultante, 0x0DFB38D2, ahora tiene 8 dígitos hexadecimales (encaja exactamente en 4 bytes) y el mismo valor.

De manera similar, nuestro número binario tiene 28 bits, y cada 8 bits corresponden a 1 byte, por lo que necesitamos que el número de bits sea divisible por 8 añadiendo 4 ceros 0 a la izquierda. El número resultante, 0b00001101111110110011100011010010, ahora tiene 32 bits (encaja exactamente en 4 bytes) y el mismo valor.

Utilizando Python, obtuvimos el formato big endian, que también obtendríamos si lo convirtiéramos manualmente, y nuestro número se ve de la siguiente manera:

  • 0x0DFB38D2 en hexadecimal;
  • 0b00001101111110110011100011010010 en binario.

A continuación, observemos la tabla para comprender el formato big endian:

Por el contrario, el formato little endian almacena el byte menos significativo primero, invirtiendo el orden intuitivo:

Como se puede observar, nuestro número en formato little endian se ve de la siguiente manera:

  • 0xD238FB0D en hexadecimal;

  • 0b11010010001110001111101100001101 en binario.

Volviendo al encabezado del bloque

En resumen, el encabezado tiene exactamente 80 bytes que contienen seis campos de datos, cada uno de ellos en formato little endian. Ahora, observemos el encabezado del bloque 645536:

Dado que el encabezado del bloque ocupa exactamente 80 bytes, hay exactamente 160 dígitos hexadecimales (cada byte corresponde a 2 dígitos hexadecimales). El campo version (versión), por ejemplo, ocupa 4 bytes, por lo que hay 8 dígitos hexadecimales.

Aquí se muestra la información detallada sobre este bloque en el explorador:

Los campos aquí se muestran en formato big endian. Analicemos el campo bits, por ejemplo, y comparemos con su representación en el encabezado del bloque. Su representación hexadecimal es 0x171007ea en formato big endian:

Si lo convertimos a formato little endian, se verá de la siguiente manera:

Como puedes ver, eso es exactamente lo que teníamos en el encabezado del bloque.

1. ¿A qué se refiere "endianness" en el contexto de blockchain y sistemas informáticos?

2. Relaciona los componentes del bloque con sus definiciones.

question mark

¿A qué se refiere "endianness" en el contexto de blockchain y sistemas informáticos?

Select the correct answer

question-icon

Relaciona los componentes del bloque con sus definiciones.

A number that miners change to get the resulting block hash which meets the difficulty target:
A compact representation of the target threshold that the block's hash must meet in order to be added to the blockchain:

A single hash that represents all the transactions included in the block:

Click or drag`n`drop items and fill in the blanks

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3
some-alt