#dusk $DUSK @Dusk fiquei olhando os documentos do Dusk por quase quarenta minutos. Fiquei repetindo na cabeça uma pergunta: como, afinal, ficam as coisas entre Moonlight e Phoenix?
A Moonlight segue a rota de conta pública. Saldo, remetente, destinatário e valores ficam todos registrados na blockchain; qualquer pessoa pode ver. Isso é perfeito para cenários em que transparência é obrigatória, como recarga de exchanges e conciliação contábil institucional.
A Phoenix é outra lógica completamente diferente: os ativos viram um note criptografado, escondido dentro de uma árvore de Merkle. Quando você gasta um valor, não fica exposto exatamente qual note foi usado; você apenas envia um nullifier e uma prova ZKP. A rede consegue verificar que você tem saldo e que não houve double-spend, mas não dá para ver o valor nem o remetente. Quando for preciso auditar, dá para divulgar seletivamente usando uma chave de visualização.
No começo do mês, quando escrevi uma nota sobre transferências SEPA, me deparei com um problema parecido: conciliação entre dois sistemas bancários em que os status não batem é uma dor de cabeça enorme. Acabei sendo arrastado até duas da manhã.
Se uma blockchain também montasse dois livros-razão isolados, seria melhor que fosse como o sistema financeiro tradicional.
Naquela hora, eu estava meio irritado, sentindo que o documento não explicava esse ponto com clareza. Eu abri a seção de arquitetura de contratos do módulo Rusk. As duas primeiras partes não me disseram muito—basicamente só descreviam as estruturas de dados do Moonlight e da Phoenix. Foi só na quarta parte que eu entendi a intenção do design: ao ver que, na definição da interface do Transfer Contract, eles usaram um tipo enumerado para o payload.
O Transfer Contract é uma porta de entrada de coordenação. Ele recebe payloads em formatos diferentes—um no formato Moonlight, outro no formato Phoenix. O contrato não se importa de onde veio; ele só se importa com quais campos o payload traz e então faz o roteamento para a lógica de validação correspondente. A validação do Moonlight lê diretamente o estado da conta pública. A validação da Phoenix roda a proof de ZK. Depois que as duas validações passam, o resultado é gravado em uma mesma árvore global de estado.
Eu fiquei um tempo pensando para entender o ponto-chave dessa etapa: se você funde as árvores de estado dos dois sistemas em uma única árvore, então converter uma transação do livro público para uma privacy note nada mais é do que uma conversão de payload—não precisa de ponte entre cadeias, nem de protocolos complexos de sincronização. A atualização de estado é atômica: ou tudo funciona, ou tudo volta ao estado anterior.
#dusk $DUSK @Dusk Nos dois dias anteriores, tentei rodar um nó nos nodes do Dusk. Depois de instalar o node-installer, quando fui digitar o comando de inicialização, fiquei com a mão pairando sobre a tecla Enter, hesitei por um instante. Não era medo de fazer algo errado—era medo de que acontecesse como nas vezes anteriores: o log rolava algumas linhas e travava, e aí percebia que documentação e código não batiam.
Depois que iniciou, o rusk começou a despejar logs. As fases de Validation e Ratification se alternam. A fase de Validation vem primeiro: um conjunto de membros do comitê verifica a validade dos blocos candidatos. Em seguida, a fase de Ratification: outro conjunto confirma os resultados da validação e, por fim, define e fixa o bloco. Em cada rodada, o log marca a numeração de Round e Iteration, e o intervalo entre a produção de blocos é constante. Fiquei encarando a tela por mais de dez minutos; a altura do bloco foi subindo sem parar. As sombras das execuções anteriores—tipo “travar no meio do caminho”—até então só tinham acontecido em outras redes de teste; aqui, finalmente, se dissiparam.
Depois fui vasculhar o repositório do rusk. Eram 8025 commits: o pipeline de CI roda clippy e testes com nightly. Além disso, o time ainda criou por conta própria o cargo-dusk-analyzer para fazer análise estática. No ferramenta de deploy, o dsk-deploy-cli, notei um detalhe: os parâmetros de linha de comando para Phoenix e Moonlight são separados; na mesma blockchain, dois caminhos de transação chamam de forma independente cada um. Encontrei num issue os dados de gas que alguém tinha colado: transferir com Moonlight gasta cerca de 80 mil gas; porém, de Moonlight para Phoenix custa 25,56 milhões de gas—um diferencial de 300x. É esse o custo real de computação dos proofs em ZK.
Aí fui olhar de novo a camada de rede. O Kadcast é uma implementação oficial em Rust, e os 107 repositórios são todos em Rust. O repositório plonk tem 872 commits—também escritos pelo próprio time; não é aquela coisa de pegar uma lib pronta e só modificar um pouco e já colocar no ar.
Depois fui investigar os bastidores do NPEX. Uma exchange holandesa regulada pela AFM, com licenças de MTF, Broker e ECSP, administrando ativos de 300 milhões de euros. A lista de candidatos do Dusk Trade já foi aberta; na prática, estão montando uma plataforma de trading de RWA.
De 2018 até hoje: sete anos, 8025 commits, 107 repositórios, tudo em Rust. Essa disciplina de engenharia… eu realmente admiro.
#dusk $DUSK @Dusk Ontem à noite fiquei acordado até as três vendo o código-fonte do Dusk. Quanto mais eu olhava, mais arrepios eu sentia — não por medo, mas porque a profundidade técnica me impressionou. Antes eu tratava $DUSK como uma cadeia de privacidade comum; na prática, a arquitetura dela é totalmente outro tipo em relação ao Zcash.
O núcleo é um modelo de duas transações: o Phoenix usa notas (note-based) com provas ZK para esconder tanto valores quanto as contrapartes; o Moonlight segue um caminho de conta transparente, feito para auditoria e conformidade regulatória. As duas vias rodam em paralelo — privacidade e conformidade não são mutuamente exclusivas. O time do sistema de provas PLONK escreveu tudo do zero em Rust: GitHub com 633 estrelas, adicionaram custom gates e otimizaram o hash do POSEIDON. Eu li as restrições do circuito linha por linha; o design realmente tem substância, não é só um template.
O Citadel SDK faz validação KYC no nível de ZKP e também investiu na Outdid, que usa NFC com verificação por zero knowledge para validar identidade de passaporte. A camada de consenso é a própria SBA — protocolo de tolerância a falhas bizantinas isolado; com “blind bidding” e bloqueio de garantias, o próprio nó que produz o bloco permanece anônimo. A Piecrust VM roda contratos WASM; na versão 2.0, a velocidade subiu 500%. A Kadcast constrói a camada de propagação P2P — 107 repositórios implementados inteiramente em Rust, com disciplina de engenharia muito forte.
Os parceiros também validaram: a NPEX é um MTF licenciado pela AFM da Holanda; a Quantoz emite conformidade MiCA para EURQ. A integração é para rodar liquidações em conformidade sob MiFID II de verdade — não é conversa fiada.
#dusk $DUSK @Dusk Ontem vi uma mensagem: a plataforma NPEX colocou no ar uma solução de custódia baseada em Dusk. Eu rolei a tela e fui lendo — quanto mais eu via, mais interessante ficava. Ela é diferente de todas as soluções de custódia do mercado: os ativos ficam on-chain, as chaves privadas ficam sempre com você e a supervisão/regulação ainda consegue verificar.
Eu nunca tinha visto algo assim.
Quem entende desse ramo de custódia sabe que, até hoje, só existem dois caminhos. Ou você entrega a chave privada a um terceiro custodiante para atender às exigências regulatórias, mas, na essência, os ativos não ficam com você. Ou você gerencia as chaves privadas por conta própria; a segurança fica bem, mas quando a regulação pergunta, você não consegue provar que está em conformidade. Em um dos lados você precisa escolher — não existe uma terceira opção.
A Dusk e a Cordial, com esse esquema de custódia de zero confiança, abriram exatamente esse “terceiro caminho”. Não é custódia por terceiros: é uma tecnologia de carteira self-custody chamada Cordial Treasury. As instituições implantam por conta própria e gerenciam por conta própria; a chave privada permanece o tempo todo no hardware da própria instituição. Quando a NPEX, uma exchange licenciada, adota essa solução, o regulador pode verificar por meio de provas de conhecimento zero se a posição da instituição está em conformidade. Depois que verifica, vai embora — não consegue tocar na chave privada.
Você não precisa entregar as chaves. E também não precisa expor seus ativos para todo mundo. Você consegue comprovar que está seguindo as regras, mas não precisa abrir o patrimônio todo. Esses dois nós — “self-custody” e “compliance” — que se enrolam há dez anos, foram desatados pela primeira vez.
Eu sempre achei que provas de conhecimento zero estavam muito distantes de aplicações práticas, que era algo do meio acadêmico. Desta vez, a Dusk colocou isso dentro de um cenário real de custódia, e ainda rodando em uma plataforma regulada. Não é uma prova de conceito; não é testnet — é algo realmente em uso.
Isso mudou um pouco meu ponto de vista sobre a Dusk. Antes, quando eu observava o consenso, a arquitetura e o modelo econômico, eu achava que era tudo algo do nível técnico. Mas esse esquema de custódia me fez enxergar que ela está resolvendo um problema específico e de longo prazo: como a confiança, na prática, deve ser reestabelecida na blockchain?
A resposta da Dusk é: confiança não é construída ao abrir mão do controle; é construída por verificabilidade. Você não precisa entregar as chaves para que as pessoas acreditem em você.
#termmax @TermMax Na hora de organizar minhas posições na semana passada, acabei abrindo simultaneamente o mercado TermMax nas duas redes: BNB Chain e Arbitrum. Para o mesmo ativo em USDC, com o mesmo prazo de 30 dias e as mesmas regras de protocolo, a diferença na taxa de juros anualizada entre os dois lados era nada menos que mais de um ponto percentual. Minha primeira reação foi: “Será que eu estou vendo coisas?” Recarreguei a tela de negociações três vezes, e também tirei das últimas ~30 dias todas as 127 negociações para conferir, uma por uma, os valores de slippage, confirmando que não era questão de cache — a taxa realmente era diferente.
Naquele momento, a ideia que passou pela minha cabeça foi: isso não pode ser verdade. É o mesmo protocolo, o mesmo produto… como é que mudar de blockchain muda o preço? Aí comecei a desconfiar se eu teria perdido alguma coisa. Fui ver a documentação oficial e descobri que o TermMax atualmente está em 8 redes: Ethereum, Arbitrum, BNB Chain, Base, Berachain etc. Em cada rede, o pool de liquidez roda de forma independente; o módulo de precificação não sincroniza dados entre cadeias. Os formadores de mercado e os usuários de empréstimo em cada blockchain geram relações independentes de oferta e demanda, e, naturalmente, isso resulta em curvas de taxa de juros completamente diferentes. Só aí eu relaxei: não era erro de cálculo meu — a própria arquitetura é assim.
Mas surgiu um problema novo: dá para fazer “trading” com isso? Eu já tinha pisado numa armadilha de arbitragem falsa entre cadeias antes. Aquele cenário em que, aparentemente, existe uma margem favorável, mas na hora de executar você é totalmente comido pelo slippage. Desta vez, eu conferi explicitamente os endereços dos contratos dos pools de liquidez nas duas redes, confirmando que são pools isolados e independentes, sem compartilhamento de liquidez. Não existe aquela lógica oculta de “parece que falta só um ponto, mas ao fazer a ponte entre redes você é amortecido até zerar”.
No mesmo dia, transferi 3.000 U para testar. Não fiquei indo e voltando usando ponte de cross-chain. Usei o agregador da LI.FI: transferi diretamente do BNB Chain para o Arbitrum. Depois de creditar, dei uma olhada: o gas foi descontado em torno de alguns U, e o restante foi todo depositado no mercado com maior taxa. Eu não usei alavancagem, nem toquei em contrato — foi apenas a lógica mais simples: “guardar na rede de preço mais baixo e emprestar na de preço mais alto”. No fim da rodada de contas, consegui uma rentabilidade anualizada extra de quase 1 ponto percentual. Não é muito, mas é estável. Sem assumir risco adicional de contrato inteligente. É basicamente aproveitar o benefício de uma assimetria de oferta e demanda de liquidez entre duas cadeias.
A maioria das pessoas não percebe esse descompasso de precificação causado por pools de liquidez independentes. Isso não é uma falha; é apenas a consequência direta das relações reais de oferta e demanda em cadeias diferentes.
#dusk $DUSK @Dusk Passo a noite inteira sem conseguir dormir, folheando o whitepaper… cheguei na página sobre os verificadores KYC e eu fiquei literalmente sem palavras. Não foi porque o conteúdo me impressionou; foi porque, de repente, me ocorreu uma pergunta — eu teria coragem de colocar meu dinheiro numa blockchain que é totalmente anônima? Pensei dez segundos e a resposta foi: não. Aí percebi que aquelas instituições que gerem centenas de bilhões provavelmente também não teriam coragem, exatamente como eu.
Na minha cabeça passou uma cena: se eu realmente depositasse dinheiro numa chain anônima e, no dia seguinte, a pool fosse esvaziada, eu ficaria ali, gritando para aquele endereço da carteira: “devolvam meu dinheiro”. Mesmo que a outra parte conseguisse responder alguma coisa do tipo “sou anônimo”, eu já consideraria isso pelo menos um mínimo de educação. E depois? Não teria “depois”. No sistema bancário tradicional, se tiram pouco dinheiro de você, ainda dá para ligar, ir ao balcão e fazer uma cena, ou até processar. Na blockchain, você só consegue ficar encarando o endereço num explorador de blocos.
A Dusk exige que os verificadores sejam identificados. Por fora parece um retrocesso da descentralização, mas, se você calçar o sapato das instituições, entende: o que elas querem não é anonimato e liberdade — é poder encontrar pessoas reais caso algo dê errado.
Mais tarde, eu entendi: a Dusk não quer anonimato puro, nem publicidade totalmente aberta. Ela busca um meio-termo — você consegue provar quem você é, mas não precisa colar seu RG no rosto. O sistema de identidade da Citadel, combinado com provas de conhecimento zero, funciona assim: é como entrar num clube sofisticado; na porta o segurança sabe quem você é, mas os clientes lá dentro não precisam vasculhar a vida uns dos outros. Com o arcabouço regulatório de MiCA e MiFID II, essa solução fica bem mais complexa do que eu tinha imaginado no início, mas também é bem mais prática.
Em 7 de janeiro de 2026, a mainnet entrou oficialmente no ar. Depois de um ciclo de desenvolvimento de seis anos, finalmente chegou ao mundo real. A DuskEVM roda em sincronia; desenvolvedores Solidity já podem construir diretamente em cima. Componentes centrais como DEX e pontes cross-chain também foram atualizados. A rede exige que mais de um terço dos stakers cumpram as regras: quem fizer besteira ou ficar desconectado por muito tempo é penalizado com slashing. O tempo de bloco é de 10 segundos — para ativos tokenizados, essa velocidade é suficiente.
Antes, eu lia os whitepapers e passava direto por capítulos como “mecanismo de verificadores”, achando que não tinha nada a ver comigo. Eu reli esta página da Dusk várias vezes — não porque ela fosse tão bem escrita, mas porque ela me fez perceber uma coisa: para avaliar se um projeto é bom ou não, não é olhar para o barulho do slogan. É ver se ele tem a coragem de resolver antes aquela situação do “não consigo ter coragem”. “Não vou” é uma decisão que pode ser antecipada — ou não.
#dusk $DUSK Esta semana revisei novamente os materiais de @Dusk . Eu queria começar vendo a narrativa de privacidade, mas no fim foi a “fronteira de divulgação” que ficou mais tempo parado na minha cabeça. Antes eu sempre achava que o núcleo dos acordos de privacidade era “esconder”: desde que a criptografia, o anonimato e essas provas fossem fortes o suficiente, o sistema funcionaria. Mas, ao olhar com mais profundidade, percebi que o problema mais real não é “se dá para ocultar”, e sim em que condições deve ser visto.
A Dusk coloca privacidade e conformidade juntas e, essencialmente, busca uma divulgação controlável. As vantagens desse design são bem claras: instituições não precisam abandonar a eficiência on-chain para atender à conformidade, e desenvolvedores não precisam enfiar toda a lógica em uma estrutura unificada e pesada. Só que o custo também começa a aparecer: quais informações podem ser mantidas, quais devem ser expostas, para quem será feita a exposição e até que nível de granularidade — nada disso se resolve diretamente só com quatro palavras “tecnologia de privacidade”. O que realmente é difícil não é a criptografia; é quem detém o poder de divulgação.
Esse ponto de silêncio é bem parecido com o roteiro mais comum no mercado de cripto. Muitos projetos adoram falar sobre “proteção de privacidade”, mas quando chega a hora de colocar em prática, a primeira coisa que surge geralmente não é um problema técnico — é um problema de controle. Quem decide quando desbloquear as informações é quem ganha o novo poder de interpretação; quem controla as exceções pode acabar virando um novo ponto central. À primeira vista, isso parece amigável para a conformidade, mas, olhando mais de perto, também pode puxar a “privacidade descentralizada” de volta para uma estrutura do tipo processo/aprovação.
Eu não nego que esse design tem valor. Na fase de inicialização, sempre é preciso que alguém escreva primeiro um rascunho das regras — assim como, quando uma casa é entregue, você precisa definir primeiro o controle de acesso e as permissões para visitantes. Só que há muitos projetos no mercado que transformam “divulgação controlável” em uma resposta universal; no fim, tudo o que fazem é criar mais uma camada de autorização ainda mais complexa. O que a Dusk mais merece atenção agora não é se ela consegue falar bonito sobre privacidade, mas se ela vai transformar o poder de divulgação em um novo centro.
A arquitetura técnica pode ser auditada; já a distribuição de poder por trás das fronteiras de divulgação é muito mais difícil de auditar. DYOR: a privacidade pode ser criptografada, mas a fronteira não desaparece sozinha. Você acha que a divulgação controlável, no fim, vai virar uma nova porta de entrada centralizada?
#dusk $DUSK Ontem às duas da manhã, fiquei encolhido na escrivaninha do escritório alugado, folheando o whitepaper branco do @Dusk por horas. A quina da mesa ficou aberta por meia hora e a Coca gelada congelada escorreu até acabar; as gotinhas de água condensada na borda do copo pingavam no mousepad, abrindo um círculo pequeno e escuro.
O Dusk foca em privacidade para cenários financeiros na sua Layer1. O consenso Succinct Attestation desenvolvido por eles — em outras palavras, é especificamente para tratar os velhos buracos em PoS que eu já pisei inúmeras vezes: grandes detentores monopolizando a produção de blocos, a fonte de aleatoriedade sendo fácil de manipular, e a confirmação de blocos demorando. Tudo o que prometem é um “final determinístico em 3 segundos”, aguentar ataques de 51% e não permitir que alguns grandes holders fiquem com o poder de dizer as regras na produção de blocos.
Olhando assim, não tem nada de errado.
Descentralização, segurança e alto desempenho — as três dores que a indústria briga há anos — ele diz que cobre todas? Aí, quando vou até a parte de geração de sementes por sorteio aleatório, o whitepaper fica particularmente vago: ele só solta “gerado por agregação de hash do bloco anterior”, e pronto. Eu empurrei o mouse para o lado, fiquei encarando a tela por dois segundos sem mexer. Se o desempenho da aleatoriedade no sorteio dos nós produtores de blocos puder ser antecipado por poucos nós grandes, ou até conspirar e manipular, então a tal “aleatoriedade justa para selecionar validadores” é pura encenação. O atributo de descentralização mais central de uma blockchain de privacidade cai pela metade. A pergunta — “essa semente aleatória pode ser adulterada por conluio?” — qualquer pessoa que trabalha com consenso distribuído entende; é muito mais difícil do que simplesmente acelerar a produção de blocos. Se houver brechas no design da fonte de aleatoriedade, alto desempenho e resistência a ataques viram mensagens promocionais em conflito entre si, sem chegar ao chão. @Dusk
Aqui tem uma contradição central: um protocolo que promete atender liquidações de ativos em nível institucional. Se a lógica verificável do sorteio aleatório não estiver explicada completamente, a credibilidade do consenso SA ainda precisa ser validada com dados de execução contínua na mainnet, e não pelas alegações em texto do whitepaper.
O valor de longo prazo do $DUSK , de certa forma, fica totalmente preso a saber se esse mecanismo de consenso realmente consegue funcionar de verdade.
Quando você pesquisa um projeto, qual parte do whitepaper é o que mais te preocupa por estar escrita de forma vaga? Conversem no campo de comentários.
#dusk $DUSK Ontem atualizei o site oficial do Dusk e a barra de navegação inteira foi trocada.
As antigas entradas que eu usava há quase um ano simplesmente desapareceram, limpas e sem deixar nada. Eu fiquei alternando entre as duas seções "stack técnico" e "desenvolvedores" quatro ou cinco vezes até finalmente achar a documentação do nó. Sinceramente, fiquei um pouco irritado — mas seguindo o novo site oficial, descendo do protocolo de base até chegar no topo, e depois de ler as três atualizações principais, acabei ficando feliz por aquela noite não ter sido em vão.
Primeiro, DuskEVM — é a coisa que eu mais queria reclamar e, ao mesmo tempo, a que mais me surpreendeu.
Eu sempre achei que a máquina virtual Rusk tinha privacidade no máximo, mas o desenvolvimento de contratos nativos em Rust tem uma barreira muito alta. Só que desta vez o DuskEVM basicamente bloqueou minhas reclamações: ele não é uma ponte cross-chain; ele vem com um tradutor embutido de bytecode. O que isso significa? Eu jogo um contrato original em Solidity e ele converte automaticamente em um código de execução privado que atende às restrições de circuitos PLONK, e eu nem preciso me preocupar com a camada ZK por baixo.
Na prática é ainda mais direto. Ontem à noite, no testnet, peguei um contrato de Swap que eu já tinha e testei. Do processo de compilação até a implantação, levou 12 minutos. Comparado com antes, quando eu tinha que escrever contratos nativos em Rust na marra, a eficiência é incomparável — não é nem uma ordem de grandeza, é mais. Esse tradutor é hoje o ponto que eu mais quero recomendar.
Dusk Trade foi o segundo que me pegou de surpresa.
Ele é baseado na arquitetura Phoenix zkUTXO. Eu fiquei olhando por um bom tempo até entender: você pode imaginar que cada transação é um ticket criptografado independente, e só quem tem a chave consegue ver o conteúdo. Não existe Mempool público, então robôs de pinça não conseguem disparar para roubar. Ao mesmo tempo, há uma interface embutida de chaves de visualização direcionada — quando instituições de market-making precisam passar por auditoria MiCA da União Europeia, elas podem autorizar de forma direcionada para visualizar registros de transações. Desta vez, conformidade e privacidade não precisam ficar em escolha excludente.
Os fluxos de trabalho de mercado com conformidade já compilam KYC e período de bloqueio dentro da prova ZK. Quando a transação é enviada on-chain, a conformidade é verificada automaticamente; a revisão manual simplesmente é dispensada.
Antes eu sempre dizia que privacidade e conformidade só podiam ser escolhidas separadamente. Com essa solução da Dusk, a opção "ou uma ou outra" deixa de existir.
O único problema é... quando é que voltaremos a construir aplicações on-chain? Eu abandonei na época porque a barreira de desenvolvimento era alta. Então, quando vocês pretendem voltar? @Dusk
#dusk $DUSK Lembra da recompensa no teste do Dusk que estava rolando? Quando tentei fazer a etapa de depósito, a plataforma me impediu por causa de uma validação da origem dos fundos. Eu já estava pronto — inclusive tinha deixado em ordem o histórico de transações do endereço por uns seis meses. Antes, quando eu jogava Zcash, eu fazia esse tipo de prova de conformidade: só para mandar os prints, eu fiquei quase 20 minutos. O Gas ainda queimou quase 0,1 de uma moeda, e eu acabei expondo toda a posição do meu endereço para o verificador. Toda vez que aparece uma exigência assim, eu fico com a cabeça cheia.
No final, no wallet do Dusk, eu cliquei três vezes e em dois minutos a validação passou. Nem mesmo o verificador chegou a ver quantos tokens de teste restavam no meu endereço.
Minha visão do Dusk antes era bem limitada: “uma blockchain de privacidade”. Eu até presumía que ele era igual a outras chains anônimas — que, para ter privacidade, abre mão de auditabilidade. Eu levei quase duas horas para ler o código Rust do modelo de transações do Phoenix; quando entendi direito, foi como se o design acertasse exatamente os pontos doloridos.
Ele não tem um interruptor simples do tipo “tudo público/tudo anônimo”. Na camada de prova com zk-SNARKs, ele implementa um desenho de credenciais criptográficas verificáveis (VEP), usando o algoritmo Plookup para comprimir o tamanho do corpo da prova para dentro de 1KB. Em outras ZK chains de privacidade, provas desse tipo geralmente precisam gerar pelo menos 10KB ou mais; a verificação ainda leva dezenas de segundos. Já a verificação on-chain dele só precisa de 2 milissegundos. Para provar que o dinheiro veio de uma exchange legítima, basta gerar uma prova direcionada para aquela transação de depósito — não é necessário expor o endereço completo, o total de holdings, nem outros registros de transações, e nem mesmo é preciso dizer qual é o endereço de recebimento para o outro lado. Quando eu gerei a prova, gastei apenas 0,0003 DUSK de Gas — mais barato do que uma simples transferência. O verificador pôde validar a veracidade diretamente via contrato on-chain; eu nem precisei repetir o processo de upload de prints. Conferindo no explorer de blocos, nessa transação só aparece o hash da prova — não existe metade dos dados em texto claro.
Antes, todas as outras chains de privacidade ficavam presas nesse beco sem saída: “se quiser privacidade, não tem como cumprir conformidade; se quiser conformidade, perde privacidade”. O Dusk devolve totalmente o controle de privacidade para o usuário: quando você precisa esconder transações, não há nenhum texto claro para consultar na chain; quando precisa fazer a prova de conformidade, você mostra ao outro lado somente o mínimo de informações necessárias. Nem um tiquinho de privacidade extra precisa ser vazado.
Vocês já passaram por aquela situação constrangedora de, para fazer autenticação na blockchain, serem forçados a expor todas as holdings? @Dusk
第一天就卡壳。./dusk-node跑起来,ZK证明生成到87%必崩,终端吐一句"witness construction failed",内存从4G顶到12G,风扇跟楼下夜宵摊抽油烟机似的。重装五次程序、重下三次快照,都没用。最后翻GitHub示例,一行注释小得差点漏过去:"key expects BigInt, string will break witness construction."改完传参方式,重启,8秒证明生成。
#baby $BABY Na noite anterior eu fiz uma coisa: testei o script de staking do Babylon usando um UTXO que eu mesmo coloquei na minha rede de testes.
Queria ver como exatamente funcionam aqueles três modos de saída.
Primeiro, testei o mais simples — depois do vencimento do stake, basta usar apenas a minha própria assinatura para desbloquear aquele UTXO e transmitir para a rede de testes do Bitcoin. Os nós validaram, a transação foi empacotada. Não precisa que um Finality Provider dê o aval, não precisa que a cadeia do Babylon esteja online; minha assinatura por si só já basta. Na hora, eu pensei: este é o sentimento de segurança mais “primitivo”. Enquanto a rede do Bitcoin continuar rodando, o staker consegue recuperar os próprios fundos.
Depois testei a segunda opção: simular que eu não quero esperar o período completo de staking e quero sair antes. Aqui é preciso minha própria assinatura, além da assinatura do comitê Covenant. A minha assinatura é fácil; do lado do comitê, eu simulei o fluxo de assinatura. Depois de transmitir, a validação do nó passou e o UTXO foi desbloqueado com sucesso. Entendi então: o comitê só serve para confirmar que “esse pedido de saída antecipada cumpre as regras”; ele não assume os ativos, nem tem controle sobre eles.
Quando testei a terceira opção, eu travuei. O caminho de slashing requer três chaves: minha assinatura, a assinatura EOTS do Finality Provider e a assinatura do comitê Covenant. Na hora eu pensei: por que o slashing ainda precisaria da minha própria assinatura? Isso não estaria me obrigando a participar da punição de mim mesmo?
Mais tarde, ao revisar o relatório de auditoria, entendi o motivo. A assinatura do comitê Covenant é uma assinatura adaptadora — após criptografada, ela é direcionada ao Finality Provider. Eu pré-assinei o caminho de slashing, mas essa assinatura permanece “travada” em condições normais. Só quando o FP usar o mesmo nonce aleatório para assinar dois blocos diferentes na mesma altura, expondo a chave privada, é que a assinatura adaptadora é decifrada e passa a valer.
Isso significa que eu não preciso confiar em ninguém para que não faça maldades. Se o FP fizer maldade → a matemática revela a chave privada → a assinatura adaptadora se descriptografa automaticamente → o caminho de slashing é desbloqueado. Eu não preciso que um administrador decida “se deve punir ou não”, nem preciso de qualquer aprovação de alguém.
Eu testei as três formas de saída. Qual caminho seguir não depende de alguém; depende somente se as condições “hard-coded” no script são satisfeitas.