Velocidade de Hashing aceite, rejeitada e shares
Neste artigo iremos explicar como é que a mineração funciona, como trabalha a NiceHash, como é que é pago, como verificar se o seu sistema de mineração está totalmente otimizado e em perfeito funcionamento e, principalmente, iremos ensiná-lo a ler os gráficos da NiceHash. Este artigo também irá mostrar-lhe como pode avaliar outros mineiros e compará-los com o NiceHash QuickMiner.
Mineração de criptomoedas na NiceHash (versão muito simplificada)
A mineração de criptomoedas nada mais é do que realizar cálculos de valores hash - é uma função matemática unilateral que calcula o resultado Xa de um valor inserido Ia. Cada valor inserido Ia tem também um número especial a ser adicionado, este tem duas partes: Ns (nonce-server) e Nm (nonce-miner). O seu mineiro obtém um trabalho dos servidores da NiceHash, que contém os valores Ia e Ns. O seu software mineiro escolhe (normalmente apenas fazendo iterações ++1) o valor Nm para cada cálculo a efetuar e, depois, calcula o resultado segundo a seguinte fórmula:
Xa = HASH(Ia + Ns + Nm)
O número Xa é bastante grande. Se este número for inferior a um valor Ta (target - também incluído no trabalho), o seu mineiro encontra uma share, e o valor Nm correspondente é enviado para a NiceHash como uma proof-of-work (prova de trabalho). Isto prova que o mineiro está, de facto, a trabalhar para encontrar o nonce apropriado. Como a HASH é uma função de sentido único, os mineiros são forçados a experimentar muitos nonces. A mineração a 60 MH/s significa que o seu mineiro está a experimentar 60 milhões de nonces por segundo e a fazer 60 milhões de cálculos de HASH por segundo.
Shares
Quando tem sorte, o seu mineiro encontra um nonce, Nm, apropriado e envia-o, juntamente com o ID do trabalho, para os servidores da NiceHash formando uma share. Depois, a NiceHash pode:
- aceitar a share como válida,
- rejeitar a sua share como inválida - um cálculo errado, ou
- rejeitar a sua share como stale - chegou demasiado tarde.
Shares Aceites
O nonce que encontrou está correto (não houve nenhum erro no cálculo), e a share chegou ao servidor a tempo. Normalmente, pode ver shares aceites quando a janela da consola do mineiro o informa, por exemplo:
net | daggerhashimoto | Share #114 accepted (31 ms)
É pago uma quantia fixa de BTC por esta share. A quantidade de BTC que a share vale depende de dois fatores:
- quão difícil foi o trabalho realizado e
- quanto é que os compradores estão atualmente a pagar.
1 * algo_const)/Da. Da é a dificuldade. Quanto mais alta a dificuldade, mais pequeno será o valor de Ta e para o mineiro, é mais difícil (leva mais tempo) de adivinhar qual o Xa apropriado, que seria inferior a Ta. Na verdade, se aumentarmos a dificuldade para o dobro, o valor de Ta diminui para metade, e o seu mineiro só irá encontrar metade das shares no mesmo período de tempo. Cada trabalho tem um certo valor Da anexado (definido pelos servidores da NiceHash). Quando o seu mineiro encontra uma share para um trabalho que tem um valor Da 2x mais alto, então, o fator de dificuldade desta share é 2x maior e vale o dobro de uma share para um trabalho Da x1.
A NiceHash ajusta o valor Da (dificuldade) dinamicamente, dependendo da velocidade do mineiro:
- Se o mineiro for muito rápido e estiver a submeter share mais frequentemente do que o esperado, então a NiceHash aumenta a dificuldade.
- Se o seu mineiro for mais lente e raramente submeter shares, a Nicehash irá diminuir a dificuldade.
Por esta razão, não interessa quantas shares o seu mineiro encontra, mas sim o número shares com uma certa dificuldade que encontra. Este valor pode ser melhor representado através de um gráfico bidimensional de velocidade aceite.
Temos 6 rigs com as seguintes velocidades de mineração: 587 MH/s, 409 MH/s, 261 MH/s, 215 MH/s, 214 MH/s and 121 MH/s. A velocidade total de todas as rigs é de 1807 MH/s.
Quando verificamos a velocidade média por um longo período de tempo (pelo menos várias horas para várias rigs ou para rigs grandes e vários dias para rigs mais pequenas ou únicas), a velocidade deve corresponder à nossa velocidade total da rig, conforme visível no gráfico abaixo. A velocidade total aceita no gráfico é menor, porque precisamos de contabilizar uma taxa de rejeição de 1,14%. Na velocidade de ~ 1800 MH/s, isto equivale a aprox. 20 MH/s. Quando deduzimos 20 MH/s da nossa velocidade total da rig de 1807 MH/s, obtemos 1787 MH/s. O nosso gráfico mostra 1791 MH/s, o que é 4 MH/s acima - isto pode ser atribuído a uma maior sorte durante este período de tempo. Também nos diz que o mineiro escolhido está a indicar a velocidade de hashing de maneira honesta e correta.

