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 →Perguntas frequentes
O que significa ASERT?
Absolutely Scheduled Exponentially Rising Targets. «Absolutamente agendado» significa que a dificuldade é calculada a partir de um ponto de ancoragem fixo na história da chain, e não de uma janela recente móvel; «alvos de subida exponencial» descreve a relação exponencial entre o quanto a chain está adiantada ou atrasada em relação ao cronograma e como a dificuldade responde. A implementação completa se chama aserti3-2d — o «2d» é sua meia-vida de dois dias.
Em que o ASERT difere do ajuste de dificuldade do Bitcoin?
O Bitcoin recalcula a dificuldade uma vez a cada 2,016 blocos (~2 semanas) com base em quanto durou a época anterior, mantendo-a fixa no intervalo. O ASERT recalcula a cada bloco, medido contra uma âncora fixa, de modo que a dificuldade se move de forma contínua e suave. O resultado prático: o Bitcoin tem platôs de dificuldade de cerca de duas semanas, enquanto o Bitcoin Cash não tem platô algum — e, portanto, nenhuma janela explorável.
O que é o bloco de ancoragem no ASERT?
A âncora é um bloco de referência fixo — especificamente o bloco imediatamente anterior à ativação do ASERT na chain — cuja altura e alvo servem como base «absoluta» permanente para todo cálculo futuro. A dificuldade de cada novo bloco é calculada como a dificuldade da âncora escalada conforme o quanto a linha do tempo real da chain se desviou do cronograma ideal desde aquela âncora. Como a referência nunca se move, erros de arredondamento não se acumulam ao longo do tempo.
Por que a meia-vida de dois dias é importante?
A meia-vida define a velocidade com que a dificuldade responde. Em dois dias: para cada dois dias que a chain corre adiantada em relação ao cronograma, a dificuldade dobra; para cada dois dias de atraso, ela cai pela metade. É um equilíbrio deliberado — rápido o bastante para reagir a mudanças reais de hashrate em cerca de um dia, lento o bastante para ignorar o ruído aleatório de blocos individualmente sortudos ou lentos. Recuperar-se de um pico de dificuldade de 10× leva cerca de 6.6 dias com essa meia-vida.
O ASERT muda minhas chances de encontrar um bloco?
Não as suas chances em uma dada dificuldade — essas sempre equivalem ao seu hashrate dividido pelo total da rede. O que o ASERT muda é a justiça e a estabilidade dessas chances ao longo do tempo. Ao remover as janelas de retarget, ele impede que mineradores oportunistas saqueiem períodos fáceis e diluam a fatia dos mineradores constantes; e, ao ajustar a cada bloco, mantém a dificuldade que você vê fiel às condições atuais em vez de duas semanas defasada.
Por que o ASERT pode ser perigoso para chains muito pequenas?
A mesma capacidade de resposta que estabiliza uma chain saudável pode aprisionar uma minúscula. Se uma chain tem pouquíssimo hashrate e um grande minerador a inunda brevemente, a dificuldade dispara; quando esse minerador vai embora, o hashrate restante fica preso moendo em uma dificuldade inflada e os blocos desaceleram até quase parar. Com uma meia-vida padrão de dois dias, recuperar-se de um pico de 10× leva aproximadamente 6.6 dias — quase uma semana de chain praticamente congelada. Chains pequenas novas costumam nascer com meia-vida encurtada para se recuperar mais rápido.
Quais chains usam ASERT?
O Bitcoin Cash adotou o aserti3-2d na atualização Axion de novembro de 2020, e desde então ele foi adotado por outras chains SHA-256 da família que querem suas propriedades de estabilidade, às vezes com uma meia-vida modificada e calibrada para uma rede menor. O eCash usa sua própria abordagem em camadas. O Bitcoin em si não usa ASERT — mantém o retarget original a cada 2,016 blocos.
Dá para cronometrar uma queda de dificuldade numa chain ASERT?
Não — e é justamente esse o ponto. Em chains com retarget por épocas, uma queda de dificuldade abre uma janela temporária de melhores chances na qual você pode tentar entrar. O ASERT ajusta a cada bloco, então qualquer mudança é imediata e precificada para todos ao mesmo tempo; não há atraso a explorar nem janela a cronometrar. Suas chances constantes estão protegidas exatamente porque ninguém mais consegue manipular o cronograma.