Este post explica como pensamos sobre incidentes como a falha da Cloudflare desta semana, por que planos de controlo de contratos inteligentes puros com timelocks mudam os modos de falha, e onde as provas de conhecimento zero se encaixam.
Em 18 de novembro de 2025 às 11:20 UTC, a borda da Cloudflare começou a retornar erros 5xx para uma grande parte do tráfego. O gatilho principal não foi um atacante; foi uma alteração de permissões do ClickHouse que fez uma consulta retornar linhas duplicadas. Essa consulta gerou um "arquivo de recursos" de Gestão de Bots enviado para cada servidor de borda a cada poucos minutos.
As duplicatas dobraram o tamanho do arquivo e elevaram a contagem de recursos para mais de 200. O módulo de bot tinha um limite rígido e um unwrap() que entrava em pânico em caso de overflow. À medida que os nós alternavam entre saídas "antigas-boas" e "novas-ruins" a cada cinco minutos, a frota oscilou até que todos os fragmentos fossem atualizados e permanecessem ruins.
A Cloudflare interrompeu o publicador às 14:24, enviou um arquivo do último estado bom conhecido às 14:30, e relatou recuperação completa às 17:06. Os acompanhamentos listados: fortalecer a ingestão de configuração interna, adicionar interruptores globais de emergência e revisar modos de falha em todos os módulos.
Veja o post-mortem da própria Cloudflare para a linha do tempo completa e trechos de código.
Existem dois problemas separados nessa história:
Você ainda corrige o (2) em revisões de código. Mas o (1) é onde as blockchains brilham: como um portão programável e à prova de adulteração na frente das implementações.
Se você comprimir a ideia em uma frase: nenhuma configuração se torna "atual" a menos que um contrato inteligente diga que sim, e o contrato só muda essa flag após um timelock e uma prova de que o artefato obedece a invariantes. Essa única frase implica uma arquitetura completa.
Acontece que blockchains públicas, especialmente construídas sobre Ethereum, as chains EVM executando a Máquina Virtual Ethereum e camada de consenso, oferecem uma boa solução para esse problema.
Ajuste de latência. Ethereum finaliza em épocas, mas L2s confirmam em segundos (OP Stack tem como alvo ~2s; zkSync ~1s; muitos sistemas expõem atestação rápida). É bom o suficiente para cadências de plano de controlo de cinco minutos, veja por exemplo a discussão sobre tempo de bloco OP ou os tempos de atestação do Circle).
Anexe uma prova sucinta a cada artefato e verifique-a na chain. É exatamente o que fazemos para nosso protocolo Chainwall, embora para um tipo diferente de dados!
O objetivo principal é provar propriedades básicas: row_count <= 200, ordenado + único por chave, esquema corresponde a regex e regras de tipo, tamanho de arquivo <= N. Você pode ajustar toda a lógica on-chain, ou confiar em circuitos Plonk/Groth para expressões maiores. Por exemplo, um convidado zk-VM pode analisar CSV/Parquet/JSON e emitir um SNARK. Você não precisa revelar o conteúdo, apenas o compromisso. Existem sistemas de pesquisa e produção para regex em ZK (por exemplo, Reef e trabalho relacionado de zk-regex), o que torna as verificações de esquema realistas.
Existem dois caminhos práticos:
As bordas consultam o registro e adotam apenas artefatos que estão aprovados na chain. Para evitar confiar em um RPC de terceiros, execute um cliente leve em seu plano de controlo (por exemplo, Helios) ou planeje para a Rede Portal. Dessa forma, as bordas verificam cabeçalhos e provas de inclusão localmente antes de aceitarem qualquer estado "novo atual".
Interruptor de emergência e rollback são apenas bits no contrato, respeitados pela borda. A Cloudflare explicitamente mencionou a necessidade de interruptores globais de emergência mais fortes; colocar esse interruptor em um contrato pequeno e auditado fornece uma única fonte de verdade sob estresse.
O evento da CloudFlare não foi um ataque, mas inicialmente eles pensaram que sim e isso era de fato provável! Como vimos na segurança de criptomoedas: os atacantes não perseguem apenas chaves; eles coagem o plano de controlo.
Nossa posição: o controlo de ativos digitais deve residir em contratos inteligentes protegidos por timelocks e multisigs, não em credenciais privadas, tokens CI, ACLs de nuvem ou painéis de administração. Se sua implantação ou ação de "mudança de proprietário" deve atravessar o caminho schedule() e execute() de um contrato, mesmo um rootkit em um laptop de desenvolvedor não pode furar a fila. O atraso de tempo é um disjuntor com o qual você pode contar, e a trilha de auditoria on-chain é objetiva. Isso deixa apenas a questão "e se a coisa que estamos promovendo estiver malformada?", que é exatamente o que a "configuração com prova" responde.
Também acreditamos que existe um mercado considerável para aplicações com confiança minimizada. Estamos apenas construindo as bases certas agora para um primeiro caso de uso bem definido na OKcontract Labs.
When a Feature File Tripped the Internet foi originalmente publicado em Coinmonks no Medium, onde as pessoas estão continuando a conversa destacando e respondendo a esta história.
