Prefácio
O Qtum usa um mecanismo de consenso PoS, com um intervalo médio de bloco de 128 segundos. O status real da operação da rede mostra que o intervalo médio do bloco é de cerca de 144 segundos e o tempo de geração do bloco flutua muito. Para resolver este problema, o QIP-9 propõe um novo algoritmo de ajuste de dificuldade, que reduz o intervalo médio do bloco para uma média de 128 segundos e reduz bastante a flutuação do intervalo do bloco aumentando nPoWTargetTimespan .
Além disso, a variação dos resultados do cálculo do algoritmo de estimativa de potência de computação em toda a rede existente é muito grande, com flutuações de até 40%, e é difícil para os usuários obter dados de potência de computação em toda a rede mais precisos. O QIP-9 reduz significativamente a variância do resultado do cálculo, fixando o valor do denominador no algoritmo original, tornando o rendimento de mineração estimado mais preciso .
Algoritmo de ajuste de dificuldade QIP-9
1. Análise do algoritmo de ajuste de dificuldade do Qtum
As principais alterações do algoritmo de ajuste de dificuldade QIP-9 estão em [1] e [2]. Existem duas mudanças:
-
Altere o algoritmo de ajuste de dificuldade de linear para exponencial;
-
Altere nPoWTargetTimespan de 960 para 4000.
Para moedas contendo UTXO, a condição para minerar um bloco é
Hash (kernel) <moedas × THash (kernel) <moedas ×
T
,entre eles
T
É o objetivo da mineração. Combinando a fórmula do algoritmo de ajuste de dificuldade Qtum [1] A relação entre o próximo bloco alvo de mineração T n + 1 e o bloco atual alvo de mineração T n , ou seja, o algoritmo de ajuste de dificuldade de mineração pode ser simplificado para
Antes do garfo duro:
Após o garfo duro:
Onde tn é o intervalo de bloco do bloco atual,
α = 64⋅ (⌊nPoWTargetTimespan / 128⌋ + 1) α = 64⋅ (⌊nPoWTargetTimespan / 128⌋ + 1) é o coeficiente de ajuste. Se o intervalo de bloco atual for maior que 128 segundos, o alvo de mineração do próximo bloco aumentará e a dificuldade diminuirá para atingir o efeito de estabilizar o intervalo de bloco e vice-versa. O grau de ajuste de dificuldade pode ser alterado mudando a magnitude de α . Quanto maior a faixa de ajuste, maior a mudança na dificuldade de mineração e maior a flutuação do intervalo do bloco. Através do cálculo, pode-se saber que α = 512 antes da bifurcação e α = 2048 após a bifurcação .
A partir da altura do bloco de 390.000, o intervalo médio entre todos os blocos PoS na rede principal Qtum é 144,22 segundos, e o desvio padrão é 152,95 segundos. No estado ideal (o intervalo do bloco obedece à distribuição geométrica do valor esperado de 128 segundos), o intervalo do bloco é de 128 segundos e o desvio padrão é de 119,73 segundos. Pode-se ver que o valor médio e o desvio padrão do intervalo do bloco no resultado da operação real são muito maiores do que o valor do projeto. Isso ocorre porque o algoritmo de ajuste de dificuldade não é adequado e o parâmetro α = 512 é muito pequeno.
2. QIP-9 muda para o algoritmo de ajuste de dificuldade
A partir da fórmula do algoritmo de ajuste de dificuldade, não é difícil ver que aumentar o valor de α pode reduzir a mudança na dificuldade de mineração, e a flutuação do intervalo de bloco também será reduzida de acordo. Simulamos os efeitos dos dois algoritmos no valor médio, desvio padrão do intervalo de bloco e o número de blocos no intervalo grande (tempo de bloqueio superior a 10 minutos) quando os dois algoritmos assumem valores de α diferentes e os seguintes dados são obtidos:
Pode-se observar que o algoritmo de ajuste exponencial QIP-9 tem melhor desempenho do que o algoritmo de ajuste linear em vários dados, estando muito próximo do valor de projeto de 128 segundos nos dados de intervalo médio de bloco, o que é uma manifestação de sua correção. Pode-se observar a partir dos dados da tabela acima que quando α ≥ 2000 , as mudanças de vários indicadores têm sido relativamente lentas, e o desvio padrão do intervalo de bloco e a proporção de blocos com grandes intervalos já estão muito próximos do valor ideal. Portanto, o algoritmo de ajuste de dificuldade do QIP-9 é razoável.
Estimativa de potência de computação em toda a rede QIP-9
1. Introdução ao algoritmo de estimativa de potência computacional de toda a rede
O poder de computação de toda a rede é definido como a quantidade total de moedas mineradas em toda a rede. Para os blocos n- , denotado por D n- seu valor de dificuldade, T n- seu bloco espaçador, Wn de sua força todo o operador da rede. Pode ser calculado pelo algoritmo de consenso:
Pegamos a média dos últimos 72 blocos para a fórmula acima:
A fórmula acima é o algoritmo de estimativa de potência de computação de toda a rede original e a média pode ser considerada um processamento suave da estimativa. QIP-9 propõe um novo algoritmo de estimativa:
Ele substitui o intervalo de bloco no denominador com uma média de projeto de 128. A seguir, usaremos a simulação para comparar os efeitos dos dois algoritmos.
2. Comparação de algoritmos de estimativa de potência de computação em toda a rede
Simulamos os novos e antigos algoritmos de estimativa de potência de computação, respectivamente. A primeira imagem representa os resultados da simulação antes que o algoritmo de ajuste de dificuldade seja modificado, e a segunda imagem representa os resultados da simulação após o algoritmo de ajuste de dificuldade ser modificado:
A dificuldade pode ser encontrada antes que o algoritmo de modificação se ajuste, ou seja, [alfa] é pequeno, dois tipos de resultados de simulação de operador de estimativa de energia do algoritmo são substancialmente os mesmos, [alfa] toda a força do operador de rede é menor QIP-9 feita maior do que a variância da estimativa do algoritmo original. Quando o algoritmo de ajuste de dificuldade é modificado , isto é, quando α é maior, a nova curva de estimativa de poder de computação em toda a rede é mais suave e a variância é menor, o que é um algoritmo melhor em condições realistas, onde a flutuação de poder de computação real é pequena. Portanto, após a bifurcação difícil, o algoritmo de estimativa de potência de computação em toda a rede proposto por QIP-9 é melhor do que o algoritmo original.
O impacto da atualização do hard fork QIP-9
A mudança mais significativa que o QIP-9 trará é que o intervalo médio de bloqueio foi reduzido de 144,7 segundos para 128,0 segundos e o número médio de blocos gerados por dia aumentou significativamente de 597 para 675. Além disso, a diminuição no intervalo médio do bloco aumenta o rendimento anual de mineração em 13,0% (por exemplo, 7% → 7,91%), e o rendimento de mineração aumentou significativamente.
Uma vez que as mudanças de consenso trazidas pelo QIP-9 são limitadas ao algoritmo de ajuste de dificuldade, as transações na cadeia só precisam ser anotadas ao calcular o carimbo de data / hora lockTime. Para usuários comuns, basta atualizar a carteira a tempo para garantir o uso normal.
referências
[1] https://github.com/qtumproject/qtum/blob/733061a2b54d4d50365b07e9b48a9a8d455eadd6/src/pow.cpp#L109-L122
[2] https://github.com/qtumproject/qtum/blob/733061a2b54d4d50365b07e9b48a9a8d455eadd6/src/chainparams.cpp#L96