Monero RingCT: Transações Confidenciais Explicadas
Monero RingCT: Transações Confidenciais Explicadas
Abra qualquer explorador de blocos do Bitcoin e você consegue ler o valor exato de toda transação já feita — até o último satoshi. Digite um endereço e dá para acompanhar o saldo dele, rastrear de onde vieram as moedas e seguir para onde elas foram. Essa transparência é proposital, e é também o motivo pelo qual um salário, uma doação ou um único depósito descuidado podem desanonimizar uma carteira inteira. O Monero adota a postura oposta: na sua rede, o próprio valor fica oculto. A tecnologia que torna isso possível é o RingCT, sigla para Ring Confidential Transactions (Transações Confidenciais em Anel).
O RingCT é a razão pela qual uma transação de Monero aparece no livro-razão público como um compromisso criptográfico em vez de um número legível. Ele entrou no ar em janeiro de 2017 e se tornou obrigatório para todas as transações ainda naquele ano, e cada XMR que você envia por uma carteira — ou adquire por um serviço sem cadastro como o MoneroSwapper — está protegido por ele. Este artigo destrincha o que o RingCT faz, a matemática que permite à rede verificar uma transação sem enxergar os valores, como ele evoluiu com Bulletproofs e Bulletproofs+, e para onde caminha em seguida com o FCMP++.
Por que ocultar o valor faz diferença
Privacidade numa blockchain não é um recurso só; são três problemas que precisam ser resolvidos ao mesmo tempo. Deixe qualquer um deles exposto e os outros dois vazam por ali. O Monero ataca os três, e o RingCT é dono do terceiro.
- Quem enviou: resolvido pelas assinaturas em anel (ring signatures), que assinam uma transação em nome de um grupo de possíveis gastadores, de modo que um observador não consegue dizer qual entrada é a verdadeira.
- Quem recebeu: resolvido pela tecnologia de endereços furtivos (stealth addresses), que gera um endereço único e descartável para cada pagamento, então os fundos nunca caem num endereço público reutilizável.
- Quanto foi enviado: resolvido pelo RingCT, que cifra o valor dentro de um compromisso de Pedersen enquanto ainda deixa cada nó da rede confirmar que as contas fecham.
Antes do RingCT existir, o Monero ocultava remetente e destinatário, mas deixava os valores em texto aberto. Para conseguir qualquer privacidade de valor, o protocolo forçava as transações a usar denominações fixas — pense em 0,01, 0,1, 1, 10 — do jeito que você pagaria algo com moedas contadas. Isso vazava uma quantidade surpreendente de informação. O conjunto de iscas plausíveis para uma saída de 7,3 XMR é muito menor que o conjunto para uma saída oculta, porque as iscas tinham que bater com a denominação. Valores visíveis também permitiam que analistas ligassem transações ao rastrear quantias iguais pela cadeia.
Valores confidenciais fecham esse buraco. Uma vez cifrado o valor, toda saída fica estruturalmente idêntica a qualquer outra, e é esse o alicerce da fungibilidade — a propriedade de que uma unidade de XMR é intercambiável com qualquer outra, sem um histórico "contaminado" que um comerciante ou corretora pudessem recusar. Isso pesa mais a cada ano. Depois que a Binance tirou o XMR dos seus livros de ordens no começo de 2024 e várias corretoras europeias seguiram o mesmo caminho, o argumento a favor de uma moeda cujas unidades individuais não podem ser triadas nem colocadas em lista negra só ficou mais forte. No Brasil, onde a Binance concentra boa parte do volume de varejo, esse tipo de delistagem mexe diretamente com quem compra e vende no dia a dia.
O que o RingCT realmente é e como funciona
A metade "CT" do RingCT — Confidential Transactions — é a parte que oculta valores, e ela se apoia numa peça de criptografia chamada compromisso de Pedersen (Pedersen commitment). A metade "Ring" amarra essa ocultação de valor ao esquema de assinaturas em anel que o Monero já tinha, para que o remetente também continue anônimo. Vale separar as duas ideias.
Compromissos de Pedersen: cifrar um número e ainda fazer conta com ele
Um compromisso é um jeito de travar um valor para que você não possa mudá-lo depois, sem revelar qual é. Um compromisso de Pedersen para uma quantia tem a forma C = xG + aH, onde a é o valor de fato, x é um segredo aleatório chamado fator de ocultação (blinding factor), e G e H são pontos fixos numa curva elíptica. O fator de ocultação é o que deixa o compromisso opaco: sem ele, duas saídas de mesmo valor produzem compromissos com aparência completamente diferente, então não dá para perceber que são iguais.
A propriedade mágica é que esses compromissos são aditivos, ou homomórficos. Some os compromissos de todas as entradas de uma transação, some os compromissos de todas as saídas mais a taxa, e se os valores reais batem, as duas somas são compromissos para o mesmo total. O remetente arranja os fatores de ocultação de forma que entradas menos saídas resultem num compromisso de zero. Cada nó da rede pode checar essa equação — confirmando que nenhuma moeda foi criada ou destruída — sem nunca descobrir um único valor da transação.
O truque inteiro do RingCT é que a rede consegue provar que as contas fecham até o último satoshi, sendo matematicamente incapaz de ler qualquer item individual do extrato.
Provas de intervalo: impedir que alguém crie moeda do nada
O equilíbrio homomórfico tem uma brecha perigosa. Como os valores estão ocultos, um remetente malicioso poderia tentar registrar um valor negativo, que, graças à aritmética modular, daria a volta e viraria um número positivo enorme, deixando ele conjurar XMR do nada. Para evitar isso, toda saída confidencial vem acompanhada de uma prova de intervalo (range proof): uma garantia criptográfica de que o valor registrado está dentro de um intervalo válido — entre zero e 2⁶⁴ — sem revelar onde dentro desse intervalo ele cai.
As provas de intervalo são onde sempre morou a maior parte do tamanho e do custo do RingCT, e onde aconteceram as maiores melhorias. A implementação original de 2017 usava assinaturas em anel de Borromean, que eram corretas, mas pesadas: uma transação típica de duas saídas carregava cerca de 13 KB de dados de prova de intervalo, deixando as transações de Monero grandes e as taxas relativamente altas. Substituir essa engrenagem tem sido a principal história de otimização do protocolo desde então.
A evolução do RingCT: Bulletproofs, Bulletproofs+ e CLSAG
O RingCT não é algo fixo — foi reprojetado várias vezes ao longo dos hard forks mais ou menos semestrais do Monero, ficando a cada vez menor e mais rápido enquanto mantém as mesmas garantias de privacidade. As atualizações de maior destaque:
| Atualização | Ativação | O que mudou |
|---|---|---|
| RingCT (Borromean) | Jan 2017, obrigatório em set 2017 | Introduziu valores ocultos via compromissos de Pedersen e provas de intervalo de Borromean. |
| Bulletproofs | Out 2018 | Substituiu as provas de Borromean; cortou a prova de intervalo de uma tx de 2 saídas de ~13 KB para ~2,5 KB, encolhendo o tamanho total da tx em ~80% e as taxas em ~95%+. |
| CLSAG | Out 2020 | Substituiu as assinaturas em anel MLSAG; assinaturas ~25% menores e verificação visivelmente mais rápida. |
| Bulletproofs+ | Ago 2022 | Refinou os Bulletproofs para mais um corte de tamanho e verificação mais ágil; o mesmo fork elevou o tamanho do anel para 16 e adicionou as view tags. |
Os Bulletproofs, lançados no hard fork de outubro de 2018, foram o ponto de virada. Ao mudar para uma prova de intervalo de tamanho logarítmico, os dados anexados a cada transação despencaram, e as taxas medianas caíram de dólares para frações de centavo. É a única mudança mais responsável pelo Monero ser barato de usar hoje. Os Bulletproofs+ de agosto de 2022 espremeram mais uma margem e aceleraram a verificação, o que importa porque cada nó precisa checar cada prova.
O lado das assinaturas em anel evoluiu em paralelo. O CLSAG (Concise Linkable Spontaneous Anonymous Group signatures) substituiu a construção mais antiga, MLSAG, em outubro de 2020, deixando o componente que oculta o remetente cerca de um quarto menor e mais rápido de verificar. O mesmo fork de agosto de 2022 que trouxe os Bulletproofs+ também elevou o tamanho obrigatório do anel de 11 para 16 — ou seja, cada saída gasta agora fica oculta entre 15 iscas em vez de 10 — e introduziu as view tags, uma pequena otimização que deixa as carteiras pularem a maior parte do trabalho ao varrer a cadeia em busca de fundos recebidos.
Como uma transação RingCT é montada, passo a passo
Ajuda ver como as peças se encaixam quando sua carteira envia XMR. Nada disso exige ação sua — a carteira faz tudo em um ou dois segundos — mas entender a sequência desmistifica o que de fato vai parar na cadeia.
- Selecionar a entrada real e as iscas. A carteira escolhe a saída que você está de fato gastando e puxa outras 15 saídas reais da cadeia para servirem de iscas, formando um anel de 16 origens plausíveis.
- Gerar uma imagem de chave. Uma imagem de chave (key image) única é derivada da saída real. É o que permite à rede detectar um gasto duplo, mas ela não pode ser ligada de volta a qual membro do anel veio.
- Criar as saídas furtivas. Para cada destinatário, a carteira computa um endereço furtivo descartável para que o pagamento não possa ser amarrado ao endereço público do recebedor.
- Registrar os valores. Cada valor de saída é envolvido num compromisso de Pedersen com um fator de ocultação aleatório, e os fatores são balanceados para que entradas menos saídas menos taxa resultem em zero.
- Anexar as provas de intervalo. Uma prova de intervalo Bulletproofs+ é gerada para cada saída, provando que o valor oculto é não-negativo e está dentro do intervalo.
- Assinar com CLSAG e transmitir. A assinatura em anel CLSAG autoriza o gasto em nome de todo o anel, e a transação é repassada — propagada via Dandelion++ para obscurecer o IP de origem antes de chegar ao mempool público.
O resultado que aterrissa na blockchain não contém remetente legível, nem destinatário legível, nem valor legível — só compromissos, provas e um anel de possibilidades — e ainda assim é plenamente verificável por todo nó.
O que as transações confidenciais significam para você na prática
O ganho prático do RingCT é fungibilidade e resistência à vigilância, e isso aparece em situações concretas. Pense num freelancer brasileiro que recebe em cripto — algo cada vez mais comum em quem presta serviço para cliente no exterior. Numa cadeia transparente, todo cliente consegue ver o saldo cheio da carteira e todos os outros pagamentos que ela já recebeu; um único endereço exposto entrega o conjunto inteiro. No Monero, o pagamento recebido é uma saída furtiva com valor oculto — o cliente não aprende nada além da transação que ele mesmo enviou.
Isso também muda como a "análise de cadeia" funciona contra você. As empresas que vendem perícia em blockchain construíram o negócio agrupando endereços e seguindo valores. O RingCT remove o sinal de valor por completo, as assinaturas em anel embaçam a origem e os endereços furtivos quebram o elo de destino. Não há saldo para consultar nem trilha de dinheiro limpa para seguir, e é exatamente por isso que rastrear moedas de privacidade segue sendo um problema sem solução, e não um recurso de produto.
É por isso também que a forma de adquirir importa. Se você compra XMR num ambiente fortemente vigiado que liga sua identidade a uma saída on-chain específica, você criou um ponto de partida conhecido mesmo que a cadeia em si seja privada. Usar um serviço de troca como o MoneroSwapper, que não mantém conta nem exige documentos de identidade, mantém esse primeiro salto limpo, de modo que a confidencialidade que o RingCT entrega na cadeia não é minada por uma trilha de papel fora dela. Nada disso é orientação tributária — no Brasil, a Receita Federal continua tratando a alienação de cripto como fato gerador de imposto, com ganho de capital devido (e DARF a recolher) quando as vendas ultrapassam o limite mensal de isenção, e há ainda a obrigação de declarar via Instrução Normativa 1.888 — mas significa que a rede em si não está transmitindo as suas finanças para qualquer um com um explorador de blocos.
Para onde o RingCT vai em seguida: FCMP++
A ocultação de valor do RingCT é sólida como rocha, mas o anonimato do remetente tem um teto teórico: um anel de 16 significa que o gasto real é um entre 16 candidatos, e a análise estatística consegue, de vez em quando, roer essas chances. A resposta do Monero, em desenvolvimento ativo ao longo de 2025 e 2026, é o FCMP++ — provas de pertencimento de cadeia completa (full-chain membership proofs). Em vez de ocultar um gasto entre 15 iscas, o FCMP++ ocultaria ele entre toda saída elegível que já existiu na cadeia, expandindo o conjunto de anonimato de 16 para dezenas de milhões.
O ponto crucial é que o FCMP++ substitui o componente de assinatura em anel, não o componente de transação confidencial. Os compromissos de Pedersen e as provas de intervalo Bulletproofs+ que ocultam os valores ficam no lugar; o que muda é como o pertencimento ao conjunto gastável é provado. Mais adiante, o protocolo de transações Seraphis e o esquema de endereçamento Jamtis foram projetados para construir sobre essa fundação. A lição para o usuário é simples: a privacidade de valor via RingCT é uma parte assentada e madura do Monero, e o protocolo segue fortalecendo as peças ao redor dela.
Perguntas frequentes
O que o RingCT de fato oculta?
O RingCT oculta o valor de uma transação de Monero. Ele cifra cada quantia num compromisso de Pedersen, de modo que o número nunca é escrito em texto aberto na blockchain, enquanto ainda deixa cada nó verificar que entradas são iguais a saídas mais a taxa. O remetente e o destinatário são ocultados por mecanismos separados — assinaturas em anel e endereços furtivos — com os quais o RingCT trabalha em conjunto.
Se os valores estão ocultos, como a rede barra moedas falsas?
Duas salvaguardas. A propriedade homomórfica dos compromissos de Pedersen deixa os nós confirmarem que as entradas e saídas ocultas se equilibram em zero, então nenhum valor é criado nem destruído. E uma prova de intervalo anexada a cada saída garante que o valor registrado é não-negativo e está dentro de um intervalo válido, bloqueando o truque de estouro que valores negativos ocultos permitiriam.
Qual a diferença entre RingCT e assinaturas em anel?
Eles resolvem problemas diferentes e são frequentemente confundidos porque os nomes se sobrepõem. As assinaturas em anel ocultam quem enviou uma transação ao assinar em nome de um grupo de possíveis gastadores. O RingCT oculta quanto foi enviado usando compromissos confidenciais. O RingCT integra os dois para que ambas as proteções valham para a mesma transação.
Os Bulletproofs substituíram o RingCT?
Não. Bulletproofs e Bulletproofs+ são atualizações dentro do RingCT — especificamente do componente de prova de intervalo. Eles substituíram as provas de intervalo de Borromean, mais antigas e pesadas, cortando o tamanho da transação em cerca de 80% e as taxas em bem mais de 90%, mas a estrutura geral do RingCT e seus valores ocultos permaneceram a mesma.
O RingCT vai ser removido quando o FCMP++ entrar no ar?
Não. O FCMP++ está previsto para substituir as assinaturas em anel do Monero por provas de pertencimento de cadeia completa, ampliando drasticamente o conjunto de anonimato do remetente. A maquinaria de valor confidencial — compromissos de Pedersen e provas de intervalo Bulletproofs+ — deve permanecer. Em outras palavras, o FCMP++ fortalece a privacidade do remetente sem desfazer a privacidade de valor que o RingCT entrega.
Conclusão
O RingCT é o operário silencioso da privacidade do Monero: ele transforma cada valor da cadeia num compromisso que a rede consegue verificar, mas ninguém consegue ler, e faz isso enquanto as provas de intervalo mantêm a emissão honesta. Combinado com as assinaturas em anel ocultando o remetente e os endereços furtivos ocultando o destinatário, é por isso que uma saída de Monero parece idêntica a qualquer outra e não pode ser triada, colocada em lista negra nem rastreada pelo valor. Por meio de Bulletproofs, Bulletproofs+ e CLSAG ele só ficou mais barato e mais rápido, e com o FCMP++ no horizonte a privacidade ao redor dele segue se aprofundando. Se você quer moedas que carreguem essa proteção desde o instante em que as recebe, dá para comprar Monero anonimamente pelo MoneroSwapper e deixar o RingCT cuidar do resto no momento em que você transacionar.
🌍 Leia em