ASERT Explicado

ASERT (Absolutely Scheduled Exponentially Rising Targets, implementado como aserti3-2d) é o algoritmo de ajuste de dificuldade do Bitcoin Cash, ativo desde novembro de 2020, que recalcula a dificuldade de mineração para cada bloco individual em vez de a cada 2.016 blocos como o Bitcoin.

ASERT (Absolutely Scheduled Exponentially Rising Targets, implementado como aserti3-2d) é o algoritmo de ajuste de dificuldade do Bitcoin Cash, ativo desde novembro de 2020, que recalcula a dificuldade de mineração para cada bloco individual em vez de a cada 2.016 blocos como o Bitcoin. Ele mede o quanto a linha do tempo real da cadeia se desviou de seu cronograma ideal de 10 minutos por bloco desde um ponto de âncora fixo, e corrige a dificuldade exponencialmente com uma meia-vida de dois dias. O efeito que importa para os mineradores solo: ajuste contínuo sem penhascos que apaga as janelas lucrativas que o hashrate oportunista usa para saquear uma cadeia — protegendo as probabilidades de todos que mineram constantemente.

Conclusões principais

  • Por bloco, não por época. O Bitcoin mantém a dificuldade fixa por ~2.016 blocos e então salta; o ASERT a ajusta a cada bloco. Sem platôs significa sem janelas — a única consequência mais importante para os mineradores.
  • A fórmula é uma linha. next_target = anchor_target × 2^((actual_time − scheduled_time) / half_life). A dificuldade é simplesmente a dificuldade da âncora escalada pelo quanto a cadeia se desviou do cronograma.
  • A meia-vida de dois dias é o botão de ajuste. Dois dias à frente do cronograma e a dificuldade dobra; dois dias atrás e é reduzida à metade. Rápido o suficiente para seguir o hashrate real, lento o suficiente para ignorar o ruído de blocos sortudos.
  • Foi projetado para recompensar mineradores constantes. Os objetivos de design explícitos do ASERT incluíam minimizar a vantagem de lucro de switch-miners que saltam entre cadeias — exatamente a proteção que um minerador solo em uma cadeia minoritária quer.
  • O mesmo design pode prender uma cadeia pequena demais. Uma breve inundação de hashrate eleva a dificuldade; quando vai embora, uma cadeia pequena pode demorar ~6,6 dias para se recuperar de um pico de 10×. É por isso que o comportamento do ASERT em cadeias pequenas é ao mesmo tempo uma funcionalidade e um perigo.

Este artigo está em nosso cluster de ciência de dificuldade ao lado de o perfil do Bitcoin Cash, onde o ASERT é a armadura da cadeia, e o guia de janelas de retarget do BC2, que explora o mundo oposto — uma cadeia onde as janelas ainda existem e podem ser exploradas. Entender o ASERT é entender por que algumas cadeias têm essas janelas e outras não.

O problema que o ASERT foi projetado para resolver

Cada cadeia de prova de trabalho deve responder continuamente a uma pergunta: conforme o hashrate entra ou sai, como mantemos os blocos chegando aproximadamente a cada dez minutos? A resposta original do Bitcoin — recalcular a cada 2.016 blocos pelo ritmo da época anterior — funciona perfeitamente quando o hashrate é enorme e estável. Em uma cadeia menor, ela falha de uma maneira específica e explorável.

O Bitcoin Cash aprendeu isso da maneira mais difícil. Seu primeiro algoritmo de dificuldade após o fork de 2017, e um ajuste de emergência antes dele, produziu violentas oscilações: a dificuldade caía, «switch-miners» oportunistas inundavam para cunhar blocos fáceis, a dificuldade disparava de volta, eles saíam, e a cadeia parava até a próxima queda — um dente de serra que prejudicava todos que minavam constantemente. O padrão tinha um nome e uma vítima: a janela lucrativa, e o minerador leal cuja participação ela diluía. O ASERT foi projetado, após extensas simulações contra algoritmos concorrentes, especificamente para nivelar esse dente de serra — e seus objetivos declarados incluíam manter os tempos de bloco próximos ao alvo, manter os tempos de confirmação próximos ao alvo, e reduzir a lacuna de lucratividade entre mineradores constantes e switch-miners.

Como o aserti3-2d realmente funciona

Todo o algoritmo é uma fórmula elegante:

next_target = anchor_target × 2((time_delta − ideal_block_time × (height_delta + 1)) / half_life)

