A dificuldade é um valor usado para mostrar o quão difícil é encontrar um hash que será menor do que o alvo definido pelo sistema.
A rede Bitcoin tem uma dificuldade de bloqueio global. Os blocos válidos devem ter um hash abaixo desse alvo. Os pools de mineração também têm uma dificuldade de compartilhamento específica de pool definindo um limite inferior para compartilhamentos.
Dificuldade de mineração de Bitcoin
Na rede Bitcoin, há dificuldade global definida para todos os blocos. ser considerado legítimo, deve ter um valor de hash menor do que o alvo definido.
Mapa de dificuldade de mineração de criptomoeda
A dificuldade muda a cada blocos de 2016. Isso é calculado usando a seguinte fórmula:
onde o destino é um número de 256 bits.
O Difficulty_1_target pode ter vários Tradicionalmente, é uma função hash, os primeiros 32 bits são iguais a 0, enquanto o restante é 1 (também é chamado de pdiff ou dificuldade de pool). O protocolo Bitcoin fornece alvo como um tipo com ponto flutuante e precisão limitada. Diferentes clientes Bitcoin geralmente determinam a dificuldade de criptomoeda com base nesses dados.
Armazenamento de dificuldade de criptomoeda em blocos
Cada bloco contém uma versão compactada (chamada de “bits”) do destino hexadecimal.
Usar a seguinte fórmula de destino pode ser obtida a partir de qualquer bloco. Por exemplo, se um alvo compactado em um bloco aparecer como 0x1b0404cb, sua versão hexadecimal terá a seguinte aparência:
O valor máximo para este campo é 0x7fffff enquanto o mínimo é 0x008000.
Alvo máximo possível ( com dificuldade igual a 1) é definido como 0x1d00ffff que aparece da seguinte forma em numeração hexadecimal:
Next é uma forma fácil de cálculo de dificuldade. Ele usa uma versão alterada da série de Taylor para logaritmo e depende de registros para transformar o cálculo da dificuldade.
Dificuldade máxima, atual e mínima
A dificuldade atual pode ser descoberto usando a linha de comando “getDifficulty” do Bitcoin.
Devido à função de destino não ter um valor mínimo, a dificuldade máxima pode ser calculada apenas aproximadamente como a seguir: maximum_target / 1 (como 0 levaria a equação a ser infinitamente grande ) que é um número inconcebível (~ 2 elevado a 224).
A dificuldade mínima é igual a 1.
Mudanças de dificuldade
A dificuldade muda a cada 2016 blocos com base no tempo que levou para descobrir os blocos anteriores de 2016. Se um bloco for encontrado a cada 10 minutos (como se pretendia inicialmente para emissão uniforme), encontrar blocos de 2016 levará exatamente 2 semanas. Se os blocos de 2016 anteriores foram encontrados em mais de duas semanas, a dificuldade de mineração de criptomoedas será reduzida e, se eles forem minerados mais rápido, então ela aumentará. Quanto mais (ou menos) tempo foi gasto para encontrar os blocos de 2016 anteriores, mais dificuldade será reduzida (aumentada).
Para minerar, um hash de bloco deve ser inferior ao targer (prova de trabalho) . Hash é um número aleatório entre 0 e 2 * 256-1.
A dificuldade é definida como se tivéssemos encontrado blocos de 2016 anteriores na velocidade de um bloco por 10 minutos
Tempo médio de encontrar um único bloco pode ser calculado usando esta fórmula: tempo = dificuldade * 2 ** 32 / hashrate onde “dificuldade” é o nível de dificuldade atual da criptomoeda da rede de dificuldade BTC e “hashrate” é a quantidade de hashes que um minerador encontra por segundo.
Qual é a dificuldade atual?
Dificuldade atual online, conforme saída de getDifficulty do Bitcoin.
Gráfico de dificuldade do Bitcoin
Qual é a dificuldade máxima?
Há não é um alvo mínimo. A dificuldade máxima é aproximadamente: maximum_target / 1 (visto que 0 resultaria em infinito), que é um número ridiculamente grande (cerca de 2 ^ 224).
A dificuldade máxima real é quando current_target = 0, mas não seríamos capazes de calcular a dificuldade se isso acontecesse (felizmente, nunca será, então estamos bem.)
A dificuldade da rede pode diminuir?
Sim, pode.
Qual é a dificuldade mínima de BTC?
A dificuldade mínima, quando o alvo está no valor máximo permitido, é 1.
Qual taxa de hash da rede resulta em uma determinada dificuldade?
A dificuldade é ajustada a cada blocos de 2016 com base no tempo que levou para encontrar os blocos de 2016 anteriores. Na taxa desejada de um bloco a cada 10 minutos, os blocos de 2016 levariam exatamente duas semanas para serem encontrados. Se os blocos de 2016 anteriores demoraram mais de duas semanas para serem encontrados, a dificuldade é reduzida. Se demoraram menos de duas semanas, a dificuldade aumenta. A mudança na dificuldade é proporcional ao tempo em ou menos de duas semanas que os blocos de 2016 anteriores levaram para encontrar.
Para encontrar um bloco, o hash deve ser menor que o alvo. O hash é efetivamente um número aleatório entre 0 e 2 ** 256-1.O deslocamento para a dificuldade 1 é
e para a dificuldade D é
O número esperado de hashes que precisamos calcular para encontrar um bloco com dificuldade D é, portanto,
ou apenas
A dificuldade é definida de tal forma que os blocos de 2016 anteriores teriam sido encontrados na taxa de um a cada 10 minutos, então estávamos calculando (D * 2 ** 48 / 0xffff) hashes em 600 segundos . Isso significa que a taxa de hash da rede foi
em relação aos blocos de 2016 anteriores. Pode ser ainda mais simplificado para
sem muita perda de precisão.
Na dificuldade 1, isso é cerca de 7 Mhashes por segundo.
No momento da redação, a dificuldade é 22012.4941572, o que significa que em relação ao conjunto anterior de blocos de 2016 encontrados, a taxa média de hash da rede era
Em quanto tempo devo esperar gerar um bloco?
(A questão eterna.)
O tempo médio para encontrar um bloco pode ser aproximado calculando:
onde a dificuldade é a dificuldade atual, hashrate é o número de hashes que seu minerador calcula por segundo e o tempo é a média em segundos entre os blocos que você encontra.
Por exemplo, usando Python, calculamos o tempo médio para gerar um bloco usando uma plataforma de mineração de 1 Ghash / s quando a dificuldade for 20.000:
e descobrir que leva menos de 24 horas em média.
- Qualquer um que moa o hash tem a mesma chance de “ganhar” que qualquer outro. O jogo dos números é quantas tentativas seu hardware pode fazer por segundo.
- Você precisa saber a dificuldade (acima) e sua taxa de khash / s (relatada pelo cliente).
- Mineração a comparação de hardware tem algumas estatísticas que podem ajudá-lo a prever o que você pode obter.
- Visite uma calculadora ou faça você mesmo as contas,
- http://www.alloscomp.com/bitcoin/calculator.php
- http://www.vnbitcoin.org/bitcoincalculator.php
- https://bitknock.com/calculator
- Lembre-se de que é apenas uma probabilidade! Não há garantias de que você vai ganhar a cada N dias.
Veja também
- Prova de trabalho
- Bloco
- Lista de criptomoedas
- Confirmação de transação
- Piscinas de mineração