Estoy tratando de entender el hashrate de geth y la configuración de dificultad de Ethereum. Estoy ejecutando una red de prueba privada y configuro la dificultad en un valor fijo (a big.NewInt(250)
) como se describe en https://ethereum.stackexchange.com/a/7159/5293 . Comienzo la minería de CPU en geth usando un hilo con miner.start(1)
. Luego mido el hashrate con eth.hashrate
, por lo general es un valor entre 8 y 12 (digamos h = 10 H/s en promedio). Medí el tiempo de bloqueo promedio minando durante 15 minutos y fue de alrededor de 65 segundos.
Ahora, me gustaría usar la configuración de dificultad y el hashrate para calcular el tiempo de bloqueo esperado. Si lo calculara de la forma en que se usan los términos 'dificultad' (d) y 'hashrate' (h) en Bitcoin, obtendría
t = 2 ^ 32 * d / h,
que ni siquiera está cerca de los 65 segundos.
Estoy ejecutando geth en una CPU Intel(R) Core(TM) i5, con 2,80 GHz. Supongo que el valor h = 10 H/s es bastante inútil, ya que debería ser mucho más alto (pero ¿de dónde viene entonces)? Con mi procesador, asumo que no puedo llegar más alto que tal vez h = 50 kH/s. Sin embargo, para producir los 65 segundos, necesitaría una tasa de hash de
h = 2 ^ 32 * d / t = 1.7 * 10 ^ 10
que es mucho más alto que mi hashrate máximo.
No tienes razón.
La fórmula exacta que estás preguntando es t = d / h.
q9f
Pold