La dificultad es un valor que se usa para mostrar qué tan difícil es encontrar un hash que será menor que el objetivo definido por el sistema.
La red Bitcoin tiene una dificultad de bloqueo global. Los bloques válidos deben tener un hash debajo de este objetivo. Los grupos de minería también tienen una dificultad de compartir específica del grupo que establece un límite inferior para los recursos compartidos.
Dificultad de minería de Bitcoin
En la red de Bitcoin hay una dificultad global establecida para todos los bloques. De bloque a ser considerado legítimo, debe tener un valor hash menor que el objetivo establecido.
Mapa de dificultad de minería de criptomonedas
La dificultad cambia cada bloque de 2016. Esto se calcula usando la siguiente fórmula:
donde el objetivo es un número de 256 bits.
La dificultad_1_objetivo puede tomar varios Valores. Tradicionalmente es una función hash, los primeros 32 bits de los cuales son iguales a 0 mientras que el resto son 1 (también se llama pdiff o dificultad de grupo). El protocolo Bitcoin proporciona un tipo de destino con punto flotante y precisión limitada. Los diferentes clientes de Bitcoin a menudo determinan la dificultad de las criptomonedas en función de estos datos.
Almacenamiento de la dificultad de las criptomonedas en bloques
Cada bloque contiene una versión empaquetada (llamada «Bits») del objetivo hexadecimal.
El uso de la siguiente fórmula objetivo se puede obtener de cualquier bloque. Por ejemplo, si un objetivo empaquetado en un bloque aparece como 0x1b0404cb, su versión hexadecimal tendrá el siguiente aspecto:
El valor máximo para este campo es 0x7fffff mientras que el mínimo es 0x008000.
Objetivo máximo posible ( con dificultad igual a 1) se define como 0x1d00ffff, que aparece como sigue en numeración hexadecimal:
La siguiente es una forma fácil de calcular la dificultad. Utiliza una versión alterada de la serie de Taylor en logaritmos y se basa en registros para transformar el cálculo de la dificultad.
Dificultad máxima, actual y mínima
La dificultad actual puede ser descubierto usando la línea de comando de Bitcoin «getDifficulty».
Debido a que la función objetivo no tiene un valor mínimo, la dificultad máxima se puede calcular solo aproximadamente de la siguiente manera: maximum_target / 1 (ya que 0 llevaría a la ecuación a ser infinitamente grande ) que es un número inconcebible (~ 2 al 224).
La dificultad mínima es igual a 1.
Cambios de dificultad
La dificultad cambia cada 2016 bloques basados en el tiempo que llevó descubrir bloques anteriores de 2016. Si se encuentra un bloque cada 10 minutos (como estaba previsto inicialmente para una emisión uniforme), encontrar bloques de 2016 llevará exactamente 2 semanas. Si se encontraron bloques anteriores de 2016 en más de dos semanas, la dificultad de la minería de criptomonedas se reducirá, y si se extrajeron más rápido, se aumentará. Cuanto más (o menos) tiempo se dedique a encontrar los bloques anteriores de 2016, más dificultad se reducirá (aumentará).
Para minar, el hash de un bloque tiene que ser menor que targer (prueba de trabajo) . Hash es un número aleatorio entre 0 y 2 * 256-1.
La dificultad se establece como si hubiéramos encontrado bloques anteriores de 2016 a la velocidad de un bloque cada 10 minutos
Tiempo promedio de encontrar un solo bloque se puede calcular usando esta fórmula: tiempo = dificultad * 2 ** 32 / hashrate donde «dificultad» es el nivel de dificultad de criptomoneda actual de la red de dificultad BTC y «hashrate» es la cantidad de hashes que un minero encuentra por segundo.
¿Cuál es la dificultad actual?
Dificultad actual en línea, como resultado de getDifficulty de Bitcoin.
Tabla de dificultad de Bitcoin
¿Cuál es la dificultad máxima?
Hay no es un objetivo mínimo. La dificultad máxima es aproximadamente: maximum_target / 1 (ya que 0 daría como resultado infinito), que es un número ridículamente grande (aproximadamente 2 ^ 224).
La dificultad máxima real es cuando current_target = 0, pero no podríamos calcular la dificultad si eso sucediera (afortunadamente nunca lo hará, así que estamos bien)
¿Puede disminuir la dificultad de la red?
Sí, puede.
¿Cuál es la dificultad mínima de BTC?
La dificultad mínima, cuando el objetivo está en el valor máximo permitido, es 1.
¿Qué tasa de hash de red resulta en una dificultad determinada?
La dificultad se ajusta cada 2016 bloques en función del tiempo que llevó encontrar los bloques 2016 anteriores. A la velocidad deseada de un bloque cada 10 minutos, los bloques de 2016 tardarían exactamente dos semanas en encontrarlos. Si los bloques anteriores de 2016 tardaron más de dos semanas en encontrar, la dificultad se reduce. Si tardaron menos de dos semanas, la dificultad aumenta. El cambio en la dificultad es proporcional a la cantidad de tiempo durante o menos de dos semanas que los bloques anteriores de 2016 tardaron en encontrar.
Para encontrar un bloque, el hash debe ser menor que el objetivo. El hash es efectivamente un número aleatorio entre 0 y 2 ** 256-1.El desplazamiento para la dificultad 1 es
y para la dificultad D es
El número esperado de hashes que necesitamos calcular para encontrar un bloque con dificultad D es por lo tanto
o simplemente
La dificultad se establece de manera que los bloques anteriores de 2016 se habrían encontrado a una velocidad de uno cada 10 minutos, por lo que estábamos calculando (D * 2 ** 48 / 0xffff) hashes en 600 segundos . Eso significa que la tasa de hash de la red fue
sobre los bloques anteriores de 2016. Se puede simplificar aún más a
sin mucha pérdida de precisión.
En la dificultad 1, eso es alrededor de 7 Mhashes por segundo.
En el momento de escribir este artículo, la dificultad es 22012.4941572, lo que significa que durante el conjunto anterior de bloques de 2016 se encontró que la tasa de hash de red promedio era
¿Qué tan pronto puedo esperar generar un bloque?
(La eterna pregunta.)
El tiempo promedio para encontrar un bloque se puede aproximar calculando:
donde la dificultad es la dificultad actual, el hashrate es la número de hashes que su minero calcula por segundo, y el tiempo es el promedio en segundos entre los bloques que encuentra.
Por ejemplo, usando Python calculamos el tiempo promedio para generar un bloque usando una plataforma de minería de 1Ghash / s cuando la dificultad es 20000:
y descubre que se tarda un poco menos de 24 horas en promedio.
- Cualquiera que muele el hachís tiene las mismas posibilidades de «ganar» que cualquier otro. El juego de números es cuántos intentos puede hacer su hardware por segundo.
- Necesita conocer la dificultad (arriba) y su tasa de khash / seg (informada por el cliente).
- Minería La comparación de hardware tiene algunas estadísticas que pueden ayudarlo a predecir lo que podría obtener.
- Visite una calculadora o realice los cálculos usted mismo,
- http://www.alloscomp.com/bitcoin/calculator.php
- http://www.vnbitcoin.org/bitcoincalculator.php
- https://bitknock.com/calculator
- Recuerde que es solo probabilidad. No hay garantías de que gane cada N días.
Vea también
- Prueba de trabajo
- Bloque
- Lista de criptomonedas
- Confirmación de transacción
- Grupos de minería