IMPORTANTE! O gráfico da velocidade aceite na NiceHash é o mais importante. Este gráfico mostra-lhe a verdadeira performance do seu mineiro. Se o seu gráfico mostra números muito inferiores àqueles mostrados na consola do mineiro, está a ser enganado! É sabido que alguns mineiros terceiros alteram a velocidade de mineração mostrada na consola artificialmente e, na maioria dos casos, os mineiros não deduzem a velocidade da devfee. Por estas razões, poderá ter a impressão de que o seu mineiro tem uma ótima performance e uma velocidade muito rápida, mas, na NiceHash, o seu gráfico de velocidade aceite mostra uma história. Não importa a velocidade que o seu mineiro apresenta, mas sim o que diz o gráfico de velocidade aceite na NiceHash - é pago diretamente de acordo com isto!
O NiceHash Rig Manager mostra a:
- o lucro local
- o lucro real.
Lucro Local: é a velocidade reportada pelos seus mineiros, multiplicada pela lucratividade atual. Este valor é mais estável, mas pode estar errado se o mineiro estiver a mostrar velocidades erradas propositadamente.
Lucro Real: é calculado através da multiplicação da velocidade aceite com a lucratividade atual. É por isso que se chama real - é este o valor que realmente recebe.
Shares Rejeitadas - share above target
Quando tem este tipo de share rejeitada, significa que o seu mineiro enviou um cálculo errado ou inválido e, consequentemente, um resultado errado. Normalmente, isto acontece quando efetua um overclock excessivo à VRAM - a memória deixa de estar estável e erros acontecem. Naturalmente, não será pago por nenhum tipo de share rejeitada. Não deverá ter muitas destas shares rejeitadas deste tipo (talvez uma ou outra ocasionalmente). No Rig Manager, poderá filtrar todas as outras shares e ver apenas a média, em percentagem, de share do tipo "above target".
No nosso exemplo, tivemos apenas algumas shares rejeitadas do tipo target. Por esta razão, o gráfico tem apenas dois picos e a percentagem é tão baixa que, ao arredondar às duas casas decimais, o resultado mostra 0.00%. Isto diz-nos que as nossas rigs estão devidamente otimizadas e configuradas corretamente, não produzindo muitas shares rejeitadas do tipo "above target".

Share Rejeitadas - job not found (stale)
Este tipo de rejeição é inevitável. Estas dependem de vários fatores, incluindo a latência da sua rede até aos servidores da NiceHash. É por esta razão que é importante escolher aquele com a menor latência, como instruído aqui. Para além disto, estas shares rejeitadas podem também depender do software mineiro escolhido. Um software mineiro que esteja a enviar shares antigas para trabalhos que já não são válidos irá gerar stale shares. É importante que os mineiros alterem rapidamente e que comecem a trabalhar no novo trabalho, quando o trabalho antigo já não é válido. O Excavator efetua esta operação em aproximadamente 1-2 milissegundos ao utilizar CPUs modernos.
A nossa percentagem de stale shares é de 0.97%. Isto significa que estamos a perder cerca de 1% dos possíveis lucros. Com uma velocidade total da rig de aproximadamente 1800 MH/s, isto significa que estamos a perder cerca de 18 MH/s dessa hash rate.

Mas porque é que os trabalhos ficam inválidos (stale)? O seu mineiro está a efetuar trabalho para uma blockchain - onde há novos blocos a cada poucos minutos ou segundos. Quando um novo bloco é encontrado, os trabalhos anteriores ficam inválidos (stale) e não podem ser mais utilizados. No Excavator, quando um trabalho tem um novo sufixo (clean), todos os outros trabalhos anteriores ficam inválidos.
Para que servem as shares? Uma share com uma dificuldade extremamente alta, que tem uma dificuldade superior à dificuldade da blockchain, é a solução que cria um novo bloco na blockchain.