Introdução
Muitas vezes é considerado crítico para o funcionamento de uma blockchain que o sistema seja transparente. Isto significa que cada nó da rede pode armazenar uma cópia e verificar se nenhuma regra está sendo quebrada. Para muitos livros-razão distribuídos, qualquer pessoa pode carregar um explorador de blocos on-line que permite pesquisar blocos, transações e endereços.
No que diz respeito à privacidade, isso não é o ideal. Num sistema como o Bitcoin, cada transação pode ser vinculada a uma transação anterior. As moedas não são tecnicamente fungíveis, o que significa que cada uma pode estar vinculada a transações específicas. Ninguém pode impedir que você envie bitcoins, mas pode se recusar a aceitar sua transação se essas moedas já tiverem passado por um endereço na lista negra.
Na pior das hipóteses, a falta de fungibilidade poderia impactar profundamente os próprios fundamentos do sistema. Moedas limpas podem ter um valor premium, enquanto as mais antigas seriam menos valiosas devido ao seu histórico.
A privacidade no Bitcoin é frequentemente exagerada. Não apenas as moedas podem ser rastreadas, mas os usuários também. Eles gostam de pseudônimo (endereços públicos são visíveis em vez de nomes), mas isso tem suas falhas. Técnicas de análise sofisticadas podem, com precisão crescente, agrupar endereços em uma tentativa de desanonimizar entidades de rede.
Uma atualização proposta para tornar as transações verdadeiramente privadas são as Transações Confidenciais.
O que são transações confidenciais?
As Transações Confidenciais (CT) foram discutidas pela primeira vez pelo CEO da Blockstream, Adam Back, em 2013 e posteriormente expandidas pelo desenvolvedor Bitcoin Gregory Maxwell. Maxwell descreveu os problemas mencionados na primeira secção (fungibilidade e pseudonimato fraco) – e propôs uma solução. Os valores transferidos poderiam ser protegidos da rede mais ampla, de modo que apenas as partes envolvidas na transação saberiam quanto foi enviado.

Em circunstâncias normais (com transações visíveis publicamente), é fácil para um nó verificar se o valor recebido não excede o valor enviado. Se Alice quiser enviar 0,3 BTC para Bob, ela pega uma saída não gasta (vamos chamá-la de 1 BTC) e a divide em duas partes: 0,3 para ser enviado a Bob e 0,69 para ser enviado de volta para ela (com o restante perdido como uma taxa de mineração).
Esta é uma álgebra simples para outros nós: 1 excede 0,3 + 0,69, as assinaturas estão todas corretas e as entradas de Alice ainda não foram gastas em outro lugar, portanto a transação deve ser válida. Quando os valores são ocultados, porém, as coisas não são tão triviais. Como você começa a avaliar se um valor desconhecido é igual ou superior à soma de dois outros valores desconhecidos?
Uma visão geral da criptografia envolvida
Para ocultar dados, é necessária criptografia. No entanto, os métodos tradicionais são semelhantes a colocar documentos num cofre: uma vez trancados no interior, tornam-se inutilizáveis até serem removidos. O que precisamos para que as Transações Confidenciais funcionem é um cofre digital cujo conteúdo não seja revelado, mas cujas propriedades possam ser verificadas por alguém de fora.
A resposta está especificamente na criptografia homomórfica, em um esquema chamado compromisso de Pedersen. Esse tipo de criptografia permite que alguém de fora execute operações em dados criptografados (que não pode ver) para diversas finalidades.
Um hash regular pode ser usado para confirmar dados que você deseja revelar mais tarde. Suponha que você queira anunciar um concurso nas redes sociais, onde quem adivinhar sua exchange favorita ganhará um prêmio de 0,01 BTC. Os participantes podem ficar céticos porque você pode simplesmente olhar as respostas após o encerramento da competição e escolher uma exchange que não tenha sido mencionada.
O que você pode fazer é fornecer aos seus seguidores um hash: uma sequência de números e caracteres aparentemente aleatórios que mapeia para uma entrada específica. Você passa sua troca por uma função para obter uma determinada saída. Ilustraremos com o algoritmo SHA256:
f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191Olhando para isso, você não tem ideia de qual foi a entrada. Nem você pode reverter a função para obtê-lo. Se você sabe que a entrada foi “Binance”, no entanto, você pode facilmente verificar se seu hash corresponde ao listado acima. Dessa forma, seus seguidores têm alguma garantia de que você não mudará sua resposta ao final da competição – isso produziria um resultado totalmente diferente.
Porém, realisticamente, isso não é muito seguro. Embora seus seguidores não possam fazer engenharia reversa do algoritmo, eles podem construir uma lista de possíveis trocas, fazendo hash de cada uma delas até encontrar uma correspondência. Podemos reduzir a probabilidade disso adicionando alguns dados aleatórios chamados de fator de cegueira aos dados que iremos fazer o hash.
Se inserirmos “Binance é minha exchange favorita, eu a amo mais do que qualquer outra exchange 2#43Wr”, fica significativamente mais difícil para um oponente adivinhar (e para 0,01 BTC, é certamente improvável que alguém tente).
Um compromisso Pedersen permite-nos adicionar os contributos por trás dos compromissos. Como Maxwell ilustra:

C(BF1 + D1) + C(BF2 + D2) = C(BF1 + BF2, D1 + D2)
Onde BF é o fator cegante e D são os dados
Existem mais algumas etapas a partir daqui envolvendo criptografia de curva elíptica e provas de intervalo, mas a ideia básica é que o usuário tenha um compromisso Pedersen para seu endereço. Ao enviar fundos, são criados dois compromissos adicionais (um para o endereço de alteração a ser devolvido ao usuário e outro para o endereço de destino).
Ninguém sabe quanto está sendo enviado, mas pode verificar se os compromissos de mudança e de destino (o lado esquerdo da equação de Maxwell) somam o endereço de origem (o lado direito da equação). Se for avaliado corretamente, então a transação do usuário é válida, pois pode ser provado que as entradas são iguais às saídas.
O que as transações confidenciais podem realizar?
Se as Transações Confidenciais fossem implementadas em Bitcoin, desfrutaríamos de um sistema muito mais privado. Tanto as entradas quanto as saídas seriam mascaradas da rede mais ampla e as entradas no livro-razão seriam ofuscadas - mas os nós ainda poderiam verificar sua autenticidade. Com esse enorme aumento de privacidade, os bitcoins podem efetivamente se tornar fungíveis, já que a análise da cadeia não revela mais a história de uma determinada unidade.
Quanto a saber se as Transações Confidenciais serão integradas ao protocolo, não parece provável no momento. Com esta funcionalidade adicional, as transações são muito maiores do que as padrão – dado o espaço de bloco limitado, isto só aumentaria a procura. Exigiria também que a maioria dos participantes concordasse em alterar o código, uma tarefa que tradicionalmente se revelou difícil.
Pensamentos finais
As transações confidenciais tiveram algumas iterações em outras criptomoedas e cadeias laterais de Bitcoin. Por exemplo, Monero os utiliza em combinação com construções chamadas assinaturas de anel para obter anonimato e fungibilidade. O sidechain Liquid os implementa para maior privacidade, e o MimbleWimble os estende para os mesmos fins.
Pelos benefícios que trazem, as Transações Confidenciais têm a contrapartida de uma presença maior. As criptomoedas muitas vezes enfrentam problemas de escalabilidade e rendimento na camada base, e transações maiores não agradam a todos. Dito isto, os defensores da privacidade acreditam que é essencial ocultar os valores das transações e os participantes para realmente permitir que a criptomoeda sirva como dinheiro fungível.

