A ação BEAT mostra uma pressão enorme; o Índice de Força Relativa (RSI) indica uma queda acentuada. Está na hora de vender após esse aumento repentino.
Atenção: o forte impulso pode empurrar a ação para romper o nível de resistência antes de qualquer recuo.
Não arrisque todo o seu capital; use um tamanho de posição adequado para calcular sua operação.
Estou aguardando qualquer queda potencial. 👇👇👇
Minha lista de negociações de hoje inclui $COOKIE e $BICO .
Eu assumi que havia uma única resposta correta para “qual é a cadeia atual”.
Nem de perto.
O CometBFT produz a ponta ao vivo em tempo real, e provedores de finalidade podem finalizar rapidamente um bloco comprometido assim que mais de dois terços do poder de votação respaldado por BTC assina. Mas o Babylon, separadamente, agrupa épocas em checkpoints para o Bitcoin, onde uma garantia de timestamp mais forte e mais lenta só chega depois que o checkpoint atingir a profundidade exigida. Um histórico conflitante datado mais tarde no Bitcoin é rejeitado, mesmo que a rede estivesse finalizando blocos em cima dele o tempo todo.
Digamos que a época 620 seja checkpointada e que as confirmações dela comecem a subir rumo ao Bitcoin. Ao mesmo tempo, existe uma versão rival da época 620, e o checkpoint dela já está 3 confirmações à frente. Quem estiver construindo sobre a cadeia ao vivo pode estar tratando o primeiro histórico da época 620 como resolvido, enquanto o checkpoint do Bitcoin ainda está subindo em direção à profundidade necessária. Mas se o checkpoint do histórico rival atingir essa profundidade primeiro, a regra de finalidade lenta rejeita o histórico com timestamp posterior — e a versão finalizada pelo FP em que todo mundo confiou nunca foi a garantia mais forte de “final”.
Esse gap é estrutural, não é um atraso que alguém esqueceu de fechar. A regra ao vivo, incluindo o quórum do FP, não pode esperar uma hora para o Bitcoin confirmar cada bloco, ou a cadeia deixa de ser utilizável para qualquer coisa em tempo real. A regra do checkpoint do Bitcoin não pode confiar apenas no quórum do FP, porque a finalidade por quórum não tem como provar que não foi construída sobre um histórico que um checkpoint rival mais tarde ultrapassaria.
Se um app for construído no Babylon e precisar decidir o que “final” significa antes de permitir que um usuário aja, quanto ele deve confiar na finalidade do quórum do FP que já foi atingida e quanto ele deve esperar pelo checkpoint do Bitcoin que ainda pode anulá-la?
Assumi que o provedor de finalidade saberia apenas quando uma delegação sai.
Mas não tem esse luxo.
O módulo de btcstaking atualiza apenas o que um provedor de finalidade vê quando o finality keeper processa eventos acumulados durante o BeginBlocker, e não instantaneamente quando algo acontece no Bitcoin. A cadeia faz isso de propósito: um provedor de finalidade confia no próprio livro-razão do Babylon para cada voto, em vez de reexaminar o Bitcoin a cada vez — o que é mais rápido e simples. Porém, isso significa que sempre há uma pequena janela em que o livro-razão ainda não alcançou.
Suponha que a transação de desáuntamento (unbonding) de uma delegação confirme no Bitcoin na altura 900, e que o keeper ainda esteja trabalhando em um backlog de alturas BTC anteriores que ele ainda não processou. Por seis blocos, um provedor de finalidade lança votos usando um poder de voto que ainda considera uma participação (stake) que, do ponto de vista do Bitcoin, já saiu.
Isso não é um bug descoberto tarde demais. É a troca (tradeoff) funcionando como foi projetada.
O poder de voto reportado por um provedor de finalidade em qualquer bloco é parte participação atual real e parte backlog que o keeper ainda não limpou — ambos verdadeiros ao mesmo tempo. Onde deve ser traçada a linha entre chamar isso de um atraso aceitável e chamar de uma janela em que os votos não refletem a realidade?
Uma chave do Bitcoin sempre pode gastar a própria saída. Essa é a suposição.
Babylon garantiu que ninguém detenha essa chave.
A saída Taproot que dá suporte a uma aposta (stake) tem seu caminho de gasto pela chave desativado, e a especificação do Babylon nomeia exatamente o que faz isso: a chave pública interna é fixa em P = lift_x(0x50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0), um ponto NUMS construído de modo que ninguém possa jamais conhecer a chave privada correspondente. O que sobra é apenas uma árvore de scripts: timelock, desbloqueio (unbonding) e slashing.
Eu assumi que isso era um detalhe menor — mais um parâmetro entre muitos. Não é.
Suponha que uma carteira construa duas versões da mesma transação de staking. A Versão A fixa (hardcode) o valor exato de NUMS do Babylon como a chave interna, conforme especificado. A Versão B, construída a partir de uma biblioteca genérica de Taproot que nunca verificou a especificação do Babylon, gera sua própria chave interna — uma chave real, com uma chave privada real por trás.
Ambas fazem broadcast corretamente. Ambas mostram o mesmo BTC bloqueado em uma saída Taproot. Ambas passam por todas as verificações que um explorador de blocos executa. Mas os coins da Versão A só podem se mover por timelock, unbonding ou slashing, já que ninguém poderia assinar o caminho da chave. Os coins da Versão B podem se mover instantaneamente quando a chave privada assina uma única assinatura Schnorr, contornando todas as condições que o Babylon construiu.
Nada no comitê do pacto (covenant committee), nos provedores de finalidade (finality providers) ou na lógica de slashing detectaria essa diferença, porque nenhum deles observa o caminho da chave. O bypass não quebra nenhuma regra que o Babylon impõe. Ele só nunca entra em um script que o protocolo está monitorando.
Portanto, todo o modelo de staking depende de uma constante de 32 bytes ser hardcoded corretamente na construção, antes que qualquer provedor de finalidade ou assinatura de covenant entre em cena.
Quanto da segurança do Babylon em nível de Bitcoin vem da própria aplicação (enforcement) do protocolo, e quanto vem de cada carteira fazer corretamente o hardcoding de um número projetado para ser inutilizável por qualquer pessoa?
Um Provedor de Finalidade é um serviço. Essa é a suposição.
Não é.
A configuração de produção é dividida em dois daemons separados, fpd e eotsd, e a maioria das explicações sobre Babylon passa direto por essa divisão.
fpd é o worker voltado para a rede. Ele observa os blocos do Babylon, prepara compromissos de aleatoriedade pública e envia as transações de voto de finalidade.
eotsd é o signatário. Ele mantém a chave de assinatura EOTS e só conversa com o fpd por meio de um endereço definido em configuração, EOTSManagerAddress, que por padrão é 127.0.0.1:12582.
Essa separação é um bom design de segurança no papel. O daemon exposto a RPCs da chain não precisa, de forma alguma, manter a chave de assinatura.
Eu assumi que isso significava que o risco estava onde estivesse o tráfego voltado para a chain — observe o fpd, observe seus blocos, e você está coberto. Não é bem assim.
Se o fpd estiver saudável, mas não conseguir alcançar o eotsd nesse endereço, não importa o quão bem o próprio fpd esteja funcionando. O fluxo de assinatura simplesmente para.
Se o eotsd estiver vivo, mas seu armazenamento de chaves, permissões de host ou esse listener forem fracos, o serviço silencioso que ninguém verifica se torna a única coisa que fica entre um nó com aparência saudável e um voto perdido.
Babylon não construiu um único ponto de falha aqui. Ele construiu dois e fez com que cada um dependesse do outro para concluir a tarefa.
Então a pergunta real do operador não é se o Provedor de Finalidade parece estar online. É se ambos os daemons, e o endereço único que os conecta, sobrevivem à mesma falha ao mesmo tempo.
Separar o signatário assim realmente reduz o risco, já que um fpd comprometido ainda não consegue tocar na chave, ou apenas desloca o único ponto de falha para uma conexão que a maioria dos setups de monitoramento nunca verifica? @BabylonLabs_io #baby $BABY
A palavra do Bitcoin é definitiva. Essa é a premissa.
Babylon ancora a sua história no Bitcoin — checkpoints são commitados na BTC para que o estado da cadeia não possa ser reescrito silenciosamente. Eu assumi que, uma vez que um checkpoint cai sobre o Bitcoin, ele fica travado. Permanente. Pronto.
Mas não é isso que o código faz.
A Babylon executa uma função chamada HaltIfBtcReorgLargerThanConfirmationDepth no seu cliente leve a cada bloco. Se o Bitcoin sofrer um reorg mais profundo do que a profundidade de confirmação configurada, essa função não desfaz em silêncio algumas entradas de estado — ela interrompe toda a cadeia da Babylon. O comentário do código diz que isso só deveria acontecer, em teoria, se a própria Babylon ficasse offline por mais tempo do que duas vezes a profundidade de confirmação no tempo de bloco do Bitcoin.
Então “finalidade ancorada em BTC” não é apenas uma propriedade de segurança. É uma condição de disparo para parar a cadeia por completo, ligada a uma comparação: o Bitcoin avançou contra nós mais do que a nossa profundidade de confirmação permite.
Essa distinção importa mais do que parece. Uma pausa não é uma correção silenciosa — é cada validador congelando ao mesmo tempo porque a história do Bitcoin divergiu além de um número que alguém escolheu com antecedência. Defina esse número baixo demais, e o ruído comum de reorg poderia congelar uma cadeia em funcionamento. Defina alto demais, e a Babylon continua executando com uma visão do Bitcoin que já está desatualizada quando alguém percebe.
Ninguém publica o raciocínio por trás de onde esse número está, ou com que frequência ele já foi submetido a testes de estresse contra profundidades reais de reorg.
Se a resposta da cadeia a um desacordo do Bitcoin com ele mesmo é parar completamente, quanto da “finalidade ancorada em BTC” é uma garantia de segurança, e quanto é um frágil gatilho que ninguém testou sob pressão?