Leia em linguagem simples. Tome um bloco âncora fixo do passado da cadeia — para o Bitcoin Cash, o bloco imediatamente antes da ativação do ASERT. Sua dificuldade é a linha de base permanente. Agora para qualquer novo bloco, calcule duas coisas: time_delta, quanto tempo real passou desde a âncora, e o tempo agendado, que é simplesmente ideal_block_time (600 segundos) vezes o número de blocos desde a âncora. A diferença entre eles — a cadeia está à frente ou atrás de seu cronograma ideal? — vai para o expoente, dividida pela meia-vida. Se a cadeia está exatamente no cronograma, o expoente é zero, 20 = 1, e a dificuldade é igual à da âncora. Estar à frente torna o expoente positivo, dobrando a dificuldade para cada meia-vida de vantagem. Ficar atrás o torna negativo, reduzindo a dificuldade à metade para cada meia-vida de atraso.

Duas decisões de design o tornam robusto. Como a âncora é absoluta (um ponto fixo, nunca uma janela deslizante), a imprecisão de arredondamento não pode se acumular ao longo de meses — cada bloco é calculado do zero a partir da mesma origem. E como a aritmética de ponto flutuante produz resultados diferentes em processadores diferentes — uma catástrofe de consenso esperando para acontecer — o ASERT aproxima o exponencial com aritmética inteira de ponto fixo e um polinômio cúbico, de modo que cada nó em cada máquina calcula uma dificuldade idêntica byte por byte. É um loop de retroalimentação de sistema de controle disfarçado de três linhas de código inteiro.

A meia-vida de dois dias: o número que importa

A meia-vida é a personalidade do ASERT. O Bitcoin Cash escolheu dois dias (tecnicamente o tempo ideal de 288 blocos), e a versão legível por humanos é exatamente tão limpa quanto parece: para cada dois dias que a cadeia se adianta no cronograma, a dificuldade dobra; para cada dois dias que fica atrás, a dificuldade é reduzida à metade.

Por que especificamente dois dias? É um ponto de equilíbrio encontrado em simulação. Uma meia-vida muito curta e a dificuldade treme a cada sequência de sorte de blocos rápidos, reagindo excessivamente ao ruído estatístico — a cadeia nunca se estabiliza. Muito longa e ela responde de forma lenta às mudanças genuínas de hashrate, desviando do alvo por dias e reabrindo as mesmas janelas que deveria fechar. Dois dias está no ponto ideal: reativa em cerca de um dia a mudanças reais, surda ao jitter aleatório de blocos individuais. A aritmética prática que resulta: recuperar-se de um pico de dificuldade 2× leva 2 dias, um pico 4× leva 4 dias, e um pico 10× aproximadamente 6,6 dias — números que se tornam muito importantes no momento em que uma cadeia é pequena.

O que o ASERT significa para um minerador solo

Três consequências, em ordem de importância.

Suas probabilidades constantes estão protegidas. Esta é a manchete. Em uma cadeia com ajuste por época, um minerador de rajada pode esperar uma queda de dificuldade, inundar durante a janela fácil e sair antes da correção — cada bloco fácil que cunham é um que você não cunhou, diluindo sua participação em um intervalo manipulado. O ASERT apaga essa janela: a dificuldade sobe no instante em que chegam e cai no instante em que saem, bloco por bloco, então não há lag para explorar. A participação esperada do minerador leal permanece limpa.

A dificuldade que você vê é honesta. No Bitcoin, a dificuldade de hoje reflete a rede de até duas semanas atrás; em uma cadeia ASERT ela reflete a rede dos últimos poucos blocos. Quando você calcula suas probabilidades — em a calculadora ou à mão — o número de uma cadeia ASERT é um preço ao vivo, não uma média defasada, então sua estimativa de probabilidade é tão atual quanto a cadeia em si.

Você não pode cronometrá-la — e ninguém mais pode. O lado oposto da proteção é que o ASERT não oferece nenhum ponto de entrada inteligente. Não há queda de dificuldade para aproveitar, porque qualquer queda já está incorporada em toda a rede simultaneamente. Isso é exatamente o oposto da dinâmica jogável em cadeias de janela de retarget, e é uma troca justa: você desiste da chance de manipular o cronograma em troca da garantia de que ninguém o manipula contra você.

O paradoxo das cadeias pequenas: o fio mais afiado do ASERT

É aqui que a elegância se torna de dois gumes. A reatividade do ASERT assume que uma cadeia tem hashrate estável suficiente para que a dificuldade siga um sinal real e persistente. Dê a ela uma cadeia com muito pouco hashrate, e um único grande minerador se torna uma arma — nem sempre maliciosamente, às vezes apenas por aparecer.

