A privacidade das transações é um componente integral das criptomoedas e uma das mais importantes para muitos usuários. Embora o Bitcoin seja frequentemente caracterizado como um meio anônimo de transferir valor pela grande mídia, a verdade é que o Bitcoin é apenas pseudo anônimo.
O livro do Bitcoin é completamente 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.
A ofuscação de identidade fornece algum grau de anonimato para os usuários, no entanto, os valores transferidos em cada transação são visíveis, deixando algum grau de confidencialidade faltando.
Como solução para este problema, algumas criptomoedas focadas na privacidade adotaram o uso de transações confidenciais (CTs), que ofuscam o valor transferido em transações usando compromissos (especialmente compromissos de Pedersen) para o montante.
Sem a transparência pública dos valores transferidos quando os TCs são implementados, verificar a validade das transações requer a utilização de provas de intervalo para garantir que a soma dos insumos de transação seja maior do que a soma das saídas de transações e que todos os valores das transações sejam positivos.
Essas provas de intervalo são anexadas a cada transação e resultam em tamanhos de transações muito maiores que podem levar a transações com múltiplas saídas que requerem múltiplas provas de intervalo, aumentando ainda mais o tamanho da transação e degradando a eficiência de verificação e armazenamento. Digite à prova de balas.
Index du contenu:
À prova de balas
Bulletproofs foi proposto pelo Grupo de Criptografia Aplicada de Stanford (ACG) em dezembro de 2017 em um artigo acadêmico com contribuições da University College London e blockstream.
Testes de bala são “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 “curto como uma bala, com suposições de segurança à prova de balas“.
Elogiados como um avanço eficiente e útil na verificação dos compromissos de TC, as à prova de balas são provas curtas e não interativas de conhecimento zero que não requerem configuração confiável. Eles são de fato uma forma muito mais eficiente e segura de testes de fluxo que usam métodos de correção de conhecimento zero como visto em zk-SNARKS e STARKs, mas eles não exigem a configuração confiável como necessário com zk-SNARKS e não são tão grandes quanto STARK. Sua aplicação pode ser útil em uma variedade de diferentes sistemas e situações, muitos dos quais são descritos diretamente no trabalho acadêmico.
As à prova de balas são particularmente adequadas para a natureza distribuída e sem confiança das blockchains e podem criar economias substanciais de custos a longo prazo, enormes economias de espaço, taxas mais baixas e tempos de verificação mais rápidos do que as implementações atuais de testes de escopo. Antes de mergulhar em como as à prova de balas funcionam, porém, é importante primeiro entender dois termos, testes gama e testes de conhecimento zero.
Testes de fluxo
Basicamente, os testes de intervalo são uma forma de validação de compromisso que permite que qualquer pessoa verifique se um compromisso representa uma quantidade dentro de uma faixa especificada, sem revelar mais nada sobre seu valor (conhecido como valor secreto).
Por exemplo, um simples teste de intervalo pode ser usado para validar que a idade de alguém tem entre 28 e 52 anos sem realmente revelar a idade exata da pessoa.
Isso tem ramificações importantes para validar transações confidenciais. Dentro de uma criptomoeda focada no anonimato como a Monero, ela é usada para verificar se um valor de pagamento é positivo, sem realmente revelar o valor transferido na transação.
Mais especificamente, em um sistema baseado na saída de transações, ele mostra que os insumos comprometidos são maiores do que a soma de saídas comprometidas sem realmente revelar as entradas comprometidas ou as saídas.
De acordo com o artigo de Stanford da época, “Todas as implementações atuais de transações confidenciais utilizam provas de intervalo em valores comprometidos, onde o tamanho da prova é linear em n. ”
A parte chave em relação aos projéteis é o “linear in n”, o que significa que os testes gama escalam linearmente em tamanho com o número de saídas e bits na faixa de demonstração.
O resultado é que, em CTs, as provas de intervalo 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 uma blockchain de uma criptomoeda focada no anonimato empregando CT, como o Monero, cresce muito mais rápido do que uma criptomoeda típica que não usa CT.
Eventualmente, o tamanho de uma blockchain usando CT se tornaria muito impraticável para muitos usuários que não têm o espaço em disco necessário para baixar toda a blockchain, afetando indiretamente a descentralização de nós completos.
Evidência de conhecimento zero
Se você está lendo isso, provavelmente já ouviu falar de prova de conhecimento zero no domínio das criptomoedas, pois elas representam um conceito muito interessante que se baseia na matemática intimidadora. 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 o conceito, aplicado às criptomoedas, é um sinal muito encorajador para o setor.
Essencialmente, uma prova de conhecimento zero é um método de criptografia no qual uma das partes pode provar a outra parte que conhece o valor de uma variável y sem transmitir qualquer outra informação que não seja que saiba o valor de y.
Tradicionalmente, isso implica que o verificador e o comprovador têm alguma forma de interação entre eles. No entanto, os testes de bala são tópicos de conhecimento zero não interativos, que são uma variante específica de testes de conhecimento zero onde nenhuma interação entre o demonstrador e o verificador é necessária.
Isso permite provar que um valor comprometido está em uma faixa específica baseada na discreta hipótese do logaritmo e usando a heurística Fiat-Shamir para torná-los não interativos.
Então, o que são à prova de balas?
Vamos voltar para as balas. Como mencionado apenas, as à prova de balas são baseadas na discreta hipótese de logaritmo para segurança e usam a heurística Fiat-Shamir para se tornarem não interativas.
Isso leva a um aumento nas dimensões à prova de balas apenas logaritmicamente com o número de saídas e o tamanho do teste de intervalo. O resultado é que o tamanho das transações que implementam CTs pode ser substancialmente reduzido.
Não só as provas à prova de balas podem ajudar a reduzir o tamanho das transações usando CT, mas permitem que o comprovador agregume várias provas de alcance para transações com múltiplas 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 elas podem ser agregadas em uma. Além disso, a validação dos testes à prova de balas é mais eficiente não só no tamanho, mas também no tempo.
Fora do zk-SNARKS, que verificam mais rápido do que as à prova de balas, o tempo para verificar uma prova de bala é menor do que os testes de escopo existentes, levando a uma validação mais rápida do blockchain.
É importante ressaltar que os testes à prova de balas não requerem 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 exige que os usuários confiem implicitamente em quem criou as chaves para a instalação única para destruí-las depois de concluídas, caso contrário, elas podem ser usadas para criar uma quantidade ilimitada do token nativo e não detectado. Claro, há sérias preocupações com uma configuração confiável.
A evidência de à prova de balas é muito menor do que outras evidências remotas e “permite que as entradas sejam os compromissos de Pedersen com elementos de testemunha“.
As implicações de serem provas curtas e não interativas de conhecimento zero permitem otimizar e aplicar testes à prova de balas em uma variedade de situações, como o suporte de protocolos eficientes de computação em várias partes (MPCs) e a implementação de contratos inteligentes complexos e amigáveis à privacidade.
Aplicações à prova de balas
As à prova de balas suportam eficientemente um simples protocolo MPC que “permite que várias partes com valores secretos comprometidos gerem conjuntamente uma única prova de pequeno alcance para todos os seus valores, sem revelar seus valores secretos uns aos outros”.
Em essência, com uma transação confidencial complexa que tem entrada de várias partes, seu protocolo MPC proposto seria capaz de agregar todas as evidências necessárias em uma única e curta prova para toda a transação.
A eficiência e a economia que o vêm não podem ser subestimadas.
O protocolo Provisions é uma inovação que permite que as exchanges de Bitcoin provem ser solvente sem revelar nenhuma outra informação.
Este é um passo importante para verificar a solvência de trocas consideradas não confiáveis e insolventes sem que as trocas realmente tenham que abrir seus livros ao público.
O protocolo se baseia em testes de intervalo “para evitar que uma troca entre em contas falsas com saldos negativos“. Essas dimensões de teste são muito grandes e são lineares no número de clientes.
Os testes à prova de balas são um substituto natural para testes não interativos de conhecimento zero usados no protocolo Provisions e podem reduzir o tamanho total do teste para troca em até quase 300 vezes.
Contratos inteligentes altamente expressivos no Ethereum são públicos e não fornecem algum grau de privacidade para contratos de parâmetros.
Evidências não interativas de conhecimento zero foram propostas como um mecanismo de privacidade dentro dos contratos, no entanto, o cálculo de um contrato é limitado e caro em toda a rede blockchain. O SNARKS é outra solução em potencial, mas, problematicamente, requer uma configuração confiável. Você pode ver onde ele está indo.
Testes à prova de balas, sendo testes curtos que não requerem uma configuração confiável, são ideais para o papel de preservar a privacidade dentro de contratos inteligentes expressivos.
Embora, como um drop-in direto, as à prova de balas não são baratas a este respeito, em combinação com um modelo de delegação de incentivo, a validade de um teste não deve ser realizada a menos que uma parte conteste sua verificação.
As partes que apresentarem desafios defeituosos serão punidas e, além disso, este projeto poderá ser apoiado com uma computação multipartidária eficiente.
Conclusão
À prova de balas são uma inovação importante e amplamente aplicável em um importante campo de pesquisa de evidências de conhecimento zero e outros protocolos usados para proteger e ofuscar os valores das transações.
A troca inerente com transações confidenciais foi o seu tamanho maior. Com balas, a oportunidade de reduzir significativamente esse compromisso, preservando a privacidade e a segurança, é um passo importante.
À medida que mais ênfase é colocada nos protocolos subjacentes usados para garantir transações e fornecer anonimato, será fascinante ver como a academia responde e continua a evoluir as tecnologias de ponta de um campo que já está na vanguarda da inovação.