A privacidade das transações é um componente integral das criptomoedas e um dos mais importantes para muitos usuários. Embora o Bitcoin seja frequentemente caracterizado como um meio anônimo de transferência de valor pelos principais meios de comunicação, a verdade é que o Bitcoin é apenas pseudo-anônimo.
O livro razão do Bitcoin é totalmente transparente e, embora as identidades dos usuários estejam escondidas atrás de endereços alfanuméricos, existem maneiras de rastrear e fazer correlações entre endereços e identidades. O ofuscamento de identidades proporciona um grau de anonimato aos usuários, porém, os valores transferidos em cada transação são visíveis, deixando um certo grau de confidencialidade faltando.
Como solução para este problema, algumas criptomoedas com foco na privacidade adotaram o uso de Transações Confidenciais (CTs), que ofuscam o valor transferido nas transações utilizando compromissos (especificamente Compromissos Pedersen) para o montante. Sem a transparência pública dos valores transferidos quando os TCs são implementados, verificar se as transações são válidas requer o uso de provas de intervalo para garantir que a soma das entradas da transação seja maior do que a soma das saídas da transação, bem como que todos os valores da transação sejam positivos.
Essas provas de intervalo são anexadas a cada transação e resultam em tamanhos de transação muito maiores que podem levar a transações com várias saídas que precisam de várias provas de intervalo, aumentando ainda mais o tamanho da transação e degradando a verificação e a eficiência de armazenamento. Entre à prova de balas.
Fundo à prova de balas
A prova de balas foi proposta pelo Grupo de Criptografia Aplicada de Stanford (ACG) em dezembro de 2017 em um papel acadêmico com contribuições da University College of London e Blockstream. A prova de balas é “um novo argumento de conhecimento zero do sistema de conhecimento, para provar que um valor secreto comprometido está em um determinado intervalo.” O nome à prova de balas é creditado a Shashank Agrawal por descrevê-los como “curtos como uma bala, com suposições de segurança à prova de balas”.
Elogiado como um avanço eficiente e útil na verificação de compromissos de CTs, à prova de balas são provas de conhecimento zero curtas, não interativas que não requerem uma configuração confiável. Eles são efetivamente uma forma muito mais eficiente e segura de provas de alcance que utilizam métodos de prova de conhecimento zero como vistos em zk-SNARKS e STARKs, mas não requerem a configuração confiável conforme exigido com zk-SNARKS e não são tão grandes quanto STARKs. Sua aplicação pode ser benéfica em uma variedade de sistemas e situações diferentes, muitos dos quais são descritos diretamente no artigo acadêmico.
Bulletproofs são especialmente adequados para a natureza distribuída e sem confiança de blockchains e podem criar economias substanciais de custos a longo prazo, enorme economia de espaço, taxas mais baixas e tempos de verificação mais rápidos do que as implementações atuais de provas de alcance. Antes de mergulhar em como funcionam as provas à prova de balas, é importante entender primeiro dois termos, provas de alcance e provas de conhecimento zero.
Provas de alcance
Basicamente, as provas de intervalo são uma forma de validação de compromisso que permite a qualquer pessoa verificar se um compromisso representa um valor dentro de um intervalo especificado, sem revelar mais nada sobre seu valor (conhecido como valor secreto). Por exemplo, uma prova de intervalo simples pode ser usada para validar que a idade de alguém está entre 28 e 52 anos, sem realmente revelar a idade exata da pessoa.
Isso tem ramificações importantes para a validação de transações confidenciais. Em uma criptomoeda com foco no anonimato, como o Monero, ele é usado para verificar se o valor do pagamento é positivo, sem realmente revelar o valor transferido na transação. Mais especificamente, em um sistema baseado em saída de transação, prova que as entradas confirmadas são maiores do que a soma das saídas confirmadas, sem realmente revelar as entradas ou saídas confirmadas. De acordo com o artigo de Stanford na época, “Todas as implementações atuais de transações confidenciais usam provas de intervalo sobre valores comprometidos, onde o tamanho da prova é linear em n.”
Leia nosso Guia para Monero
A parte principal em relação à prova de balas é o “linear em n”, o que significa que as provas de alcance escalam linearmente em tamanho com o número de saídas e bits no alcance da prova. O resultado é que nos TCs, as provas de alcance ocupam a maior parte do tamanho de uma transação. Antes da prova de balas, essa era uma grande preocupação, pois o tamanho de um blockchain de uma criptomoeda focada no anonimato que emprega TCs, como o Monero, cresce muito mais rápido do que uma criptomoeda típica que não utiliza TCs. Eventualmente, o tamanho de um blockchain utilizando CTs se tornaria muito impraticável para muitos usuários que não têm o espaço em disco necessário para baixar o blockchain inteiro, afetando indiretamente a descentralização de nós completos.
Provas de conhecimento zero
Se você está lendo isso, provavelmente já ouviu falar de provas de conhecimento zero no reino das criptomoedas, pois elas representam um conceito muito interessante baseado em alguma matemática intimidante. O conceito é difícil de entender, mas sua implementação combinada com o fato de que as instituições acadêmicas estão avançando ainda mais no conceito, conforme aplicado a criptomoedas, é um sinal muito encorajador para a indústria.
Essencialmente, uma prova de conhecimento zero é um método em criptografia em que uma parte pode provar a outra parte que conhece o valor de uma variável y sem transmitir qualquer outra informação além do fato de que sabe o valor de y.
https://images.duckduckgo.com/iu/?u=https%3A%2F%2Ftse2.mm.bing.net%2Fth%3Fid%3DOIP.aJKn3iUfMbDCUrhs1bTTCgHaFl%26pid%3D15.1&f = 1
Tradicionalmente, isso implica que o verificador e o provador têm alguma forma de interação entre eles. No entanto, as provas de bala são argumentos não interativos de conhecimento zero do conhecimento, que são uma variante específica das provas de conhecimento zero onde nenhuma interação é necessária entre o provador e o verificador. Isso permite provar que um valor comprometido está em um intervalo específico, contando com a suposição de logaritmo discreto e usando o Heurística Fiat-Shamir para torná-los não interativos.
Então, o que são à prova de balas?
Voltar para a prova de balas. Como acabamos de mencionar, a prova de balas depende da suposição de logaritmo discreto para segurança e usa a heurística Fiat-Shamir para se tornar não interativa. Isso leva a à prova de balas aumentando em tamanho apenas logaritmicamente com o número de saídas e tamanho da prova de alcance. O resultado é que o tamanho das transações que implementam CTs pode ser substancialmente reduzido. Monero afirma que eles alcançaram uma redução de 80% no tamanho da transação utilizando à prova de balas o que também leva a uma redução de 80% nas taxas.
As provas à prova de balas não apenas ajudam a reduzir o tamanho das transações que empregam TCs, mas também permitem que o comprovador agregue várias provas de alcance para transações com várias saídas em uma única prova curta. Em vez de transações com várias saídas que requerem uma prova de intervalo para cada saída, todas podem ser agregadas em uma. Além disso, a validação de blindagens é mais eficiente não apenas no tamanho, mas também no tempo. Fora do zk-SNARKS, que verifica mais rápido do que à prova de balas, o tempo para verificar uma prova de bala é menor do que as provas de alcance existentes, levando a uma validação de blockchain mais rápida.
Leia nosso Guia para ZK-Snarks
É importante ressaltar que à prova de balas não requer uma configuração confiável. Uma configuração confiável é uma configuração única controversa que é necessária ao usar a prova de conhecimento zero zk-SNARKS. O problema é que essa configuração única requer que os usuários precisem confiar implicitamente em quem criou as chaves para a configuração única para destruí-las depois de concluídas, caso contrário, elas podem ser usadas para criar um ilimitado quantidade do token nativo, não detectado. Obviamente, existem sérias preocupações com uma configuração confiável.
As provas à prova de balas são muito mais curtas do que outras provas de alcance e “permitem que as entradas sejam compromissos de Pedersen com os elementos da testemunha”. As implicações resultantes de serem provas de conhecimento zero curtas e não interativas permitem que a prova de balas seja otimizada e aplicada a uma variedade de situações, como o suporte a protocolos de computação multipartidária (MPC) eficientes, bem como a implementação de contratos inteligentes complexos que preservam a privacidade.
Aplicações à prova de balas
Bulletproofs suportam com eficiência um protocolo MPC simples que “permite que várias partes com valores secretos comprometidos gerem em conjunto uma única prova de pequeno intervalo para todos os seus valores, sem revelar seus valores secretos uns aos outros.” Essencialmente, com uma transação confidencial complexa que tem entradas de várias partes, o protocolo MPC proposto seria capaz de agregar todas as provas necessárias em uma única prova curta para toda a transação. A eficiência e economia proporcionadas por isso não podem ser subestimadas.
O protocolo Provisões é uma inovação que permite que as trocas de Bitcoins provem que são solventes sem revelar nenhuma outra informação. Esta é uma etapa importante na verificação da solvência das bolsas, de outra forma consideradas não confiáveis e insolventes, sem que as bolsas tenham realmente de abrir seus livros ao público. O protocolo se baseia em provas de alcance “para evitar que uma bolsa insira contas falsas com saldos negativos”. Esses tamanhos de prova são muito grandes e lineares no número de clientes. A prova de balas representa uma substituição natural para as provas de conhecimento zero não interativas usadas no protocolo de Provisões e pode reduzir o tamanho da prova geral para a troca em até 300 vezes.
Contratos inteligentes altamente expressivos em Ethereum são públicos e não fornecem um grau de privacidade para os parâmetros dos contratos. Provas de conhecimento zero não interativas foram propostas como um mecanismo para privacidade dentro de contratos, no entanto, a computação de um contrato é limitada e cara em toda a rede blockchain. SNARKs são outra solução potencial, mas, de forma problemática, exigem uma configuração confiável. Você pode ver onde isso vai dar. À prova de balas, sendo provas curtas que não requerem uma configuração confiável, são uma ótima opção para o papel de preservação da privacidade em contratos inteligentes expressivos. Embora, como uma entrada direta, as provas de bala não sejam baratas a esse respeito, em combinação com um modelo de delegação de incentivos, a validade de uma prova não precisa ser realizada a menos que uma parte conteste sua verificação. As partes que apresentarem desafios com falhas serão punidas e, além disso, este projeto pode ser apoiado com computação eficiente de várias partes.
Conclusão
Bulletproofs é uma inovação importante e amplamente aplicável em um importante campo de pesquisa de provas de conhecimento zero e outros protocolos usados para proteger e ofuscar valores de transação. A compensação inerente às transações confidenciais tem sido seu tamanho maior. Com a prova de balas, a oportunidade de reduzir significativamente essa compensação enquanto preserva a privacidade e a segurança é um grande passo à frente.
À medida que mais ênfase é colocada nos protocolos subjacentes usados para proteger transações e fornecer anonimato, será fascinante observar como a academia responde e continua a desenvolver tecnologias na vanguarda de um campo que já está na vanguarda da inovação.