¿Por qué el objetivo se convierte en "Bits" y no se almacena en su totalidad en el encabezado del bloque?
Por ejemplo, por qué:
{
"hash" : "000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506",
"height" : 100000,
"bits" : "1b04864c",
"difficulty" : 14484.16236123,
}
y no:
{
"hash" : "000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506",
"height" : 100000,
"target" : "000000000004864c000000000000000000000000000000000000000000000000",
"difficulty" : 14484.16236123,
}
¿Es para ahorrar espacio?
Su interpretación es más larga, al menos, el encabezado completo tiene solo 80 bytes de largo. La codificación de "bits" es histórica y es un remanente del cliente 0.1.0 previo al lanzamiento. Hay otras cosas en el encabezado que podrían haberse codificado mejor (el nonce debería haber sido más largo, y la versión se lee como un campo de bits, no como un int, y una raíz aux merkle hubiera sido buena), pero tal como está, no hay realmente gran razón para cambiar cualquier cosa debido a la cantidad de inercia detrás de la formación actual.
aux
raíz de merkle? Además, sería bueno tener tiempos precisos tanto en el encabezado (y asociado con Txs individuales)bits
en el encabezado del bloque? Me pregunto por qué está ahí, asumiendo que un nodo completo se sincroniza desde el bloque 0 y puede calcular la dificultad por sí solo para cada bloque...
codificador morse