Hashrate es la velocidad de los cálculos de minería. Cada intento produce un hash, un resultado numérico que se compara con la condición para encontrar un bloque. Un Hashrate mayor significa más intentos en el mismo tiempo, no una cantidad segura de bloques ni beneficios garantizados. Hay que distinguir el rendimiento del equipo, la estimación del pool y la de toda la red.
Anna enciende un ASIC Miner, un ordenador especializado en minería de Bitcoin, y ve 100 TH/s. La cifra no indica cuántos bitcoins ganará, sino unos 100 billones de intentos por segundo. Cada uno puede cumplir por azar la condición para encontrar un bloque; casi ninguno lo consigue. Esta forma de demostrar trabajo de cálculo se llama Proof of Work. Una máquina de 200 TH/s haría aproximadamente el doble de intentos en el mismo tiempo. Eso no mejora la probabilidad de cada intento ni promete cobrar exactamente el doble cada mes. También cuentan la dificultad, la competencia, el azar y los costes. Hashrate describe el ritmo de trabajo, no su resultado económico. Las abreviaturas acortan cifras grandes: H/s significa intentos por segundo, 1 TH/s es un billón de intentos por segundo, 1 PH/s equivale a 1 000 TH/s y 1 EH/s a 1 000 PH/s. Antes de comparar cifras, comprueba la unidad. [3] [7]
Una probabilidad no es un calendario de premios. La varianza es una medida estadística de cuánto se dispersan los resultados alrededor de su valor esperado. Aquí describe las fluctuaciones causadas por el azar al encontrar bloques. Con la misma dificultad, la frecuencia esperada de bloques aumenta aproximadamente en proporción al Hashrate, pero cada hallazgo sigue siendo aleatorio. Un minero con el 1 % del Hashrate total tiene aproximadamente un 1 % de probabilidad de encontrar el siguiente bloque, no una garantía de uno de cada cien. Esta varianza explica los pools y las fluctuaciones de los gráficos a corto plazo. [7]
Anna compara la pantalla del equipo con su cuenta en un Mining Pool, un servicio que coordina varios mineros. Los valores pueden diferir. El equipo informa de su propia capacidad de cálculo; el pool la estima a partir de las shares aceptadas y su dificultad. Una share es un resultado verificable que cumple la condición más fácil del pool: demuestra trabajo, pero normalmente no es un bloque nuevo. Su cantidad fluctúa al azar. Los cortes de conexión y los resultados rechazados pueden ampliar la diferencia. El gráfico del Hashrate de toda la red se obtiene de otra manera. Nadie tiene un contador conectado a todos los mineros del mundo. Se observan los bloques encontrados, su dificultad y sus tiempos para estimar la velocidad de minería. Una breve racha de bloques rápidos puede elevar la estimación sin un aumento real de potencia. Un periodo más largo suaviza el azar, pero tarda más en reflejar cambios reales. [3]
Anna lee que el Hashrate de la red ha caído de golpe. Antes de concluir que se apagan equipos en masa, comprueba la fuente, la unidad y la ventana de medición: el periodo incluido en la estimación. Una ventana corta puede reflejar sobre todo una racha aleatoria de bloques lentos. También podría existir una interrupción real, pero un punto aislado no la demuestra. Conviene comparar periodos más largos y otros datos. En su propio equipo, Anna puede comparar la lectura del ASIC con la estimación del pool durante un periodo suficientemente largo y revisar shares rechazadas y conectividad. Para la red, Bitcoin Core ofrece getnetworkhashps: devuelve una estimación, no una medición directa. La comparación necesita conocer la ventana, la dificultad y las marcas de tiempo. Sin ese contexto, una cifra aparentemente precisa dice menos de lo que sugieren sus decimales. [1] [5] [6]
J/TH expresa energía en julios por cada billón de intentos. Un valor menor significa cálculo más eficiente, no necesariamente una factura menor para toda la instalación. El Hashrate por sí solo no determina el consumo eléctrico. La potencia eléctrica requerida depende de la eficiencia de la generación concreta de ASIC en J/TH, los ajustes de tensión y frecuencia, la refrigeración y los equipos auxiliares. El mismo rendimiento en EH/s puede requerir potencias eléctricas muy diferentes con distinta eficiencia. [9]
Mainnet es la red principal de Bitcoin. La dificultad se ajusta para acercar la media a largo plazo a un bloque cada diez minutos; la marca de tiempo es el dato temporal guardado en el bloque. En mainnet, el target se recalcula cada 2 016 bloques para aproximarse a un período de dos semanas, dentro de los límites del protocolo. Dos semanas es un objetivo, no un plazo fijo de calendario. Tras un aumento repentino del Hashrate, los bloques suelen llegar más rápido hasta el siguiente ajuste; tras una caída, más despacio. Bitcoin responde a las marcas temporales de los bloques sin medir directamente el Hashrate. [2] [4]
La velocidad de la máquina y la exigencia de la condición son cosas distintas. Puede calcular igual de rápido aunque encontrar un bloque sea más difícil. El target es el valor máximo permitido del hash de Proof of Work. La dificultad expresa su exigencia respecto a una dificultad de referencia. Un target menor implica más intentos esperados. Hashrate describe la velocidad de los intentos; la dificultad expresa el trabajo esperado para cumplir la condición de Proof of Work, no el cumplimiento de las demás reglas de validez del bloque. [2] [8]
La confirmación significa que un bloque incluye el pago y, quizá, ya tiene otros bloques detrás. Chainwork no cuenta todos los intentos observados de las máquinas: deriva el trabajo de la dificultad de los bloques encontrados. Hashrate es la velocidad del trabajo; chainwork es el trabajo esperado acumulado que representan los bloques de una rama concreta. Las confirmaciones adicionales refuerzan la resistencia del historial porque sustituirlo exige crear una rama válida que supere su trabajo acumulado. Un cambio de Hashrate hoy no modifica retroactivamente el chainwork de bloques anteriores. [7] [8]
Un Reorg cambia la rama aceptada del historial. Un Full Node es un programa que verifica por sí mismo los bloques y las transacciones según las reglas de Bitcoin; un minero potente no reescribe esas comprobaciones. Un Hashrate mayor aumenta la probabilidad de que un minero prolongue su propia rama. Controlar la mayoría del Hashrate de la red aumenta mucho la capacidad de censurar transacciones o realizar un Reorg profundo, pero no puede hacer válido un bloque que infringe las reglas de consenso del nodo. La potencia de hash influye en la selección entre historiales válidos; los Full Node aplican las reglas de validez de forma independiente. [4] [7]
Para profundizar: la cabecera resume los datos del bloque. Nonce es un número modificable en ella; Extranonce, otro valor modificable de la transacción de recompensa; Merkle Root, una huella que resume las transacciones. Los campos version y nTime indican versión y marca de tiempo. 1 H/s significa un intento de hash de Proof of Work por segundo. Bitcoin calcula doble SHA-256 sobre una cabecera de bloque de 80 bytes. El minero modifica Nonce, la raíz de Merkle mediante Extranonce en la transacción coinbase o los campos version y nTime dentro de los límites permitidos. Un Hashrate mayor significa más intentos independientes por unidad de tiempo, no una mayor probabilidad de éxito por intento. [3] [4]
RPC es una interfaz para pedir datos a un nodo. Aquí importa el método de cálculo, no la lectura de un contador mundial. La RPC getnetworkhashps de Bitcoin Core devuelve una estimación de hashes por segundo a partir de bloques recientes. La implementación divide el incremento del trabajo acumulado entre la diferencia de las marcas temporales máxima y mínima de los bloques de la muestra. La ventana predeterminada es de 120 bloques; nblocks=-1 selecciona el período desde el último cambio de dificultad. Las ventanas más cortas reaccionan antes, pero fluctúan más por el azar. [1] [5]
Para obtener la imagen más completa, lee esta entrada junto con Minería, ASIC Miner, Difficulty Adjustment, Proof of Work, Hashprice, Bitcoin. También enlazan con esta entrada ASIC Miner, Mining Pool, Selfish Mining, Solo Mining.