Embora existam muitos projetos trabalhando no uso de provas de conhecimento zero para escalar e melhorar a infraestrutura de blockchain ou dApps , a maioria deles é construída no Ethereum. Comparativamente, as possibilidades de aplicar provas de conhecimento zero à rede Bitcoin são muito menos exploradas.
No entanto, teoricamente, as provas de conhecimento zero têm um enorme potencial para melhorar a rede Bitcoin em termos de privacidade, escalabilidade, segurança e espaço para inovação.
Por exemplo, como uma moeda virtual descentralizada, o Bitcoin usa o blockchain para armazenar todas as informações da transação. Isso significa que todos estão acessíveis a essas informações, deixando a rede com riscos de privacidade. Provas de conhecimento zero (“ZKPs”) é uma tecnologia que pode ser usada efetivamente na proteção da privacidade. É um método matemático pelo qual uma parte (o provador) pode provar a outra parte (o verificador) que uma determinada afirmação é verdadeira sem revelar qualquer informação adicional sobre a afirmação. Usando ZKPs, os dados da transação podem ser criptografados, permitindo que os usuários façam transações com mais privacidade na blockchain do Bitcoin.
Além disso, a rede Bitcoin é considerada inadequada para uso comercial por causa de sua velocidade de transação lenta devido ao tamanho de bloco limitado e ao problema de congestionamento da rede. Os ZKPs podem ajudar a dimensionar a rede para resolver isso agrupando transações para processamento em lote e minimizando as provas de tamanho para validação.
Vamos mergulhar na paisagem deste campo e no potencial a ser descoberto.
ZkSNARKs e zkSTARKs são duas vibrações proeminentes da tecnologia de prova de conhecimento zero. Ambos permitem que uma parte prove à outra a validade de uma determinada declaração sem revelar nenhuma informação sensível. Mas eles diferem em seu funcionamento, desempenho e possíveis cenários de uso.
ZkSNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) são baseados em criptografia de curva elíptica (ECC), que envolve equações matemáticas complexas e difíceis de resolver. Eles podem gerar provas extremamente pequenas sem interagir com o provador ou o verificador. ZkSNARKs são usados principalmente em criptomoedas e proteção de privacidade.
ZkSTARKs (Zero-Knowledge Scalable Transparent Argument of Knowledge) é um novo tipo de tecnologia de prova de conhecimento zero. Eles usam uma estrutura matemática muito mais simples que inclui funções hash criptográficas irreversíveis e interpolação polinomial, permitindo que sejam implementadas com mais eficiência em uma escala maior.
E diferente dos zkSNARKs, os zkSTARKs não requerem uma fase de configuração confiável potencialmente vulnerável, tornando-os mais seguros. Os zkSTARKs também são considerados resistentes a quantum.
Os ZkSTARKs têm tamanhos de prova maiores que os zkSNARKs, mas a prova dos zkSTARKs pode ser verificada por qualquer pessoa sem acesso a nenhum parâmetro externo. Além disso, eles podem suportar melhor o processamento paralelo e a computação distribuída, permitindo-lhes lidar com tarefas de computação complexas com eficiência. Isso significa que os zkSNARKs podem ser usados em campos mais amplos, como a Internet das Coisas.
Os ZkSTARKs também permitem que os desenvolvedores usem algoritmos mais complexos e executem operações matemáticas complexas, proporcionando assim mais possibilidades de atualizações tecnológicas.
Como os zkSNARKs foram desenvolvidos antes dos zkSTARKs, eles têm uma vantagem inicial em termos de adoção.
Veja o Zcash, por exemplo. Zcash é um fork de código do protocolo Bitcoin. Ele se baseia no trabalho existente da equipe principal do Bitcoin para permitir transações protegidas que codificam o remetente, o destinatário e o valor usando zk-SNARKs.
Zcash funciona assim. Em primeiro lugar, existem dois tipos de endereços Zcash, blindados e transparentes. Os endereços transparentes começam com “t” e se comportam de maneira semelhante aos endereços Bitcoin, expondo o endereço e o saldo na blockchain. Endereços protegidos que começam com “z” incluem os aprimoramentos de privacidade fornecidos por provas de conhecimento zero.
Em segundo lugar, quando os usuários enviam criptomoedas entre endereços blindados, uma prova zkSNARK será gerada para provar que o remetente possui uma quantidade suficiente de criptomoedas não gastas. O processo envolve operações matemáticas e criptográficas complexas, incluindo geração de parâmetros públicos, cálculo de hashes e construção de circuitos aritméticos.
Embora gerar uma prova zkSNARK leve muito tempo e poder de computação, validar uma prova zkSNARK é muito rápido e simples. O validador só precisa verificar se uma transação é processada de acordo com as regras de consenso do blockchain sem saber o valor, o remetente e o destinatário da transação.
Desta forma, o uso de zkSNARKs ajuda o Zcash a obter anonimato e verificabilidade para transações.
No entanto, existem algumas limitações para o uso dessa tecnologia pela Zcash. Em primeiro lugar, como o Bitcoin, o Zcash usa saídas de transação não gastas (UTXO) para determinar quais transações podem ser gastas. Isso significa que os dados da transação foram fornecidos, mas apenas protegidos do público. Ao analisar padrões e tráfego de transações entre os endereços blindados, os invasores podem obter informações que podem minar a privacidade dos usuários.
Em segundo lugar, o Zcash mantém seu próprio blockchain, o que torna difícil para o Zcash integrar ou interagir com outros aplicativos. Isso limitou a aplicação do Zcash e impediu seu desenvolvimento. Apesar de seu sucesso em realizar transações que preservam a privacidade, o uso do Zcash é baixo. Além disso, as transações de preservação da privacidade têm um custo muito maior do que as transações públicas, o que é uma das razões por trás do baixo uso do Zcash e outra limitação dele.
As características dos zkSTARKs significam que eles podem ser a tecnologia ZKP mais adequada para o Bitcoin. Um dos experimentos de ponta é chamado de STARKs de curva elíptica ou EC-STARKs. O EC-STARKs visa aumentar a escalabilidade e a segurança do Bitcoin, movendo para fora da cadeia a validação da assinatura do Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA) usando STARKs. Ao substituir as funções de hash por curvas elípticas, o EC-STARKS pode tornar as soluções de escalabilidade já existentes para Ethereum compatíveis com Bitcoin.
Você pode executar um protocolo off-chain para Bitcoin e manter as provas em STARKs. Isso significa que o Bitcoin pode ser emulado dentro dos STARKs, permitindo que protocolos altamente sofisticados sejam construídos em tokens baseados em Bitcoin com as mesmas chaves de curva elíptica.
Simplificando, essa tecnologia pode não apenas aumentar a escalabilidade do Bitcoin, mas também permitir que o blockchain do Bitcoin se transforme em uma plataforma onde os desenvolvedores podem criar dApps, tornando-se potencialmente um rival do Ethereum. Ele também aumenta a privacidade e reduz as necessidades de armazenamento, pois os dados podem ser transformados em provas significativamente menores. No entanto, alguns dos desafios incluem a compatibilidade com a infraestrutura Bitcoin existente e a demanda por recursos de computação.
Os zkSTARKs também podem ser usados para provar a validade dos cabeçalhos de bloco, permitindo que clientes leves verifiquem o estado mais recente da cadeia em um instante. Em combinação com
Os ZkSTARKs também podem ser aplicados ao processo de verificação de transações, incluindo serialização de transações, cálculo de hashes Double-SHA256, operações secp256k1 e outras operações principais no processo de verificação. Eles poderiam garantir um alto grau de segurança e confiabilidade operacional no processo. Além do mais, os ZKSTARKs também podem ser usados para verificar os built-ins do Cairo para a aceleração do Bitcoin. Aproveitando o recurso integrado do Cairo, o sistema de prova de conhecimento zero altamente eficiente da StarkNet, a eficiência do processo de verificação da transação pode ser aumentada drasticamente.
Além do mencionado acima, os zkSTARKs têm outras aplicações potenciais. Por exemplo, em combinação com o Taro, eles podem tornar o Taro mais escalável, permitindo processar mais transações e oferecer suporte a aplicativos de maior escala, abrindo caminho para a implantação multicadeia do Taro e potencialmente expandindo os casos de uso do Bitcoin.
Além disso, usando zkSTARKs para compactar o histórico de transações em uma única transação e proteger efetivamente os dados da transação, transações confidenciais podem ser realizadas no blockchain do Bitcoin. Além disso, os zkSTARKs podem ser usados para realizar a primitiva de Taro, obter a serialização de ativos por TVL e realizar e verificar as árvores Merkle-Sum Sparse Merkle (MS-SMT). Essas operações podem efetivamente melhorar a privacidade e a segurança. E as soluções de camada 2, como a Lightening Network, podem aproveitar os zkSTARKs para verificar as transações Bitcoin com mais eficiência, sem sacrificar a privacidade.
Mais e mais projetos estão começando a experimentar a adoção de tecnologia à prova de conhecimento zero para a infraestrutura e dApps na rede Bitcoin. Algumas das soluções prometem acelerar o uso dessa tecnologia no aproveitamento do espaço em bloco do blockchain do Bitcoin e melhorar a privacidade e a escalabilidade do blockchain.
Mas, no geral, a maioria das atividades está no Ethereum. Há uma óbvia falta de atenção à interseção do Bitcoin e da tecnologia à prova de conhecimento zero. Além disso, a prática atual da engenharia está muito atrás das conquistas da pesquisa acadêmica.
Acreditamos que mais exploração e experimentos são necessários neste espaço, mas é uma direção promissora que merece nossa atenção e apoio.
Também publicado aqui.