Share Difficulty expresa lo exigente que es la condición que debe cumplir un resultado de minería para que el pool lo acepte como share, una prueba periódica del trabajo realizado. Una dificultad mayor implica, en promedio, menos resultados válidos para el mismo número de intentos. Es un ajuste distinto de la dificultad para encontrar un bloque en la red Bitcoin.
La minería produce hashes: resultados de cálculo que pueden interpretarse como números. Para que el pool pueda aceptar un resultado, este no debe superar el objetivo establecido. Un objetivo menor es más estricto porque menos resultados quedan por debajo. Por eso Share Difficulty aumenta cuando baja el objetivo numérico. Para quien quiera conocer el protocolo: Stratum V2, las reglas de comunicación con el pool, envía este límite en el campo target del mensaje SetTarget. No hace falta conocer el formato para entender la idea: un límite numérico más bajo impone una condición más difícil al minero. [1]
Imagina que el pool sube la dificultad de Petra de 1024 a 2048. Con la misma potencia de cálculo y la dificultad medida en la misma escala, esperamos aproximadamente la mitad de resultados válidos durante un período igual. La máquina sigue haciendo intentos a la misma velocidad; simplemente menos resultados pasan el filtro más estricto. Los intervalos individuales siguen siendo aleatorios. Petra no debe esperar que cada share siguiente llegue exactamente después del doble de tiempo. [2]
Contar solo mensajes sería comparar cosas distintas. Por eso Braiins explica la contabilidad mediante unidades de trabajo ponderadas según la dificultad. Dos resultados aceptados con dificultad 1024 tienen el mismo peso conjunto que uno con dificultad 2048. Menos mensajes no demuestran una contribución menor. Tampoco debe Petra confundir ese peso contable con el número exacto de cálculos realmente ejecutados: es una prueba estadística del trabajo. La recompensa monetaria depende además de las reglas del pool. [3]
Cambiar Share Difficulty no acelera por sí mismo el ASIC, el chip especializado de la máquina minera. Tampoco modifica el objetivo de la red para un bloque de Bitcoin. Con el mismo número de intentos independientes y la misma dificultad de red, la probabilidad de encontrar un bloque sigue igual. El pool solo cambia qué resultados intermedios quiere recibir. Bajar la dificultad de los shares no facilita la creación de bloques de Bitcoin. [3]
Con un ajuste idéntico, las máquinas menos potentes y las más potentes enviarían cantidades de resultados muy diferentes. VarDiff, el ajuste automático de dificultad, equilibra esa diferencia y reduce el tráfico innecesario. Braiins también permite configurar un mínimo. Es un límite inferior, no una asignación fija: el pool puede elegir una dificultad mayor según la potencia de cálculo. Cuando Petra compara su configuración con la pantalla actual, primero debe saber si está leyendo el mínimo o la dificultad realmente asignada. [2]
El software necesita saber a qué trabajo afecta un cambio. Según la especificación actual de Stratum V2, SetTarget se aplica a los trabajos recibidos después y a los trabajos futuros recibidos anteriormente cuyo ntime_start esté vacío. Este campo fija la marca de tiempo inicial de la cabecera del bloque, que resume sus datos esenciales. El campo vacío identifica un trabajo que todavía espera ser activado. Un trabajo ya recibido con ntime_start definido conserva su objetivo. Para investigar un rechazo no basta, por tanto, con comparar el resultado con el último límite: hay que asociarlo al trabajo correcto. Normalmente lo hace el software de minería. [1]
Petra también puede encontrar el indicador best share. Braiins Solo, por ejemplo, lo utiliza para el share de mayor dificultad hallado durante una sesión de minería. La dificultad asignada describe la condición que bastaba para enviar el resultado; best share indica lo poco frecuente que fue el resultado realmente encontrado. Un récord no es progreso acumulado hacia un bloque. Ni siquiera un resultado excepcional aumenta la probabilidad del siguiente intento independiente. [4]
Un mínimo manual demasiado alto puede producir envíos tan espaciados que la estimación de potencia de cálculo fluctúe mucho. La supervisión podría lanzar una alarma aunque el ASIC siga funcionando. Una pausa breve sin shares no demuestra por sí sola una avería. Petra compara la dificultad asignada, el período observado, el trabajo aceptado y el estado de la conexión. Esos datos juntos le ayudan a distinguir el azar habitual de un problema real. [2]
Para obtener la imagen más completa, lee esta entrada junto con Mining Share, Mining Target, Hashrate, Mining Pool, Bitcoin. También enlazan con esta entrada Mining Pool, Stratum V1, Stratum V2, Mining Share.