A Resposta da Newton a um DoS Não é "Espere". É "Mude a Regra." Eu Conferi o que o Recibo Diz.
Todo sistema de conformidade precisa decidir o que acontece quando ele está sob estresse — quando os operadores ficam sobrecarregados ou quando um estouro de solicitações ameaça criar um gargalo na avaliação. A maioria dos sistemas responde a essa pergunta com uma taxa de processamento degradada: tudo fica mais lento, mas as regras permanecem as mesmas. O whitepaper da Newton descreve uma resposta diferente. Sua mitigação declarada para condições de negação de serviço inclui executar múltiplos clusters de operadores, novas tentativas com limite de taxa — e uma política de fallback, dado o exemplo específico de limites menores de transações.
Eu costumava tratar "validadores do Newton" como um único grupo, com um único modelo de segurança.
Mas não é; isso só fica claro quando você pergunta quem realmente está por trás de cada função.
O rollup do Keystore do Newton, a parte que armazena e atualiza permissões, é protegido por validadores que fazem staking de NEWT diretamente via prova de participação delegada.
Mas o whitepaper descreve uma função separada, validação de políticas, feita por uma rede descentralizada de operadores protegida por restaking na Ethereum, não por staking de NEWT de forma alguma.
Foi essa parte que eu não tinha separado antes.
"Validadores do Newton" soa como um único conjunto de pessoas realizando um trabalho sob uma única garantia de segurança. Na prática, são duas funções distintas, com dois financiadores econômicos distintos.
Validadores do rollup colocam NEWT em risco para garantir o armazenamento de permissões e a integridade da execução.
Operadores de políticas, que avaliam transações contra a lógica de políticas do Rego ou WASM, são sustentados por ETH com restaking. Ou seja, eles aproveitam a segurança existente dos validadores da Ethereum, em vez de iniciar um novo ativo com staking para esse trabalho específico.
Então, a segurança do sistema não é um único número: são dois, e eles não se movem juntos.
Um conjunto de validadores com staking em NEWT só é tão seguro quanto o valor de mercado e a distribuição do próprio NEWT. Já um conjunto de operadores com restaking na Ethereum herda a segurança de uma base de validadores muito maior e já estabelecida.
Uma queda no preço do NEWT enfraquece a segurança do rollup sem necessariamente afetar a segurança da validação de políticas, e uma falha específica de restaking nem sempre tocaria o lado do rollup também.
O que não fica claro no whitepaper é como esses dois grupos interagem operacionalmente: se uma decisão de avaliação de políticas do conjunto de operadores com restaking precisa ser confirmada separadamente pelos validadores do rollup com staking em NEWT, ou se eles operam em trilhas amplamente independentes que apenas alimentam a mesma atestação.
No que eu estou pensando: executar dois modelos de segurança separados lado a lado é, de fato, uma escolha real de diversificação de risco, ou isso só significa que um atacante precisa encontrar apenas o mais fraco dos dois em vez de quebrar um sistema unificado.
O Litepaper Adiciona Uma Única Frase à História da Mediana. Isso Muda Todo o Formato do Problema.
Eu já tinha concluído que a mediana da fase de preparação do Newton é calculada a partir de quais operadores respondem mais rápido, e não do conjunto completo de operadores registrados, porque o gateway começa a calcular no momento em que o quórum é atingido. O que eu ainda não tinha encontrado até agora é se essa vantagem de velocidade é um acidente de latência de rede ou se o protocolo realmente seleciona algo nesse sentido.
O litepaper do Newton responde isso diretamente, em uma frase fácil de passar despercebida: a seleção de operadores para uma tarefa é descrita como permissionless para entrar, mas "performance-weighted" no modo como os operadores realmente são escolhidos para trabalhar em uma determinada tarefa.
Todo mundo fica obcecado por números redondos: 10, 100, 1000.
Ninguém faz uma parada por 9. Mas 9 é o número que torna os números redondos possíveis em primeiro lugar: o último marco antes da contagem resetar e recomeçar a subir.
Pergunte a qualquer goleiro qual número de camisa assombrava seus pesadelos e será que nunca foi 10.
Pergunte a qualquer cultura em torno de qual número ela construiu templos e tabus, e metade delas diz 9.
Some os dígitos de 81, 999 ou de um número com mil dígitos de comprimento: se for múltiplo de 9, ele sempre acaba voltando a 9, como se fosse gravidade para a aritmética. Nove meses para crescer uma pessoa que não existia antes.
Nove anos para uma troca que mudou a forma como o mundo lida com o dinheiro. Eu não acho que 9 seja o número antes de algo maior. Eu acho que tudo o que é maior é só 9 fingindo que esqueceu de onde veio.
Eu continuei assumindo que "publicado no Ethereum" significava que todo o histórico de permissões vive lá. Não vive. É especificamente a raiz do estado.
O Keystore da Newton é um rollup que lida com o armazenamento e as atualizações de permissões fora da camada base, mas o protocolo publica provas de finalização e raízes de estado de permissões no Ethereum, em vez de publicar os dados completos de permissões em si.
Uma raiz de estado é um compromisso comprimido, um único hash que representa todo o estado atual, não o estado em si.
Era essa a parte que eu não tinha separado antes.
Publicar uma raiz no Ethereum significa que qualquer pessoa pode verificar que um determinado estado de permissões existiu em um ponto específico, sem que o Ethereum armazene realmente o conteúdo desse estado.
Os dados subjacentes — quem tem qual zkPermission, a quais agentes cada um está limitado — permanecem no rollup do Keystore. Apenas sua impressão digital (fingerprint) é ancorada. É isso que o torna barato o suficiente para fazer continuamente, em vez de custar proibitivamente caro.
Mas isso também significa que a garantia que o Ethereum fornece é mais estreita do que parece.
O Ethereum consegue confirmar que uma raiz de estado alegada é aquela que foi comprometida. Ele não consegue dizer o que existe dentro dessa raiz, a menos que você já tenha os dados subjacentes do Keystore para comparar e verificar a raiz.
A verificação exige as duas coisas: o ancoramento e os dados que estão sendo ancorados, não apenas o ancoramento.
Então "ancorado no Ethereum" não é a mesma afirmação que "lê-se no Ethereum". É um compromisso que você pode auditar usando os dados que precisa obter do próprio rollup.
Os documentos da Newton confirmam a prática, mas não especificam com que frequência as raízes são publicadas, nem como é o caminho real de verificação de um usuário caso queira conferir diretamente o próprio estado de permissões em relação à raiz ancorada.
O que eu estou considerando: o ancoramento de raízes de estado é projetado para que qualquer pessoa verifique independentemente, ou principalmente para que o próprio protocolo prove integridade, com a verificação individual ainda sendo um caminho não construído.
A Aritmética da Mediana de Newton. A Palavra Estava Carregando Mais do que o Número.
A fase de Preparação da Newton funciona assim: os operadores buscam independentemente os dados externos de que uma política precisa, reportam de forma não assinada e, uma vez que chega quantidade suficiente de respostas para atingir o quórum, o gateway pega o que tem, descarta os valores mais altos e mais baixos e calcula uma mediana. Aquela mediana se torna o único número canônico ao qual cada operador avalia a política pelo restante da tarefa.
"Mediana" faz muito trabalho de tranquilização naquela frase. É a palavra que você usa quando quer dizer que um valor não pode ser puxado e arrastado por um único agente mal-intencionado.
A Dupla Assinatura da Newton Deve Provar que o App Verificou o Usuário. Eu Verifiquei se a Criptografia
Quando uma tarefa é criada na Newton, duas partes precisam aprovar antes que o Gateway prossiga: o usuário e o aplicativo agindo em nome dele. A documentação descreve isso como uma cadeia — a assinatura do aplicativo supostamente significa algo específico: "vimos o consentimento do usuário, verificamos isso e só então adicionamos a nossa própria". Eu queria ver se a construção real dessa segunda assinatura impõe essa ordem ou apenas afirma que ela aconteceu.
É isto o que é descrito. Ambas as assinaturas são verificadas com base na mesma mensagem subjacente — um resumo (digest) construído a partir do policy client e do intent hash, com as referências aos dados incorporadas (folded in). O usuário assina. O aplicativo também assina. O Gateway aceita a tarefa assim que ambas as assinaturas forem verificadas em relação às suas respectivas chaves públicas. E a finalidade declarada da assinatura do aplicativo é atestar que ele recebeu e verificou o consentimento do usuário antes de adicionar a sua própria aprovação.
honestamente eu não esperava que a rotação de operadores fosse a parte interessante do design de Newton, mas é.
A documentação da arquitetura de privacidade da Newton menciona algo fácil de ignorar: protocolos de re-compartilhamento, especificamente secret sharing proativo, que permitem que os operadores rotacionem sem alterar a chave pública combinada. a cerimônia de DKG que distribui a chave privada de limiar só é executada quando o conjunto de operadores realmente muda, e não afeta a latência de avaliação de tarefas no dia a dia.
essa é a parte que eu não tinha separado antes.
normalmente, se você rotaciona participantes em um sistema de limiar, esperaria que toda a configuração de chaves mudasse junto com eles, o que significa que qualquer coisa criptografada com a configuração de chave antiga se torna ilegível assim que o conjunto de operadores muda. o re-compartilhamento evita isso.
os operadores podem entrar e sair enquanto a chave pública combinada permanece fixa, o que significa que os dados criptografados para o conjunto de operadores antigo continuam descriptografáveis pelo novo.
essa é uma garantia mais silenciosa do que limiares de quórum ou agregação BLS, mas pode importar mais operacionalmente. um sistema em que a rotatividade de operadores quebra dados criptografados anteriormente é um sistema que pune sua própria descentralização com o tempo; novas entidades não conseguem entrar sem tornar o histórico órfão. re-compartilhamento significa que o conjunto de operadores pode evoluir sem que os usuários percam o acesso ao que já haviam protegido na configuração antiga.
o que a documentação da Newton não deixa explícito é com que frequência o re-compartilhamento realmente precisa ser executado à medida que o conjunto de validadores cresce, nem o que acontece com os dados se uma cerimônia de re-compartilhamento falhar no meio do caminho.
o que eu estou considerando: o re-compartilhamento proativo torna a descentralização de operadores um custo zero ao longo do tempo, ou apenas desloca o ponto frágil para a própria cerimônia de re-compartilhamento.
Tenho vontade de olhar para isto há dias: como os validadores do Newton realmente chegam a um consenso sobre uma atestação, já que "quorum" sozinho não explica a mecânica.
O Newton usa assinaturas BLS para a atestação, e o consenso não é construído em torno de um único digest; é construído em torno de dois.
Os validadores assinam separadamente o digest da política e o digest de execução para a mesma intenção.
Essa divisão significa que o acordo não é "sim, aprovar isto", e sim dois votos afirmativos independentes: um confirmando que a lógica da política foi satisfeita e outro confirmando que os dados reais da chamada sendo executados correspondem ao que foi atestado.
É essa a parte que eu não tinha separado antes.
Um esquema de digest único permite que uma única assinatura ateste toda a intenção de uma vez, juntando política e execução. Se qualquer metade fosse adulterada depois de assinada, não haveria como isolar qual delas falhou.
Dois digests significam que a assinatura de um validador é falseável contra cada metade independentemente.
Você consegue provar que a política estava correta enquanto o digest de execução estava corrompido — ou o contrário — em vez de uma assinatura única cobrir uma alegação fundida que você não consegue desfazer.
Isso é uma garantia significativamente mais forte do que "os operadores concordaram". É a concordância dos operadores em duas coisas separáveis, agregadas via BLS para que a rede ainda verifique uma única assinatura combinada on-chain.
O que a documentação do Newton não deixa explícito é o que acontece operacionalmente quando os dois digests discordam para um único validador: é rejeitado de imediato ou é sinalizado e resolvido por meio de uma lógica de fallback.
Essa é a questão em aberto com a qual eu estou: essa divisão de dois digests protege contra adulteração parcial, ou apenas transfere onde a ambiguidade aparece.
A Criptografia da Newton Vincula Duas Coisas Criptograficamente. Eu Verifiquei Se Um Terceiro, Estando Bem Aqui Ao Lado
A camada de privacidade da Newton faz uma alegação de segurança precisa: quando dados privados são criptografados e enviados, o texto cifrado é criptograficamente vinculado a uma política específica e a uma cadeia específica. Tente reenviar esse mesmo envelope criptografado em outro lugar — uma política diferente, uma cadeia diferente — e a verificação de autenticação falha completamente. A descriptografia é recusada. Eu queria ver exatamente o que "vinculado a" cobre e, igualmente importante, o que não cobre.
Aqui está a fórmula real. Os dados adicionais autenticados anexados à criptografia são calculados a partir exatamente de duas entradas: o cliente da política e o ID da cadeia, combinados e convertidos em hash juntos.
Newton Chama Duas de Suas Chaves de "Independentes." Eu RastreieI a Cadeia que Quietamente as Une Novamente.
Newton faz uma promessa específica de segurança sobre seu sistema de descriptografia de limite: a chave de assinatura do dia a dia de um operador e sua parte da chave privada de descriptografia da rede são criptograficamente não relacionadas. Comprometa uma, diz a documentação, e a outra permanece segura. Eu queria ver se essa independência se mantinha até o fim, ou apenas em parte.
Aqui está a arquitetura real. A chave de descriptografia do limite de Newton é produzida uma vez, por meio de uma cerimônia interativa entre operadores, e é dividida em partes — nenhuma parte, nem mesmo o gateway, jamais mantém tudo. Reconstruí-la exige um quórum de operadores cooperando. Esse segredo é, matematicamente, algo por si só, gerado de forma independente das chaves existentes de qualquer operador. Nesse ponto específico, a alegação de independência é à prova de falhas: você não consegue derivar a parcela de alguém do segredo do limite a partir da chave de assinatura comum dessa pessoa, porque as duas nunca foram conectadas matematicamente em primeiro lugar.
acordei já pensando nisso, então a primeira coisa que eu quero fazer amanhã é investigar onde o estado de permissões do Newton realmente fica quando for finalizado, porque “está em um rollup” não é uma resposta completa.
a Keystore é um rollup, o que significa que a execução e as atualizações acontecem fora da camada base para custo e velocidade. mas o design do Newton também publica provas de finalidade e as raízes do estado de permissões na Ethereum.
isso é uma afirmação diferente de “o rollup é seguro”. significa que o estado real de quem tem permissão para fazer o quê fica ancorado na L1, não apenas processado ali ocasionalmente.
essa era a parte que eu não tinha separado antes.
um rollup que só executa off-chain está confiando no próprio conjunto de sequenciador e validador para o registro da verdade.
um rollup que posta raízes de estado na Ethereum significa que qualquer um pode verificar a raiz comprometida na L1 e confirmar qual era o estado de permissões naquele ponto, sem precisar confiar que os operadores do rollup relatem isso honestamente.
o rollup lida com o throughput. a Ethereum lida com a ancoragem que ninguém controla.
então a pergunta real de segurança não é “a Keystore é rápida”, é “com que frequência o estado é ancorado, e o que pode ser verificado apenas pela raiz versus o que ainda exige confiar no estado interno do rollup entre as ancoragens”.
as docs do Newton confirmam que as raízes de estado são publicadas na Ethereum para finalidade, mas não detalham a frequência de ancoragem nem como é a exposição real de um usuário na janela entre uma raiz postada e a próxima, se algo der errado com o rollup no meio dessa janela.
é isso que eu quero descobrir amanhã: a lacuna entre as ancoragens é pequena o bastante para ser basicamente teórica, ou é uma janela real em que a Keystore ainda está me pedindo para confiar nela antes de a Ethereum conseguir verificar o trabalho.
Eu não consegui parar de pensar nisso durante minha caminhada mais cedo, então finalmente fui ver como a Newton verifica de fato que um agente fez o que ele afirma — e, afinal, são duas provas empilhadas uma sobre a outra, não apenas uma.
a computação em si roda dentro de um Ambiente de Execução Confiável, o TEE. isso fornece uma atestação de que o código executou em um ambiente selado, sem adulterações, produzindo exatamente a saída que ele gerou.
mas uma atestação de TEE, por si só, é uma alegação no nível do dispositivo. ela diz “este hardware certifica que isso foi executado corretamente”, o que ainda exige confiar naquele hardware específico e no seu fabricante.
essa era a parte que eu não tinha separado antes.
a Newton não para na atestação do TEE. ela gera uma prova de conhecimento zero (zero-knowledge proof) dessa atestação e verifica a integridade dessa prova por meio de contratos de protocolo on-chain. então a cadeia de confiança não é “confie no hardware”. é “verifique uma prova sobre a alegação do hardware, on-chain, sem precisar confiar absolutamente no fornecedor do hardware”.
isso é uma garantia diferente do que cada peça oferece sozinha. um TEE sem a camada de ZK significa que eu estou confiando na Intel ou em qualquer fabricante do chip que construiu o enclave. uma ZKP sem a camada de TEE não tem ancoragem física do que realmente foi executado. empilhadas juntas, a prova de ZK está verificando uma alegação sobre execução selada de hardware, então a checagem on-chain não precisa tomar a palavra do hardware e nem precisa adivinhar qual código foi executado.
o que eu não consigo saber pela documentação é onde fica, hoje, o limite real de confiança.
é a camada de ZK verificando toda a atestação do TEE criptograficamente, ou ela está atualmente verificando um sinal mais leve enquanto o trabalho mais difícil de provar no zkTEE ainda está no roadmap? a documentação descreve as duas peças existindo, mas não explica o quão bem elas estão acopladas, neste estágio de desenvolvimento.
é com isso que eu estou: é uma cadeia de prova já independente de hardware, ou é um sistema de TEE com uma camada de zero-knowledge envolvida por enquanto, enquanto a verificação mais difícil ainda está “corrigindo o passo”?
Newton pula uma verificação de consistência que sistemas de consenso não ousariam pular. Em que ele está apostando.
A maioria dos sistemas que consegue fazer múltiplas partes independentes concordarem com algo insere uma etapa entre "cada parte calcula uma resposta" e "as respostas são combinadas": uma rodada em que todos comparam anotações antes de se comprometerem com qualquer coisa. A documentação de Newton diz que seu passo de avaliação ignora isso completamente. A avaliação de políticas e a assinatura acontecem como uma única ação atômica, sem uma rodada separada para verificar se os operadores realmente concordam antes de suas assinaturas serem enviadas.
Eu queria ver exatamente o que precisa ser verdade para que esse atalho seja seguro e o que acontece se ele não for.
Cheguei bem perto de abandonar o cripto no meu terceiro ano, e não tenho vergonha de admitir.
O mercado despencou e meu portfólio afundou forte. Não havia boas notícias no horizonte, e o consenso era que já tinha acabado, então eu estava quase fora de vez.
Mas então eu vi o número 9 fazer algo que eu nunca tinha visto uma empresa fazer: eles não correram. Construíram. Quietamente, e de forma teimosa, como se soubessem de algo que ninguém mais sabia.
Esse é o principal fator que me motiva a continuar no mundo do cripto.
Avançando para agora: meu colega está lançando um Financial Super App para um bilhão de usuários, projetado para incluí-los no acesso a ações dos EUA, ETFs e Ativos do Mundo Real.
Sou grato por tudo o que você fez, por isso eu permaneci. Nº 9, você deu um motivo para continuar. Não desista.
Eu Contabilizei as Assinaturas que as Funções de Vinculação de Identidade do Newton Realmente Exigem. O Padrão Não Era ..
O Newton's SDK expõe cinco funções separadas para vincular uma identidade a um endereço: linkIdentityAsSignerAndUser, linkIdentityAsSigner, linkIdentityAsUser, linkIdentity e unlinkIdentityAsSigner. Minha primeira reação foi que isso parecia uma proliferação desnecessária — por que não haver uma única função genérica "link" com parâmetros sobre quem está envolvido?
Então eu passei por cada uma e anotei, especificamente, cuja assinatura cada variante realmente exige.
linkIdentityAsSignerAndUser é para quando o chamador é, ao mesmo tempo, o proprietário e o usuário da identidade — um self-link. A documentação não descreve nenhuma assinatura adicional além da transação do próprio chamador. linkIdentityAsSigner é para quando o chamador é o proprietário, mas precisa que a contraparte — o usuário — também dê sua aprovação; essa assinatura vem separadamente.
finalmente sentei esta noite e olhei para o que “governança” realmente abrange em Newton, e é bem mais estreito do que eu imaginava.
A documentação do Newton separa as atualizações em dois fluxos distintos.
A governança controla parâmetros, coisas como taxas de recompensas de staking, incentivos para validadores, percentuais de distribuição de taxas; eles podem ser alterados por meio de propostas e votos de detentores de NEWT com staking.
Mudanças no protocolo central, lógica de rollup, arquitetura do Keystore, implementação de consenso, coordenação de validadores não são explicitamente atualizáveis apenas por voto de governança.
essa divisão é a parte que eu não tinha separado antes.
eu vinha imaginando a governança como um único controle que se torna mais poderoso à medida que o protocolo se descentraliza. não é. são dois sistemas diferentes usando o mesmo nome. um é ajustável por votação.
o outro exige coordenação de validadores e um hard fork, o mesmo mecanismo que o próprio Ethereum usa para mudanças na camada base.
então “detentores com staking ganham mais poder de governança com o tempo” é verdade, mas é verdade sobre uma categoria específica e limitada. a arquitetura real do Keystore, como o consenso funciona, como os validadores coordenam — nada disso é algo que uma votação de governança consegue tocar, não importa quanto staking apareça.
isso muda a forma de entender o que um detentor de token está realmente votando. uma proposta para aumentar incentivos de validadores e uma proposta para mudar como o rollup valida o estado não são o mesmo tipo de decisão vestida de roupas diferentes.
uma está dentro do fluxo de governança. a outra nunca esteve no escopo de uma votação para começar.
as documentações do Newton deixam a divisão bem clara, mas não explicam onde a linha é traçada nos casos ambíguos: uma mudança que toca simultaneamente parâmetros de incentivo e mecanismos subjacentes.
o que eu ainda não resolvi: o sistema de dois fluxos protege o protocolo contra captura pela governança, ou só vai restringindo silenciosamente o que “governança descentralizada” é permitido significar?
esta noite voltei pelo mecanismo de atualização de políticas e notei algo que eu tinha ignorado na primeira vez.
Chamar setPolicy(PolicyConfig) não edita a configuração existente no local. ele retorna um novo policyId.
A documentação da Newton é específica sobre o que isso faz com qualquer coisa que já esteja em andamento: o policy ID previamente registrado fica obsoleto, e a validação exige que o policy ID de uma atestação corresponda à configuração atual do cliente.
essa era a parte que eu não tinha trabalhado completamente antes.
uma atestação não é apenas verificada contra "a política". ela é verificada contra uma versão exata da política, congelada no momento em que a atestação foi criada. se o proprietário atualizar parâmetros — apertar um limite, adicionar um endereço, mudar um limite — qualquer atestação que ainda esteja segurando o policyId antigo não recebe isenção. ela simplesmente deixa de corresponder.
então uma atualização não é realmente uma edição. é algo mais próximo de um fork. a configuração antiga não é corrigida; ela fica órfã, e tudo que a referenciar fica obsoleto de uma vez.
isso muda o que "aprovação pendente" realmente significa aqui. uma atestação não é um recibo estático parado em uma fila esperando para ser usado — ela fica implicitamente ligada a uma versão das regras que pode ser substituída antes mesmo de ser executada.
o que eu ainda não sei: se uma atestação criada sob a versão A da política falha de forma bem evidente quando é verificada contra a versão B, ou se apenas não valida silenciosamente.
os documentos da Newton descrevem a regra de obsolescência, mas não detalham como é a aparência da falha do lado do usuário quando isso acontece no meio do fluxo.
essa é a questão em aberto — um policyId obsoleto é uma rejeição clara, ou um beco sem saída silencioso que alguém precisa perceber por conta própria?
Eu Rastreiei O Que Um Contestador Realmente Precisa Provar. Um Teste Que Eu Esperava Ver Não Está Listado.
Newton faz uma promessa incomum: qualquer política que você escrever ganha um mecanismo automático de contestação, sem nenhum trabalho de engenharia extra. Se um operador atestar um resultado incorreto, qualquer pessoa pode contestá-lo e fazer com que esse operador seja penalizado — e isso funciona para toda política, não apenas para aquelas para as quais alguém se deu ao trabalho de construir circuitos personalizados à prova de fraude.
Isso só é possível por causa de uma escolha específica de design, então eu quis rastrear exatamente como uma contestação é resolvida, passo a passo, e ver se a promessa se sustenta mecanicamente.