¿Cómo se propaga la dificultad de la minería de bitcoin?

Digamos que la dificultad actual se establece en encontrar un hash con 4 ceros a la izquierda; una vez que se encuentra, se propaga un bloque con este hash. Cada cliente que recibe este bloque comprueba que tiene 4 ceros a la izquierda y acepta este bloque como válido, agregándolo a su propia cadena.

Tengo entendido que la única información que envía un minero, cuando resuelve su hash, es este bloque que ha creado (que contiene el hash resuelto y los detalles de todas las transacciones que usó al crear el hash). Esta información, y solo esta información, luego se propaga al resto de la red.

Ahora, ¿cómo el "servidor central de bitcoin", o lo que sea, propaga el cambio de dificultad cada 2 semanas? ¿Requeriría que todos actualizaran su software de cliente para reconocer que los nuevos bloques solo son válidos si ahora tienen 5 ceros a la izquierda, o hay algún mecanismo ingenioso que me falta? En una nota al margen, realmente no entiendo cómo se resuelven las bifurcaciones; ¿Es esto relevante para la forma en que se trata este problema?

Respuestas (1)

La dificultad se almacena en el bloque en el campo Bits . Cuando cualquier servidor recibe un bloque, una de las cosas que hace es verificar si el valor en este campo es correcto. Si no es un bloque donde cambia la dificultad, debe tener la misma dificultad que el bloque anterior. Si es un bloque donde la dificultad cambia, entonces debe tener la dificultad correcta de acuerdo con el conocido algoritmo de ajuste de dificultad de Bitcoin.

No hay un "servidor central de bitcoin".

Las bifurcaciones se resuelven de la siguiente manera:

  1. Los bloques que no son válidos se ignoran. Solo se consideran las cadenas de bloques que consisten completamente en bloques válidos.

  2. La cadena de bloques que probablemente habría requerido el mayor esfuerzo para crearla (dificultad total más alta) gana.