zk-SNARKs fornecem a capacidade de uma parte provar a outra parte que conhece um segredo sem revelar o próprio segredo, permitindo interações seguras e privadas com partes desconhecidas e não confiáveis no blockchain.
Escrito por: Dayou IPFS Research Institute
zk-SNARKs (Zero-Knowledge Sucinct Non-Interactive Arguments of Knowledge), fornecem a uma parte a capacidade de provar a outra parte que conhece um segredo sem revelar o próprio segredo. zk-SNARKs permitem interações seguras e privadas com partes desconhecidas e não confiáveis no blockchain.
**A rede Filecoin atualmente gera de 6 a 7 milhões de provas zk-SNARK por dia, cada uma contendo mais de 100 milhões de restrições aritméticas. **Para atingir esse objetivo, nós - Protocol Labs aprimoramos e otimizamos fortemente a ferramenta de geração de snark existente, permitindo que ela seja dimensionada para atender às nossas necessidades sem precedentes.
**Filecoin é a maior rede zk-SNARK até hoje. **
vários aspectos:
A configuração confiável do Filecoin suporta circuitos de até 2 ^ 27 = ~ 134 milhões de restrições.
Filecoin tem um limite > 100M para grandes circuitos individuais.
Para atender aos requisitos de segurança do Filecoin, algumas provas agrupam até 10 zk-snarks individuais em uma grande prova.
Filecoin também estende e implementa pesquisas em agregações zk-SNARK para permitir a compressão de milhares de provas individuais em uma única prova.
Tudo isso contribui para a capacidade do Filecoin de provar mais informações na produção.
O poder do Tau e a construção da confiança
A fim de suportar a quantidade limitada necessária para o Filecoin, realizamos uma nova Cerimônia Tau Power que aumentou a quantidade de suporte em 64 vezes a quantidade que o Zcash executou. Isso nos permite gerar provas de mais de 100 milhões de restrições, limitadas apenas pelo tamanho do parâmetro da distribuição.
Para dar suporte à nossa configuração confiável de segundo estágio (específica do circuito) para grandes circuitos, implementamos técnicas para reduzir significativamente o uso de RAM, permitir o paralelismo e reduzir a sobrecarga de E/S - a fim de permitir que as partes que usam hardware prático participem dentro de 7 semanas do cerimônia.
Use o provador baseado em GPU
A geração do zk-snark rapidamente se torna um gargalo, então a parte cara é implementada na GPU usando OpenCL e CUDA. Como as operações principais que suportam a geração de provas são altamente paralelizáveis, aproveitamos os cálculos modernos de GPU de uso geral para descarregá-los da CPU.
**Isso permite um maior rendimento ao mesmo tempo em que cria eficiência econômica. **Descarregando o trabalho paralelizável para processadores paralelos relativamente baratos, podemos manter a memória principal e a CPU livres para o trabalho de alta ordem e uso intensivo de memória usado para criar mineradores de dados.
Algoritmos de domínio de baixo nível são a base da maioria das operações executadas ao gerar e verificar zk-snarks. **A biblioteca blst implementa seções críticas em assembly e C para obter o último desempenho da CPU. **Para garantir que essas otimizações não comprometam a segurança, o código (mesmo em linguagem assembly!) está sendo verificado formalmente pela Galois.
Validação de lote mais forte
Para melhorar a velocidade de verificação de vários zk-snarks, a verificação em lote é implementada. Esta é uma técnica descrita no Apêndice B2 da especificação Zcash, mas ainda não está em uso. Isso permite reduzir o número de loops de Miller (a operação mais cara no processo de validação) que precisam ser executados, reduzindo bastante ao olhar para várias validações ao mesmo tempo.
Embora a verificação em lote ajude, precisávamos de uma verificação mais rápida, então implementamos o SnarkPack. Isso nos permite agregar muitos zk-snarks em uma prova combinada. **Essa otimização não apenas reduz o tempo de verificação em mais de 10x em escala, mas também reduz a largura de banda da cadeia, reduzindo o número médio de bytes por prova que deve ser enviado à cadeia. **
Para conseguir isso, desenvolvemos uma justificativa interna do produto e trabalhamos com os autores para ampliá-la para atender às nossas necessidades sem exigir uma nova configuração confiável. Conseguimos isso adaptando a técnica para aplicar com segurança usando duas configurações confiáveis existentes de poder de Tau. **Este é um ótimo exemplo dos obstáculos que historicamente tivemos que superar para alcançar uma escala revolucionária. **
O Dayou IPFS Research Institute continuará atento às últimas notícias sobre o projeto Filecoin.
Seja você um novato ou um praticante sênior, o Dayou IPFS Institute fornecerá a você perspectivas inovadoras e análises aprofundadas. Mantemos o espírito de abertura e tolerância e convidamos você a se juntar a nós para aprender e crescer juntos.
Ver original
O conteúdo é apenas para referência, não uma solicitação ou oferta. Nenhum aconselhamento fiscal, de investimento ou jurídico é fornecido. Consulte a isenção de responsabilidade para obter mais informações sobre riscos.
Explicação detalhada da aplicação de zk-SNARKs na rede Filecoin
Escrito por: Dayou IPFS Research Institute
zk-SNARKs (Zero-Knowledge Sucinct Non-Interactive Arguments of Knowledge), fornecem a uma parte a capacidade de provar a outra parte que conhece um segredo sem revelar o próprio segredo. zk-SNARKs permitem interações seguras e privadas com partes desconhecidas e não confiáveis no blockchain.
**A rede Filecoin atualmente gera de 6 a 7 milhões de provas zk-SNARK por dia, cada uma contendo mais de 100 milhões de restrições aritméticas. **Para atingir esse objetivo, nós - Protocol Labs aprimoramos e otimizamos fortemente a ferramenta de geração de snark existente, permitindo que ela seja dimensionada para atender às nossas necessidades sem precedentes.
**Filecoin é a maior rede zk-SNARK até hoje. **
vários aspectos:
Tudo isso contribui para a capacidade do Filecoin de provar mais informações na produção.
O poder do Tau e a construção da confiança
A fim de suportar a quantidade limitada necessária para o Filecoin, realizamos uma nova Cerimônia Tau Power que aumentou a quantidade de suporte em 64 vezes a quantidade que o Zcash executou. Isso nos permite gerar provas de mais de 100 milhões de restrições, limitadas apenas pelo tamanho do parâmetro da distribuição.
Para dar suporte à nossa configuração confiável de segundo estágio (específica do circuito) para grandes circuitos, implementamos técnicas para reduzir significativamente o uso de RAM, permitir o paralelismo e reduzir a sobrecarga de E/S - a fim de permitir que as partes que usam hardware prático participem dentro de 7 semanas do cerimônia.
Use o provador baseado em GPU
A geração do zk-snark rapidamente se torna um gargalo, então a parte cara é implementada na GPU usando OpenCL e CUDA. Como as operações principais que suportam a geração de provas são altamente paralelizáveis, aproveitamos os cálculos modernos de GPU de uso geral para descarregá-los da CPU.
**Isso permite um maior rendimento ao mesmo tempo em que cria eficiência econômica. **Descarregando o trabalho paralelizável para processadores paralelos relativamente baratos, podemos manter a memória principal e a CPU livres para o trabalho de alta ordem e uso intensivo de memória usado para criar mineradores de dados.
Algoritmos de domínio de baixo nível são a base da maioria das operações executadas ao gerar e verificar zk-snarks. **A biblioteca blst implementa seções críticas em assembly e C para obter o último desempenho da CPU. **Para garantir que essas otimizações não comprometam a segurança, o código (mesmo em linguagem assembly!) está sendo verificado formalmente pela Galois.
Validação de lote mais forte
Para melhorar a velocidade de verificação de vários zk-snarks, a verificação em lote é implementada. Esta é uma técnica descrita no Apêndice B2 da especificação Zcash, mas ainda não está em uso. Isso permite reduzir o número de loops de Miller (a operação mais cara no processo de validação) que precisam ser executados, reduzindo bastante ao olhar para várias validações ao mesmo tempo.
Embora a verificação em lote ajude, precisávamos de uma verificação mais rápida, então implementamos o SnarkPack. Isso nos permite agregar muitos zk-snarks em uma prova combinada. **Essa otimização não apenas reduz o tempo de verificação em mais de 10x em escala, mas também reduz a largura de banda da cadeia, reduzindo o número médio de bytes por prova que deve ser enviado à cadeia. **
Para conseguir isso, desenvolvemos uma justificativa interna do produto e trabalhamos com os autores para ampliá-la para atender às nossas necessidades sem exigir uma nova configuração confiável. Conseguimos isso adaptando a técnica para aplicar com segurança usando duas configurações confiáveis existentes de poder de Tau. **Este é um ótimo exemplo dos obstáculos que historicamente tivemos que superar para alcançar uma escala revolucionária. **
O Dayou IPFS Research Institute continuará atento às últimas notícias sobre o projeto Filecoin.
Seja você um novato ou um praticante sênior, o Dayou IPFS Institute fornecerá a você perspectivas inovadoras e análises aprofundadas. Mantemos o espírito de abertura e tolerância e convidamos você a se juntar a nós para aprender e crescer juntos.