O modo de falha: um grande minerador aponta hashrate sério para uma cadeia pequena por algumas horas. Os blocos voam, a cadeia corre muito à frente do cronograma, e o ASERT eleva diligentemente a dificuldade — talvez 10×. Então o grande minerador vai embora. Agora o hashrate normal e modesto da cadeia enfrenta uma dificuldade construída para dez vezes seu tamanho, e os blocos diminuem até um ritmo de tartaruga. Com a meia-vida padrão de dois dias, recuperar-se de um pico de 10× leva aproximadamente 6,6 dias — quase uma semana em que a cadeia está efetivamente congelada, as confirmações param, e os mineradores leais que o algoritmo devia proteger são os que ficam moendo. É a versão do algoritmo de dificuldade de uma lesão por estresse: o músculo que torna uma cadeia saudável forte pode rasgar uma fraca.

É por isso que cadeias SHA-256 mais novas e menores que adotam o ASERT frequentemente lançam com uma meia-vida encurtada — recuperando-se de picos em horas em vez de dias — aceitando um pouco mais de sensibilidade ao ruído em troca de sobrevivência. Também é uma grande parte do motivo pelo qual cadeias muito pequenas são mais arriscadas para minerar do que suas probabilidades atraentes sugerem, um compromisso que vale a pena entender completamente antes de apontar hashrate para o fundo da escada.

Conclusão

O ASERT é uma das obras-primas silenciosas da prova de trabalho: uma fórmula de uma linha, uma aproximação inteira de um exponencial, e uma meia-vida de dois dias que juntos transformam um violento dente de serra de dificuldade em uma curva suave e sem penhascos. Para o minerador solo no Bitcoin Cash, funciona invisivelmente e a seu favor — protegendo sua participação de switch-miners, mantendo suas probabilidades honestas ao minuto, e pedindo apenas que você desista de uma oportunidade de jogo que nunca teria ganhado de qualquer forma.

E em seu fio mais afiado — a armadilha de pico em cadeias pequenas — ensina a lição mais profunda no cluster de ciência de dificuldade: o mesmo mecanismo pode ser armadura ou perigo dependendo inteiramente de quanto hashrate está por trás. Saiba em qual cadeia você está, e você saberá qual ASERT está minerando.


Mine uma cadeia que protege mineradores constantes

SoloFury executa Bitcoin Cash em seus próprios nós — protegido por ASERT, dificuldade por bloco, sem janelas para mineradores de rajada saquearem sua participação. Pagamentos coinbase não custodiais, taxa de 1%, endpoints TLS em cada região, dificuldade ao vivo na calculadora. Hashrate constante é exatamente para o que este algoritmo foi projetado.

Minerar BCH solo →Ver probabilidades de dificuldade ao vivo →

Ler a seguir

Perguntas frequentes

O que é ASERT e como difere do ajuste de dificuldade do Bitcoin?

ASERT (aserti3-2d) recalcula a dificuldade para cada bloco medindo o quanto a cadeia se desviou do cronograma ideal de 10 minutos por bloco desde um ponto de âncora fixo. O Bitcoin recalcula a cada 2.016 blocos. O resultado: ASERT não tem platôs nem janelas — as oportunidades de mineração fácil exploradas por switch-miners — enquanto o Bitcoin tem janelas exploráveis no final de cada época.

O que é a meia-vida de dois dias no ASERT?

A meia-vida determina a velocidade de resposta do ASERT. Com dois dias: se a cadeia está dois dias à frente do cronograma, a dificuldade dobra; se está dois dias atrás, é reduzida à metade. Rápido o suficiente para seguir mudanças reais de hashrate, lento o suficiente para ignorar o ruído estatístico de blocos sortudos.

Como o ASERT protege os mineradores solo?

Switch-miners esperam uma queda de dificuldade, inundam durante a janela fácil e saem antes da correção — cada bloco fácil que cunham é um que você não cunhou, diluindo sua participação em um intervalo manipulado. O ASERT apaga essa janela: a dificuldade sobe no instante em que chegam e cai no instante em que saem, bloco por bloco.

Qual é o paradoxo das cadeias pequenas com ASERT?

A reatividade do ASERT assume que há hashrate estável suficiente. Um grande minerador que aponta hashrate sério para uma cadeia pequena por algumas horas pode elevar a dificuldade em 10× e depois ir embora. Com a meia-vida padrão de dois dias, recuperar-se de um pico de 10× leva cerca de 6,6 dias — uma semana em que a cadeia está efetivamente congelada.