La dificultad o el objetivo están implícitos en el historial de la cadena, entonces, ¿por qué debe ser explícito en el encabezado? Supongo que expone la dificultad prevista por el minero, pero no veo por qué eso sería relevante sin el contexto de la cadena.
Entonces, aparentemente representa datos redundantes en el encabezado, a menos que haya razones históricas para esta elección de diseño.
No son realmente necesarios. La razón por la que están incluidos solo puede ser conocida por Satoshi, y AFAIK, no dijo por qué eligió incluir nBits en el encabezado del bloque (o muchas otras cosas que son simplemente arbitrarias). Esta es una de las muchas cosas que Satoshi eligió hacer y nadie sabe realmente por qué. Permanece en el encabezado del bloque hoy porque eliminarlo requeriría una bifurcación dura y realmente no se obtiene mucho beneficio al eliminarlo.
El campo nBits puede ser útil, y es probable que se haya incluido como una especie de conveniencia. En lugar de tener que tener el historial completo de la cadena para conocer la dificultad actual, puede mirar los nBits. Pero eso es solo especulación, y los nodos completos no usan los nBits para determinar la dificultad actual (excepto los del bloque génesis).
La confirmación directa de los nbits le permite determinar cuánto trabajo se usó para producir el encabezado sin estado antes de buscar (o recuperar) información sobre encabezados anteriores.
Esto puede ayudar a defenderse de los ataques de DOS que envían encabezados no deseados para obligarlo a trabajar para determinar o buscar a sus ancestros.
james c
Nate Eldredge
james c
Nate Eldredge
james c