¿Como se calcula el hashrate de Bitcoin?

Como se calcula el hashrate de bitcoin

Es fácil ver en redes sociales, webs o chats de manera continua la potencia computacional en la red Bitcoin por parte de los mineros. Pero estos resultados no son realmente la potencia que hay en total, ya que esto no posible saberlo con certeza y lo que se hace es una aproximación en función de una ecuación. En esta, la parte importante es la diferencia entre los bloques generados en las últimas 24h y los que se deberían obtener, junto con la dificultad de la red aplicada por Bitcoin.

Ecuación del hashrate

Desde la web de blockchain.com tenemos una formula para obtener este valor:

H = ((Br/Be) * D * 2 32) / T

Br = Bloques generados en 24h.
Be = Bloques estimados en 24h ((60/10) x 24) = 144.
D = Nivel de dificultad asignada.
T = Tiempo para generar un bloque en segundos (siempre 600)

Pasos para calcularlo uno mismo

Para esto es necesario buscar los valores Br y D, ya que el resto son valores conocidos.

Buscar el valor Br

Por medio de un explorador de Bitcoin, yo he usado el de blockchain.com, es posible encontrar este valor. Lo sacamos de la resta del bloque actual y el bloque que se ha generado a la misma hora hace exactamente 24h.

Br = ( Bloque actual – Bloque de hace 24h )

  • Ejemplo de las 12:20 15/09/2020
  • Bloque actual: 648397
  • Bloque 24h: 648237

Br = ( 648397 – 648237 ) = 160

Explorador Bitcoin de blockchain.com donde buscar los bloques para la operación
https://www.blockchain.com/btc/blocks?page=1

Buscar el valor D

Desde el nodo de Bitcoin es posible averiguar la dificultad, pero también es sencillo buscarlo por alguna web que nos lo indique:
https://www.coinwarz.com/mining/bitcoin/difficulty-chart

Ejemplo de las 12:20 15/09/2020

D = 17345997805929

Aplicando la formula

H = ((Br/Be) * D * 2 32) / T

Br = 160
Be = 144
D = 17345997805929
T = 600

 H = ((160/144) * 17345997805929 * 2 32) / 600 

= 1,379638764 × 10 20= 
= 137,9638764 x 10 18 = 
= 137,96 EHs/sg
10 3 k kilo
10 6 M mega
10 9 G giga
10 12 T tera
10 15 P peta
10 18 E exa
10 21 Z zetta
10 24 Y yotta

Script para los aventureros

Ya de paso que hacía este artículo, también he aprovechado para crear un script que junto con un nodo de Bitcoin sea posible sacar este dato sin necesidad de buscar en ningún lado. Tarda unos 15sg en darnos el dato.

Cualquier sugerencia con el script es bienvenido, ya que no he pensado demasiado en optimizarlo o buscar la mejor manera de sacarlo.

https://github.com/blockmit/ScriptsBitcoin

Guardar archivo y asignarle permisos de ejecución. El resultado se verá algo así:

Finalizando

Este método es el que se usa de manera habitual para calcular el hashrate y es posible modificar esta ecuación para 12h, 6h, 48h o las horas que se quiera. Únicamente habría que modificar Br y Be según lo que vayamos a preferir.

Links de interés

Formula hashrate diario
https://www.blockchain.com/charts/hash-rate
Nivel dificultad en red Bitcoin
https://www.coinwarz.com/mining/bitcoin/difficulty-chart
Explorador Bitcoin
https://www.blockchain.com/btc/blocks?page=1
Github donde encontrar el código
https://github.com/blockmit/ScriptsBitcoin

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments