El documento técnico de bitcoin (página 3) establece
La decisión mayoritaria está representada por la cadena más larga, que tiene el mayor esfuerzo de prueba de trabajo invertido en ella.
No pude encontrar cómo se calcula exactamente esta dificultad.
¿Es la suma de los ceros prefijos de los nonces de cada bloque?
El trabajo se calcula como work = 2^256 / block_target
, como se indica en la respuesta vinculada, que es el valor hash mínimo que cuenta como una prueba de trabajo válida (tenga en cuenta que esto solo cambia cada 2016 bloques). El código fuente para esto es src/chain.cpp L#121 . El trabajo total de la cadena es la suma del trabajo de todos los bloques de la cadena y se calcula aquí: src/validation.cpp L#3713 . Entonces, para visualizar, cuanto más bajo sea el objetivo del bloque, más trabajo se ha realizado.
Bloque 0 objetivo: 00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Bloque 1 objetivo:00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Bloque 0 : Bloque 1 :work = (2^256) / <block 0 hash> = 4.295 × 10^9
work = (2^256) / <block 1 hash> = 4.295 × 10^9
Puedes ver que ambos han hecho la misma cantidad de trabajo. En caso de empate, se aplican las siguientes reglas, consulte https://bitcoin.stackexchange.com/a/37275/60443
oficial de problemas - nf Monica
oficial de problemas - nf Monica
JBaczuk
block_target
JBaczuk