¿Cómo sabemos que la función HASH producirá una salida que satisfaga la dificultad, es decir, que esté por debajo de 0000...xxxx...xxx?
¿Es posible que no se encuentre ninguna prueba para que el HASH produzca esa salida 000...xxx...?
Lo importante aquí es que cada pool de minería/minero solitario está trabajando en una entrada diferente : tienen diferentes transacciones de base de monedas y están trabajando en diferentes conjuntos de transacciones. Se puede agregar más entropía cambiando el nonce y el extranonce, agregando otra transacción o cambiando el orden de las transacciones.
Si bien puede haber entradas de bloque que no funcionen con ningún nonce, la red completa atraviesa tantas entradas diferentes que, en algún momento, se descubrirá un bloque válido.
Debido a que el proceso hash se implementa como un proceso de Poisson , si el poder hash de la red coincide con la dificultad, el tiempo esperado para encontrar el siguiente bloque es exactamente 10 minutos en cada momento.
La probabilidad de X
encontrar una cantidad de bloques en un período de tiempo en el que esperaría encontrar λ
bloques se puede calcular con la siguiente fórmula :
Entonces, para calcular la probabilidad de que un intervalo entre bloques sea más largo que la media (10 minutos en un mundo ideal) por un factor λ
, obtenemos p(0|λ) = exp(-λ)*(λ^0)/(0!) = exp(-λ)*1/1 = exp(-λ)
, por ejemplo, la probabilidad de que un intervalo de bloque sea
Si bien no es imposible que ocurran tiempos más largos, es muy poco probable que suceda.
En los últimos dos años, el tiempo promedio de confirmación de bloque de siete días nunca ha superado los 15 minutos. Ver tiempo promedio de confirmación de transacción de Bitcoin
En los primeros días de Bitcoin, las fluctuaciones más grandes eran más comunes debido a la potencia minera fluctuante, consulte, por ejemplo, ¿Cuál es la brecha de tiempo más larga entre bloques en 2010 - 2011? .
Puede encontrar una lista de todos los intervalos de bloques hasta enero de 2014 ordenados por longitud aquí: Intervalos de bloques ordenados .
La primera columna denomina los bloques que forman el intervalo, la segunda columna da el intervalo del bloque en segundos. Fuente: runeks en reddit: ¿Cuál es el tiempo más largo entre bloques en la historia de bitcoin?
No podemos saber con absoluta certeza que se encontrará un bloque. Sin embargo, podemos calcular aproximadamente las probabilidades.
La dificultad de bloque actual requiere aproximadamente 63 bits cero al comienzo del hash. La probabilidad de encontrar un bloque con un hash es de aproximadamente 2**(-63)
. La probabilidad de no encontrar un bloque es (1 - 2**(-63))
. La probabilidad, por lo tanto, de no encontrar un bloque después N
de los intentos de hash es (1 - 2**(-63))**N
.
La tasa de hash de la red actual es de aproximadamente 30 000 000 GH/s, o 3e16 H/s. En 10 minutos, la red puede hacer alrededor de 1.8e19 hashes. Usando este valor como se indicó N
anteriormente y calculando el resultado , se obtiene 0.14205174, que nuevamente es la probabilidad de no encontrar un bloque después de 10 minutos.
Dado lo anterior, puedes extender el tiempo y calcular algunas probabilidades más:
Sin resultado en una hora => 0.00000821 = 8.21e-6
Sin resultado en un día => 8.96e-123
Es extremadamente improbable que no se encuentre ningún resultado para un bloque después de un día.
N
veces y nunca obtener un 1 es (5/6)**N
.
usuario10386
muro