El bloque huérfano es un bloque que no tiene un padre conocido en la cadena de bloques más larga.
Según tengo entendido, esto significa que el bloque huérfano no tiene una referencia como "hash de bloque anterior" en ningún bloque más nuevo. ¿Es correcto?
En caso afirmativo, investigo un poco y no entiendo por qué obtengo algunos resultados extraños.
Por lo tanto, extraigo todos los hashes de bloque de los archivos dat sin procesar. Luego extraigo todos los datos de "hash de bloque anterior" de los archivos de datos sin procesar. Como resultado, tengo 2 matrices: hashes de bloque (matriz A) y referencias principales (matriz B). Entonces, si resto B de A, obtendría una lista de bloques huérfanos.
¿Es la forma correcta de obtener una lista de bloqueo huérfanos o no?
PD: obtengo estos resultados después de analizar los archivos dat de blk00000.dat
a blk00953.dat
(elegí dos bloques de la lista compilada):
000000000000000003D57B69D1AC77F64287C893C16ADBC1816C6D7386CCC3C0 – orphaned
0000000000000000011523D7477DD274B7E0DCC2C616B2E2F584FFDEC20237D3 - main chain
main chain
y orphaned
son el estado basado en sitios de exploración de bloques.
En estos dos bloques no hay ninguna referencia como "anterior" en los archivos de datos sin formato. Estoy confundido - "¿por qué?"
Como resultado, tengo 2 matrices: hashes de bloque (matriz A) y referencias principales (matriz B). Entonces, si resto B de A, obtendría una lista de bloques huérfanos.
No, al hacerlo obtendrá una lista de bloques obsoletos (que comúnmente se conocen como bloques huérfanos). Lo que está haciendo es obtener todos los bloques que no son padres de nada, no bloques que no tienen padres.
000000000000000003D57B69D1AC77F64287C893C16ADBC1816C6D7386CCC3C0 – orphaned
El término "huérfano" aquí significa que el bloque no tiene hijos. Este es el segundo significado del término "bloque huérfano". Se esperaba este resultado ya que está eliminando de su lista de hashes de bloque la lista de bloques principales, y este bloque no es principal.
0000000000000000011523D7477DD274B7E0DCC2C616B2E2F584FFDEC20237D3 - main chain
Este bloque está en la cadena principal. Probablemente esté en su lista porque eso es con lo que se sincronizó su nodo y este fue su bloque más reciente.
\blocks\blk*.dat
archivos) no es igual para todos los que instalan el cliente de bitcoin?-1
_blk*.dat
en blocks
dir son los mismos para todos los que están conectados a bitcoin?
pieter wuille
Denis Leónov
pieter wuille
Denis Leónov