Visualização do Setor Promissor: O Mercado de Poder de Computação Descentralizada (Parte II)

Intermediário1/10/2024, 9:22:08 AM
Este artigo parte dos conceitos básicos das provas de conhecimento zero e explora as múltiplas possibilidades do mercado de poder de computação descentralizado, um caminho promissor.

Prefácio

No artigo 'Previsão do Setor Promissor: O Mercado de Poder de Computação Descentralizado (Parte I)', já compreendemos a importância do poder computacional no contexto das expectativas de IA e exploramos profundamente os dois principais desafios atualmente enfrentados na criação de um mercado descentralizado de poder computacional AGI. Este artigo começará com os conceitos fundamentais das provas de conhecimento zero e, aprofundando progressivamente, explorará as múltiplas possibilidades do mercado descentralizado de poder computacional, um setor em crescimento e promissor. (O artigo anterior também abordou o mercado de poder computacional do Bitcoin, mas considerando o recente crescimento explosivo no ecossistema do Bitcoin, esse aspecto será discutido mais detalhadamente em nossos futuros artigos relacionados ao ecossistema do Bitcoin.)

Visão geral das Provas de Conhecimento Zero

Em meados dos anos 1980, três criptógrafos do MIT (Shafi Goldwasser, Silvio Micali e Charles Rackoff) publicaram um artigo intitulado 'A Complexidade do Conhecimento dos Sistemas de Prova Interativa'. Este artigo descreveu uma técnica criptográfica inovadora que permite a verificação da autenticidade da informação sem revelar a informação em si. Os autores chamaram a esta técnica de 'prova de conhecimento zero' e forneceram uma definição específica e um quadro para o conceito.

Nas décadas seguintes, a tecnologia de prova de conhecimento zero, baseada neste artigo, desenvolveu-se gradualmente e melhorou em vários campos. Hoje, as provas de conhecimento zero tornaram-se um termo abrangente que representa muitos métodos criptográficos “modernos” ou “avançados”, especialmente aqueles relacionados com o futuro da blockchain.

Definição

Prova de conhecimento zero (ZKP), usada de forma intercambiável neste texto dependendo do contexto, refere-se a um método em que um provador pode demonstrar a correção de uma afirmação a um verificador sem fornecer nenhuma informação específica sobre a própria afirmação. As três atributos fundamentais deste método incluem completude, solidez e conhecimento zero. A completude garante a provabilidade de afirmações verdadeiras, a solidez garante que afirmações falsas não possam ser provadas, e o conhecimento zero significa que o verificador não obtém nenhuma informação além da verdade da afirmação.

Tipos de Provas de Conhecimento Zero

Com base no método de comunicação entre o provador e o verificador, existem dois tipos de provas de conhecimento zero: interativas e não interativas. Nas provas interativas, há uma série de interações entre o provador e o verificador. Essas interações fazem parte do processo de prova, onde o provador responde a uma série de perguntas ou desafios do verificador para provar a veracidade de sua declaração. Esse processo geralmente envolve múltiplas rodadas de comunicação, com o verificador fazendo uma pergunta ou desafio em cada rodada e o provador respondendo para provar a correção de sua afirmação. Nas provas não interativas, múltiplas rodadas de interação não são necessárias. Aqui, o provador cria uma única prova verificável de forma independente e a envia para o verificador. O verificador pode verificar independentemente a veracidade desta prova sem mais comunicação com o provador.

Interativo vs. Não Interativo Explicado de Forma Simples

1. Interativo: A história de Alibaba e os Quarenta Ladrões é um exemplo clássico frequentemente citado para explicar provas interativas de conhecimento zero. Numa versão simplificada da história, Alibaba, que conhece as palavras mágicas para abrir uma caverna cheia de tesouros, é capturado pelos ladrões. Se ele revelar as palavras mágicas, corre o risco de ser morto por falta de utilidade adicional. Se ele recusar, os ladrões podem matá-lo por não saber o segredo. Para provar que conhece o segredo sem o revelar, Alibaba usa duas entradas, A e B, para a caverna, ambas levando a uma câmara central com uma porta protegida por senha. Alibaba entra na caverna e escolhe uma entrada enquanto os ladrões esperam do lado de fora, sem ver a sua escolha. Os ladrões então chamam aleatoriamente A ou B, exigindo que Alibaba saia pela entrada escolhida. Se Alibaba realmente conhece as palavras mágicas, ele pode usar a senha para passar pela porta central e sair pela entrada designada. Repetindo este processo com sucesso várias vezes, Alibaba prova que conhece o segredo sem o revelar.

  1. Não interativo: Imagine que você e um amigo têm cada um um livro de "Onde está Wally?". Você afirma saber a localização do Wally em uma página específica, mas seu amigo está cético. Para provar que você sabe a localização do Wally sem a revelar, você pode cobrir a página inteira com um papel opaco grande, revelando o Wally através de um pequeno buraco (uma prova única e independentemente verificável). Desta forma, você prova que sabe a localização do Wally, mas seu amigo ainda não consegue determinar as coordenadas exatas de Wally na imagem.

Implementação de Blockchain

As provas de conhecimento zero têm várias implementações em blockchain, sendo zk-STARK (Zero-Knowledge Scalable Transparent Argument of Knowledge) e zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) as mais conhecidas. Ambas são provas não interativas de conhecimento zero, como indicado por "Não interativo" em seus nomes.

zk-SNARK é um esquema de prova de conhecimento zero de propósito geral amplamente utilizado (não uma única tecnologia, mas uma categoria). Converte qualquer processo computacional em uma série de circuitos gate, depois utiliza propriedades polinomiais para transformar esses circuitos em polinômios, comprimindo e gerando assim pequenas provas não interativas para aplicações comerciais complexas. zk-SNARK requer uma configuração confiável, onde várias partes geram cada uma uma parte da chave num ambiente confiável e depois a destroem. Se as informações secretas usadas na configuração confiável não forem destruídas, poderiam ser exploradas para falsificar transações por meio de verificação falsa.

zk-STARK evoluiu do zk-SNARK, abordando a dependência de setups confiáveis. Pode completar a verificação da blockchain sem nenhum setup confiável, reduzindo a complexidade de lançamento de redes e eliminando os riscos de colusão. No entanto, zk-STARK tem o problema de gerar provas maiores, o que é desvantajoso em termos de armazenamento, verificação on-chain e tempo de geração. Se já experimentou versões iniciais do StarkNet (usando zk-STARK), pode ter notado uma diferença significativa em velocidade e taxas de Gas em comparação com outras soluções de Camada 2. Assim, zk-SNARK é mais comumente adotado. Outras soluções menos convencionais incluem PLONK e Bulletproofs, cada uma com suas próprias vantagens e desvantagens em tamanho da prova, tempo do provador e tempo de verificação. Alcançar uma prova de conhecimento zero ideal é desafiador, e os algoritmos mainstream geralmente equilibram diferentes dimensões.

Desenvolver ZK geralmente envolve dois componentes-chave:

Expressão de computação ZK-friendly: Isso inclui uma linguagem específica de domínio (DSL) ou uma biblioteca de baixo nível. Bibliotecas de baixo nível como Arkworks fornecem ferramentas e primitivas necessárias, permitindo que os desenvolvedores reescrevam manualmente o código em uma linguagem de nível inferior. DSLs como Cairo ou Circom são linguagens de programação adaptadas para aplicações ZK, compilando nas primitivas necessárias para a geração de prova. Operações mais complexas levam a tempos mais longos de geração de prova, e certas operações (como operações de bits usadas em SHA ou Keccak) podem não ser adequadas para ZK, resultando em uma geração de prova demorada.

Sistema de prova: O sistema de prova é o núcleo de uma aplicação ZK, implementando duas funções básicas: Provar e Verificar. A função Provar permite gerar uma prova (exigindo cálculos matemáticos extensivos, com provas mais complexas levando mais tempo para serem geradas) de que uma afirmação está correta sem revelar detalhes da prova. A função Verificar é usada para verificar a correção desta prova (quanto mais complexa e maior a prova, melhor o desempenho e menos tempo necessário para verificação). Diferentes sistemas de prova, como Groth16, GM17, PLONK, Spartan e STARK, variam em eficiência, segurança e facilidade de uso.

Mapa de Aplicação ZKP

  1. Pontes de cadeia cruzada e interoperabilidade ZKP: ZKP pode criar provas de validade para protocolos de mensagens entre cadeias, permitindo que as mensagens sejam rapidamente verificadas na cadeia de destino. Isso é semelhante a verificar zkRollups na base L1. No entanto, as mensagens entre cadeias são mais complexas devido a diferentes esquemas de assinatura e funções criptográficas que precisam de verificação entre as cadeias de origem e de destino.

  2. ZKP em Motores de Jogo On-Chain: A Floresta Negra demonstra como ZKP pode permitir jogos de informação incompleta on-chain. Isso é crucial para projetar jogos mais interativos, onde as ações dos jogadores permanecem privadas até que escolham revelá-las. À medida que os jogos on-chain amadurecem, ZKP se tornará parte dos motores de execução de jogos. As startups que integram com sucesso recursos de privacidade em motores de jogos on-chain de alto rendimento desempenharão um papel significativo.

  3. Soluções de Identidade: ZKP abre múltiplas oportunidades no domínio da identidade. Podem ser usadas para provas de reputação ou ligação de identidades Web2 e Web3. Atualmente, as nossas identidades Web2 e Web3 estão separadas. Projetos como Clique usam oráculos para ligar estas identidades. ZKP pode levar isto mais longe ligando anonimamente as identidades Web2 e Web3, permitindo casos de uso como a adesão anónima a DAO, desde que consigam provar expertise específica de domínio usando dados Web2 ou Web3. Outro caso de uso são empréstimos Web3 sem garantia baseados no estatuto social Web2 de um mutuário (por exemplo, contagem de seguidores no Twitter).

  4. ZKP para conformidade regulamentar: O Web3 permite que contas online anônimas participem ativamente no sistema financeiro, alcançando uma significativa liberdade financeira e inclusão. Com o aumento das regulamentações do Web3, o ZKP pode ser usado para cumprir sem comprometer o anonimato. O ZKP pode provar que um utilizador não é cidadão ou residente de um país sancionado. Também pode ser usado para provar o estatuto de investidor qualificado ou quaisquer outros requisitos de KYC/AML.

  5. Financiamento de Dívida Privada Web3 Nativa: O financiamento de dívida TradeFi é frequentemente usado para apoiar startups em crescimento para acelerar o crescimento ou iniciar novas linhas de negócios sem adicionar capital de risco extra. O surgimento de DAOs Web3 e empresas anônimas cria oportunidades para o financiamento de dívida nativa Web3. Por exemplo, usando ZKP, DAOs ou empresas anônimas podem obter empréstimos não garantidos e taxas competitivas com base em métricas de crescimento comprovadas, sem divulgar informações do mutuário aos credores.

  6. Privacidade no DeFi: As instituições financeiras frequentemente mantêm a privacidade do seu histórico de transações e exposição ao risco. No entanto, o uso de protocolos de finanças descentralizadas (DeFi) on-chain torna-se desafiador devido ao avanço das técnicas de análise on-chain. Uma solução potencial é o desenvolvimento de produtos DeFi focados na privacidade para proteger a privacidade dos participantes. Um protocolo que tenta fazer isso é o zkSwap da Penumbra. Além disso, o zk.money da Aztec oferece algumas oportunidades de ganho no DeFi privado ao obscurecer a participação do usuário em protocolos DeFi transparentes. Geralmente, protocolos que implementam com sucesso produtos DeFi eficientes e focados na privacidade podem atrair volumes significativos de transações e receitas de participantes institucionais.

  7. ZKP para Publicidade Web3: Web3 capacita os utilizadores a serem proprietários dos seus direitos de dados, como histórico de navegação, atividades da carteira privada, etc. O Web3 também permite a monetização destes dados para benefício dos utilizadores. Como a monetização de dados pode entrar em conflito com a privacidade, ZKP pode desempenhar um papel crucial no controlo de quais dados pessoais podem ser divulgados a anunciantes e agregadores de dados.

  8. Partilha e Monetização de Dados Privados: Muitos dos nossos dados privados, se partilhados com as entidades certas, podem ter impactos significativos. Os dados pessoais de saúde podem ser disponibilizados em crowdsourcing para ajudar os investigadores a desenvolver novos medicamentos. Os registos financeiros privados podem ser partilhados com entidades reguladoras e de supervisão para identificar e punir práticas corruptas. ZKP pode permitir a partilha privada e monetização desses dados.

  9. Governança: À medida que as DAOs (Organizações Autônomas Descentralizadas) e a governança on-chain se tornam mais prevalentes, a Web3 está a avançar para a democracia participativa direta. Uma falha importante no modelo de governança atual é a falta de privacidade da participação. ZKP pode ser fundamental na resolução deste problema. Os participantes da governança podem votar sem revelar as suas escolhas de voto. Além disso, ZKP pode restringir a visibilidade das propostas de governança apenas aos membros da DAO, permitindo que as DAOs construam vantagens competitivas.

  10. ZKRollup: A escalabilidade é um dos casos de uso mais importantes de ZKP em blockchain. A tecnologia zkRollup agrega várias transações numa única transação. Estas transações são processadas e calculadas off-chain (fora da cadeia principal da blockchain). Para estas transações agregadas, o zkRollup usa ZKP para gerar uma prova que pode verificar a validade das transações sem revelar os seus detalhes específicos, comprimindo significativamente o tamanho dos dados. O ZKP gerado é então submetido à cadeia principal da blockchain. Os nós na cadeia principal apenas precisam verificar a validade da prova, não processar cada transação individual, reduzindo consideravelmente a carga da cadeia principal.

Aceleração de hardware ZKP

Os protocolos de Prova de Conhecimento Zero (ZKP), apesar de terem várias vantagens, atualmente enfrentam um problema principal: a verificação é fácil, mas a geração é difícil. O principal gargalo na geração da maioria dos sistemas de prova é o Multiplicação Multiescalar (MSM) ou a Transformada Rápida de Fourier (FFT) e sua inversa. A composição e prós e contras destes são os seguintes:

Multiplicação Multi-Escalar (MSM): MSM é um cálculo-chave em criptografia, envolvendo a multiplicação de pontos e escalares na criptografia de curvas elípticas. Em ZKPs, MSM é usado para construir relações matemáticas complexas sobre pontos em curvas elípticas. Esses cálculos geralmente envolvem um grande número de pontos de dados e operações, essenciais para gerar e verificar provas. MSM é particularmente importante em ZKPs, pois ajuda a construir provas que podem verificar declarações criptografadas sem expor informações privadas. MSM pode ser executado em várias threads, suportando assim o processamento paralelo. No entanto, ao lidar com grandes vetores de elementos, como 50 milhões de elementos, as operações de multiplicação ainda podem ser lentas e requerem recursos de memória substanciais. Além disso, MSM enfrenta desafios de escalabilidade, permanecendo lento mesmo com uma extensa paralelização.

Transformada Rápida de Fourier (FFT): FFT é um algoritmo eficiente para calcular a multiplicação de polinómios e resolver problemas de interpolação de polinómios. Nas ZKPs, é frequentemente usado para otimizar o cálculo de polinómios, um passo crucial na geração de provas. A FFT acelera o cálculo ao decompor operações de polinómios complexos em partes mais pequenas e simples, crucial para a eficiência no processo de geração de provas. O uso da FFT melhora significativamente a capacidade dos sistemas de ZKP para lidar com polinómios complexos e grandes conjuntos de dados. No entanto, as operações da FFT dependem de trocas frequentes de dados, tornando difícil melhorar significativamente a eficiência através de computação distribuída ou aceleração de hardware. As trocas de dados nas operações da FFT requerem largura de banda substancial, especialmente ao lidar com conjuntos de dados maiores do que a capacidade de memória do hardware.

Embora a otimização de software também seja uma direção de pesquisa importante, o método mais direto e bruto para acelerar a geração de provas é empilhar poder de computação suficiente em hardware. Entre as várias opções de hardware de computação (GPU, FPGA, ASIC), qual é a melhor escolha? Como as GPUs já foram brevemente introduzidas na seção anterior, aqui entendemos principalmente a lógica de design e prós e contras de FPGA e ASIC.

ASIC: ASIC (Circuito Integrado Específico de Aplicações) é um circuito integrado projetado especificamente para atender às necessidades de uma aplicação específica. Comparados aos processadores de uso geral ou circuitos integrados padrão, os ASICs são personalizados para realizar tarefas ou aplicações específicas, exibindo geralmente maior eficiência e desempenho em suas aplicações projetadas. No conhecido campo da mineração de Bitcoin, os ASICs são hardware computacional muito importante, com sua alta eficiência e baixo consumo de energia, tornando-os uma escolha ideal para a mineração de Bitcoin. No entanto, os ASICs têm duas desvantagens claras: uma vez que são projetados para aplicações específicas (por exemplo, as máquinas de mineração ASIC de Bitcoin são projetadas em torno do algoritmo de hash SHA-256), os custos de design e fabricação podem ser muito elevados sem adoção em massa, e o ciclo de design e verificação pode ser relativamente longo.

FPGA: FPGA significa Field Programmable Gate Array, um tipo de dispositivo reprogramável desenvolvido com base em circuitos lógicos tradicionais e arrays de portas como PAL (Programmable Logic Array), GAL (Generic Array Logic) e CPLD (Complex Programmable Logic Device). Como os ASICs, os FPGAs são circuitos integrados usados no design eletrônico para implementar funções específicas, superando as limitações dos circuitos semi-customizados passados e o número limitado de portas nos dispositivos programáveis anteriores. Suas principais características são a "reprogramabilidade, baixo consumo de energia, baixa latência e forte poder computacional." No entanto, a desvantagem dos FPGAs é que sua funcionalidade depende inteiramente da implementação de hardware, sendo incapazes de realizar operações como saltos de condição de ramificação e só podem executar operações de ponto fixo. Em termos de custo, o custo de design dos FPGAs é inferior ao dos ASICs, mas os custos de fabricação também precisam ser considerados com base na escala. Claro, o custo total de ambos é muito maior do que o das GPUs.

Voltando à discussão sobre a aceleração de hardware ZKP, é necessário primeiro reconhecer que o ZKP ainda está em estágios iniciais de desenvolvimento. Os parâmetros do sistema (como largura FFT ou tamanho em bits dos elementos) ou a escolha de sistemas de prova (apenas os sistemas de prova mencionados acima têm cinco variedades) ainda são raramente padronizados. Comparamos os três tipos de hardware computacional neste ambiente:

· Alterações na ZK 'Meta': Como mencionado anteriormente, a lógica de negócios em ASICs é escrita uma vez. Se houver alterações na lógica ZKP, ela precisa ser reiniciada. As FPGAs podem ser atualizadas qualquer número de vezes dentro de 1 segundo, o que significa que podem ser reutilizadas em várias cadeias com sistemas de prova incompatíveis (por exemplo, extração de MEV entre cadeias) e se adaptar de forma flexível a alterações na ZK 'meta'. Enquanto as GPUs não são tão rapidamente reconfiguráveis no nível de hardware quanto as FPGAs, oferecem grande flexibilidade no nível de software. As GPUs podem se adaptar a diferentes algoritmos ZKP e alterações lógicas por meio de atualizações de software. Embora essas atualizações possam não ser tão rápidas quanto as das FPGAs, ainda assim podem ser concluídas em um tempo relativamente curto.

· Fornecimento: O design, fabrico e implementação de ASICs normalmente requerem 12 a 18 meses ou mais. Em contraste, a cadeia de fornecimento de FPGA está relativamente saudável, com fornecedores líderes como a Xilinx a permitir que um grande número de encomendas de retalho chegue dentro de 16 semanas a partir do site (ou seja, sem pontos de contacto). Olhando para as GPUs, elas têm naturalmente uma grande vantagem no fornecimento. Desde a fusão de Xangai do Ethereum, houve um grande número de máquinas de mineração de GPU inativas em toda a rede. As séries subsequentes de placas gráficas desenvolvidas pela Nvidia e AMD também podem ser fornecidas em grandes quantidades.

A partir dos dois pontos acima, a menos que a pista ZK forme um consenso e padronize a adoção de um esquema, os ASICs não têm quaisquer vantagens. Dado o atual desenvolvimento diversificado de esquemas ZKP, GPUs e FPGAs serão os dois principais tipos de hardware computacional que precisamos discutir a seguir.

· Ciclo de Desenvolvimento: Devido à popularidade das GPUs e às ferramentas de desenvolvimento maduras como CUDA (para GPUs NVIDIA) e OpenCL (multiplataforma), o desenvolvimento de GPUs é mais acessível. O desenvolvimento de FPGA normalmente envolve linguagens de descrição de hardware mais complexas (como VHDL ou Verilog), exigindo mais tempo de aprendizagem e desenvolvimento.

· Consumo de Energia: As FPGAs geralmente superam as GPUs em termos de eficiência energética. Isto deve-se principalmente ao facto de as FPGAs poderem ser otimizadas para tarefas específicas, reduzindo assim o consumo desnecessário de energia. Enquanto as GPUs são poderosas no processamento de tarefas altamente paralelizadas, isso também acarreta um maior consumo de energia.

· Personalização: FPGAs podem ser programados para otimizar algoritmos ZKP específicos, aumentando a eficiência. Para algoritmos ZKP específicos, a arquitetura geral das GPUs pode não ser tão eficiente quanto o hardware especializado.

· Velocidade de Geração: De acordo com uma comparação da trapdoor-tech entre GPUs (usando Nvidia 3090 como exemplo) e FPGAs (usando Xilinx VU9P como exemplo), sob BLS12–381 (um tipo específico de curva elíptica), usando o mesmo algoritmo de multiplicação modular/adicição modular, a velocidade de geração das GPUs é cinco vezes maior do que a das FPGAs.

Em resumo, a curto prazo, considerando o ciclo de desenvolvimento, o paralelismo, a velocidade de geração, o custo e o grande número de dispositivos inativos prontos em toda a rede, as GPUs são sem dúvida a escolha mais vantajosa no momento. A direção atual da otimização de hardware está também principalmente focada nas GPUs. A hora de as FPGAs assumirem completamente a competição ainda não chegou. Portanto, é possível construir um mercado de poder computacional ZKP semelhante à mineração de PoW (um termo que concebi pessoalmente)?

Reflexões sobre a construção de um mercado de Poder de computação ZKP

Ao contemplar a construção de um mercado de poder de computação ZKP, já tiramos conclusões sobre o aspecto de hardware do texto anterior. As questões restantes são as seguintes: O ZKP precisa de descentralização? O tamanho do mercado é suficientemente atrativo? Se as cadeias públicas baseadas em ZK escolherem todas construir seus próprios mercados de geração de prova, qual é a importância de um mercado de poder de computação ZKP?

O Significado da Descentralização: Em primeiro lugar, a maioria dos projetos atuais de zkRollup (como Starkware e zKsync) dependem de servidores centralizados, considerando apenas a expansão do Ethereum. A centralização significa que o risco de censura da informação do usuário ainda existe, sacrificando de certa forma a natureza mais importante e sem permissão da blockchain. Para os protocolos de privacidade que utilizam ZK, a descentralização da geração de ZKP é extremamente necessária. A segunda razão para a descentralização é o custo, semelhante à seção anterior sobre AGI. O custo dos serviços de nuvem e aquisição de hardware é muito alto, e a geração de prova geralmente é adequada apenas para grandes projetos. Para pequenos projetos em suas fases iniciais, um mercado de prova descentralizado pode aliviar grandemente suas dificuldades de financiamento no início e também reduzir a competição injusta devido a restrições financeiras.

Tamanho do mercado: A Paradigm previu no ano passado que o mercado de minerador/gerador de prova ZK poderia crescer para um tamanho comparável ao mercado de mineração PoW passado. A razão fundamental é que tanto os compradores quanto os vendedores no mercado de poder computacional ZKP são abundantes. Para os antigos mineradores de Ethereum, os inúmeros projetos de cadeia pública e Camada 2 baseados em ZK são muito mais atraentes do que as cadeias públicas forked do Ethereum. No entanto, também precisamos considerar que a maioria das cadeias públicas ou Camadas 2 baseadas em ZK são totalmente capazes de construir seus próprios mercados de geração de prova. Se elas se conformarem com a narrativa de descentralização, este passo também é inevitável em seu roteiro (como no caso da Starkware e zkSync, que terão suas próprias soluções descentralizadas no futuro). Assim, o mercado de poder computacional ZKP ainda tem um propósito?

A importância de construí-lo: Em primeiro lugar, as aplicações do ZKP são extremamente difundidas (como já exemplificamos várias vezes no texto anterior e faremos referência a um projeto posteriormente). Em segundo lugar, mesmo que cada cadeia ZK tenha seu próprio mercado de geração de prova, o mercado de poder computacional ainda tem três funções que podem fazer com que os vendedores considerem vender seu poder computacional.

  1. Divida o poder de computação em duas partes: uma para mineração e outra para venda de contratos de poder de computação. Este método pode ajudar a proteger-se contra a volatilidade do mercado de criptomoedas. Quando o mercado cai, os contratos de venda de poder de computação proporcionam uma renda estável; quando o mercado sobe, a mineração própria pode trazer lucros adicionais.
  2. Venda todo o poder de computação para obter uma renda fixa, que é uma abordagem mais conservadora. Isso pode reduzir o impacto das flutuações do mercado na renda e garantir a estabilidade dos ganhos.
  3. Devido a diferenças nas estruturas de custos (como custos de eletricidade), alguns mineiros podem alcançar custos operacionais mais baixos do que a média do mercado. Estes mineiros podem usar sua vantagem de custo para vender contratos de poder computacional a preços de mercado e reter a diferença devido aos custos mais baixos de eletricidade, alcançando arbitragem.

Mercado de Prova

Proof Market é um mercado de poder computacional ZKP descentralizado construído pela =nil; (uma empresa de desenvolvimento Ethereum). Até onde sei, é atualmente o único mercado de poder computacional construído em torno da geração ZKP. Em essência, é um protocolo de acessibilidade de dados sem confiança que permite que blockchains e protocolos de Camada 1 e Camada 2 gerem provas de conhecimento zero com base na necessidade de compartilhamento de dados contínuo, sem depender de intermediários centralizados. Embora o Proof Market não seja o mercado construído em torno de GPUs individuais como eu imaginei (o Proof Market é construído em torno de fornecedores de hardware profissionais, e a mineração de GPU para ZKP também pode se referir à Roller Network na arquitetura Scroll ou Aleo), ainda é muito relevante ao considerar como um mercado de poder computacional ZKP é construído e amplamente aplicado. O fluxo de trabalho do Proof Market é o seguinte:

Solicitante de prova:

  • Entidades que solicitam provas, como zkBridge, zkRollup, zkOracle, ou aplicações zkML.
  • Se o circuito não existir, é necessária uma fase de preparação, onde um novo circuito é gerado ao executar zkLLVM.
  • Se o circuito já existir, uma solicitação zkProof para o circuito predefinido será criada.

zkLLVM:

  • Este componente é responsável por gerar circuitos, ou seja, programas que codificam tarefas computacionais.
  • Na fase de preparação, o zkLLVM realiza o pré-processamento no cálculo para gerar o circuito e o submete ao Proof Market.

Mercado de Prova:

  • Um mercado central que combina pedidos de prova de solicitantes com geradores de prova.
  • Verifica a validade das provas e fornece recompensas após a verificação da prova.

Gerador de Prova:

  • Realiza cálculos para gerar as provas de conhecimento zero necessárias.
  • Recebe ordens do Mercado de Prova e devolve as provas geradas.

Mecanismo de Recompensa:

  • Recompensa do Desenvolvedor de Circuito: O autor do circuito recebe uma recompensa cada vez que um solicitante de prova usa o circuito para gerar uma prova.
  • Recompensa do Gerador de Prova: Uma vez que uma prova é verificada no Mercado de Provas, o gerador recebe uma recompensa com base nos termos do pedido.

Em todo o processo, o pedido, geração, verificação e distribuição de recompensas por provas giram em torno do Mercado de Provas. Este processo visa criar um mercado descentralizado onde a geração e verificação de ZKP são automatizadas, e os participantes podem receber recompensas correspondentes às suas contribuições.

Cenários de aplicação

Desde o seu lançamento de teste em janeiro de 2023, os principais cenários de aplicação para o Proof Market têm sido protocolos que operam fora da Camada 1 (L1) do Ethereum, como zkRollup, zkBridge conectado ao Ethereum e blockchains públicas que utilizam zkP.

Com a integração de endpoints Ethereum (uma interface de gateway que permite que outros sistemas ou serviços se conectem e se integrem), o Proof Market será aplicável a mais aplicativos, especialmente aqueles que precisam solicitar diretamente provas de aplicativos EVM para fornecer uma experiência de usuário mais suave ou precisam trabalhar com dados armazenados on-chain.

Aqui estão alguns cenários de aplicação potenciais:

  • Aprendizagem de Máquina (ML): As solicitações de inferência podem ser iniciadas on-chain para aplicações zkML. Aplicações como detecção de fraudes, análise preditiva e verificação de identidade podem ser implementadas no Ethereum.
  • Processamento de Dados Ethereum (zkOracles): Muitas aplicações requerem dados históricos ou processados do Ethereum. Usando zkOracles, os usuários podem obter dados da camada de consenso para a camada de execução.
  • Transferência de Dados (zkBridges): Os utilizadores podem solicitar diretamente a transferência de dados e pagar as taxas de prova, eliminando a necessidade de operadores de pontes como intermediários entre os utilizadores e o mercado.
  • Prova de fraude: Algumas provas de fraude podem ser facilmente verificadas on-chain, enquanto outras não. Os pescadores (participantes da rede focados em verificar o protocolo principal e procurar possíveis fraudes) podem concentrar-se em verificar o protocolo principal e apontar as provas necessárias fornecidas pelo Mercado de Provas.
  • Atualizações e acumulação de dados: Os aplicativos podem armazenar as atualizações mais recentes diretamente na Camada 1 e depois acumulá-las em uma árvore Merkle, com provas de atualizações de raiz corretas.
  • Geração de Números Aleatórios: As aplicações podem solicitar números aleatórios gerados através de VDFs baseados em hash sem confiança.
  • Agregação de Provas: Se as aplicações enviarem independentemente as suas provas (sem verificação), agregá-las numa única prova e depois verificá-las de uma vez pode reduzir o custo da verificação das provas.

Implementação Prática

O conhecido projeto LSD Lido também está a utilizar o Proof Market para construir uma solução que melhore a segurança e credibilidade do contrato Oracle de Contabilidade do Lido. O Oracle de Contabilidade do Lido depende de um comité Oracle composto por terceiros de confiança e de um mecanismo de quórum para manter o seu estado, o que representa potenciais vetores de ataque. O processo de solução no Proof Market é o seguinte:

Definição do Problema

  • Contrato Oracle de Contabilidade do Lido: Gerencia relatórios complexos, incluindo dados da Camada de Consenso (como Total de Valor Bloqueado (TVL), número de validadores, etc.).
  • Objetivo: Para tornar os relatórios não confiáveis, é necessário expandir o relatório para incluir provas de validade computacional.

Especificação da Solução

  • Objetivo Preliminar: Na primeira fase, apenas relatar um subconjunto como o saldo do Lido CL (referente a ativos relacionados à Camada de Consenso no protocolo Lido), números de saldo ativo e de saída, etc.
  • Participantes chave:

Lido: Needs to make certain data from the Consensus Layer state accessible in the Execution Layer.

Oracle: Relatórios TVL e números de validadores para o contrato TVL.

Produtor de Prova: Gera provas de integridade computacional.

Verificador de prova: Verifica provas no contrato EL.

Implementação Técnica

  • Oracle: Uma aplicação independente que obtém dados de entrada, calcula relatórios da Oracle e produz provas.
  • Circuito zkLLVM: Usado para construir provas de conhecimento zero para integridade computacional.
  • Contrato Oracle de Auditoria Contábil Trustless: Verifica provas binárias e valida informações de validade computacional.

Fases de Implantação

  • Estado atual: Quando membros do Oracle confiáveis suficientes enviam relatórios e atingem um quórum.
  • Fase "Dark Launch": Atinge quórum confiável, mas também aceita relatórios sem confiança e executa a verificação necessária.
  • Período de transição: Alcança quórum confiável, recebe pelo menos um relatório confiável válido e os relatórios são consistentes.
  • Lançamento Completo: O contrato de contabilidade utiliza apenas relatórios sem confiança para determinar o TVL e o número de validadores.
  • Estado Final: Abolir completamente a comunicação de quórum, usando apenas relatórios sem confiança.

Conclusão

Comparado com o grande plano do mercado de poder computacional AGI, o mercado de poder computacional ZKP é de fato mais limitado a aplicações dentro da blockchain. No entanto, a vantagem é que o desenvolvimento do mercado de poder computacional ZKP não precisa considerar designs extremamente complexos como redes neurais, tornando a dificuldade de desenvolvimento geral mais baixa e os requisitos de financiamento menores. Combinando os projetos mencionados acima, não é difícil ver que enquanto o mercado de poder computacional AGI ainda está confuso sobre como aterrar, o mercado de poder computacional ZKP já penetrou em múltiplos cenários de aplicação na blockchain em múltiplas dimensões.

Do ponto de vista do mercado, o mercado de poder computacional ZKP ainda está numa fase muito inicial e inexplorada, e o mercado de Prova mencionado anteriormente não é o design ideal na minha opinião. Com a otimização do algoritmo, otimização do cenário de aplicação, otimização de hardware e a escolha de diferentes mercados de vendedores de poder computacional, ainda existe muito espaço para imaginação no design do mercado de poder computacional ZKP. Além disso, considerando a perspectiva de desenvolvimento, Vitalik enfatizou repetidamente que o impacto do ZK no campo da blockchain na próxima década será tão importante quanto a própria blockchain. No entanto, dada a versatilidade do ZK, à medida que o design amadurece, a importância futura do ZK em campos não relacionados à blockchain pode não ser inferior à atual AGI, e suas perspectivas não devem ser subestimadas.

Sobre YBB

YBB é um fundo web3 dedicado a identificar projetos definidores da Web3 com a visão de criar um habitat online melhor para todos os residentes da internet. Fundada por um grupo de crentes em blockchain que têm participado ativamente nesta indústria desde 2013, a YBB está sempre disposta a ajudar projetos em estágio inicial a evoluir de 0 a 1. Valorizamos a inovação, a paixão autônoma e produtos orientados para o usuário, reconhecendo o potencial de criptomoedas e aplicações blockchain.

Declaração de exoneração de responsabilidade:

  1. Este artigo foi reproduzido a partir de [médio]. Todos os direitos autorais pertencem ao autor original [YBB]. Se houver objeções a esta reimpressão, entre em contato com o Gate Learnequipa e eles tratarão do assunto prontamente.
  2. Isenção de Responsabilidade: Os pontos de vista e opiniões expressos neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

Visualização do Setor Promissor: O Mercado de Poder de Computação Descentralizada (Parte II)

Intermediário1/10/2024, 9:22:08 AM
Este artigo parte dos conceitos básicos das provas de conhecimento zero e explora as múltiplas possibilidades do mercado de poder de computação descentralizado, um caminho promissor.

Prefácio

No artigo 'Previsão do Setor Promissor: O Mercado de Poder de Computação Descentralizado (Parte I)', já compreendemos a importância do poder computacional no contexto das expectativas de IA e exploramos profundamente os dois principais desafios atualmente enfrentados na criação de um mercado descentralizado de poder computacional AGI. Este artigo começará com os conceitos fundamentais das provas de conhecimento zero e, aprofundando progressivamente, explorará as múltiplas possibilidades do mercado descentralizado de poder computacional, um setor em crescimento e promissor. (O artigo anterior também abordou o mercado de poder computacional do Bitcoin, mas considerando o recente crescimento explosivo no ecossistema do Bitcoin, esse aspecto será discutido mais detalhadamente em nossos futuros artigos relacionados ao ecossistema do Bitcoin.)

Visão geral das Provas de Conhecimento Zero

Em meados dos anos 1980, três criptógrafos do MIT (Shafi Goldwasser, Silvio Micali e Charles Rackoff) publicaram um artigo intitulado 'A Complexidade do Conhecimento dos Sistemas de Prova Interativa'. Este artigo descreveu uma técnica criptográfica inovadora que permite a verificação da autenticidade da informação sem revelar a informação em si. Os autores chamaram a esta técnica de 'prova de conhecimento zero' e forneceram uma definição específica e um quadro para o conceito.

Nas décadas seguintes, a tecnologia de prova de conhecimento zero, baseada neste artigo, desenvolveu-se gradualmente e melhorou em vários campos. Hoje, as provas de conhecimento zero tornaram-se um termo abrangente que representa muitos métodos criptográficos “modernos” ou “avançados”, especialmente aqueles relacionados com o futuro da blockchain.

Definição

Prova de conhecimento zero (ZKP), usada de forma intercambiável neste texto dependendo do contexto, refere-se a um método em que um provador pode demonstrar a correção de uma afirmação a um verificador sem fornecer nenhuma informação específica sobre a própria afirmação. As três atributos fundamentais deste método incluem completude, solidez e conhecimento zero. A completude garante a provabilidade de afirmações verdadeiras, a solidez garante que afirmações falsas não possam ser provadas, e o conhecimento zero significa que o verificador não obtém nenhuma informação além da verdade da afirmação.

Tipos de Provas de Conhecimento Zero

Com base no método de comunicação entre o provador e o verificador, existem dois tipos de provas de conhecimento zero: interativas e não interativas. Nas provas interativas, há uma série de interações entre o provador e o verificador. Essas interações fazem parte do processo de prova, onde o provador responde a uma série de perguntas ou desafios do verificador para provar a veracidade de sua declaração. Esse processo geralmente envolve múltiplas rodadas de comunicação, com o verificador fazendo uma pergunta ou desafio em cada rodada e o provador respondendo para provar a correção de sua afirmação. Nas provas não interativas, múltiplas rodadas de interação não são necessárias. Aqui, o provador cria uma única prova verificável de forma independente e a envia para o verificador. O verificador pode verificar independentemente a veracidade desta prova sem mais comunicação com o provador.

Interativo vs. Não Interativo Explicado de Forma Simples

1. Interativo: A história de Alibaba e os Quarenta Ladrões é um exemplo clássico frequentemente citado para explicar provas interativas de conhecimento zero. Numa versão simplificada da história, Alibaba, que conhece as palavras mágicas para abrir uma caverna cheia de tesouros, é capturado pelos ladrões. Se ele revelar as palavras mágicas, corre o risco de ser morto por falta de utilidade adicional. Se ele recusar, os ladrões podem matá-lo por não saber o segredo. Para provar que conhece o segredo sem o revelar, Alibaba usa duas entradas, A e B, para a caverna, ambas levando a uma câmara central com uma porta protegida por senha. Alibaba entra na caverna e escolhe uma entrada enquanto os ladrões esperam do lado de fora, sem ver a sua escolha. Os ladrões então chamam aleatoriamente A ou B, exigindo que Alibaba saia pela entrada escolhida. Se Alibaba realmente conhece as palavras mágicas, ele pode usar a senha para passar pela porta central e sair pela entrada designada. Repetindo este processo com sucesso várias vezes, Alibaba prova que conhece o segredo sem o revelar.

  1. Não interativo: Imagine que você e um amigo têm cada um um livro de "Onde está Wally?". Você afirma saber a localização do Wally em uma página específica, mas seu amigo está cético. Para provar que você sabe a localização do Wally sem a revelar, você pode cobrir a página inteira com um papel opaco grande, revelando o Wally através de um pequeno buraco (uma prova única e independentemente verificável). Desta forma, você prova que sabe a localização do Wally, mas seu amigo ainda não consegue determinar as coordenadas exatas de Wally na imagem.

Implementação de Blockchain

As provas de conhecimento zero têm várias implementações em blockchain, sendo zk-STARK (Zero-Knowledge Scalable Transparent Argument of Knowledge) e zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) as mais conhecidas. Ambas são provas não interativas de conhecimento zero, como indicado por "Não interativo" em seus nomes.

zk-SNARK é um esquema de prova de conhecimento zero de propósito geral amplamente utilizado (não uma única tecnologia, mas uma categoria). Converte qualquer processo computacional em uma série de circuitos gate, depois utiliza propriedades polinomiais para transformar esses circuitos em polinômios, comprimindo e gerando assim pequenas provas não interativas para aplicações comerciais complexas. zk-SNARK requer uma configuração confiável, onde várias partes geram cada uma uma parte da chave num ambiente confiável e depois a destroem. Se as informações secretas usadas na configuração confiável não forem destruídas, poderiam ser exploradas para falsificar transações por meio de verificação falsa.

zk-STARK evoluiu do zk-SNARK, abordando a dependência de setups confiáveis. Pode completar a verificação da blockchain sem nenhum setup confiável, reduzindo a complexidade de lançamento de redes e eliminando os riscos de colusão. No entanto, zk-STARK tem o problema de gerar provas maiores, o que é desvantajoso em termos de armazenamento, verificação on-chain e tempo de geração. Se já experimentou versões iniciais do StarkNet (usando zk-STARK), pode ter notado uma diferença significativa em velocidade e taxas de Gas em comparação com outras soluções de Camada 2. Assim, zk-SNARK é mais comumente adotado. Outras soluções menos convencionais incluem PLONK e Bulletproofs, cada uma com suas próprias vantagens e desvantagens em tamanho da prova, tempo do provador e tempo de verificação. Alcançar uma prova de conhecimento zero ideal é desafiador, e os algoritmos mainstream geralmente equilibram diferentes dimensões.

Desenvolver ZK geralmente envolve dois componentes-chave:

Expressão de computação ZK-friendly: Isso inclui uma linguagem específica de domínio (DSL) ou uma biblioteca de baixo nível. Bibliotecas de baixo nível como Arkworks fornecem ferramentas e primitivas necessárias, permitindo que os desenvolvedores reescrevam manualmente o código em uma linguagem de nível inferior. DSLs como Cairo ou Circom são linguagens de programação adaptadas para aplicações ZK, compilando nas primitivas necessárias para a geração de prova. Operações mais complexas levam a tempos mais longos de geração de prova, e certas operações (como operações de bits usadas em SHA ou Keccak) podem não ser adequadas para ZK, resultando em uma geração de prova demorada.

Sistema de prova: O sistema de prova é o núcleo de uma aplicação ZK, implementando duas funções básicas: Provar e Verificar. A função Provar permite gerar uma prova (exigindo cálculos matemáticos extensivos, com provas mais complexas levando mais tempo para serem geradas) de que uma afirmação está correta sem revelar detalhes da prova. A função Verificar é usada para verificar a correção desta prova (quanto mais complexa e maior a prova, melhor o desempenho e menos tempo necessário para verificação). Diferentes sistemas de prova, como Groth16, GM17, PLONK, Spartan e STARK, variam em eficiência, segurança e facilidade de uso.

Mapa de Aplicação ZKP

  1. Pontes de cadeia cruzada e interoperabilidade ZKP: ZKP pode criar provas de validade para protocolos de mensagens entre cadeias, permitindo que as mensagens sejam rapidamente verificadas na cadeia de destino. Isso é semelhante a verificar zkRollups na base L1. No entanto, as mensagens entre cadeias são mais complexas devido a diferentes esquemas de assinatura e funções criptográficas que precisam de verificação entre as cadeias de origem e de destino.

  2. ZKP em Motores de Jogo On-Chain: A Floresta Negra demonstra como ZKP pode permitir jogos de informação incompleta on-chain. Isso é crucial para projetar jogos mais interativos, onde as ações dos jogadores permanecem privadas até que escolham revelá-las. À medida que os jogos on-chain amadurecem, ZKP se tornará parte dos motores de execução de jogos. As startups que integram com sucesso recursos de privacidade em motores de jogos on-chain de alto rendimento desempenharão um papel significativo.

  3. Soluções de Identidade: ZKP abre múltiplas oportunidades no domínio da identidade. Podem ser usadas para provas de reputação ou ligação de identidades Web2 e Web3. Atualmente, as nossas identidades Web2 e Web3 estão separadas. Projetos como Clique usam oráculos para ligar estas identidades. ZKP pode levar isto mais longe ligando anonimamente as identidades Web2 e Web3, permitindo casos de uso como a adesão anónima a DAO, desde que consigam provar expertise específica de domínio usando dados Web2 ou Web3. Outro caso de uso são empréstimos Web3 sem garantia baseados no estatuto social Web2 de um mutuário (por exemplo, contagem de seguidores no Twitter).

  4. ZKP para conformidade regulamentar: O Web3 permite que contas online anônimas participem ativamente no sistema financeiro, alcançando uma significativa liberdade financeira e inclusão. Com o aumento das regulamentações do Web3, o ZKP pode ser usado para cumprir sem comprometer o anonimato. O ZKP pode provar que um utilizador não é cidadão ou residente de um país sancionado. Também pode ser usado para provar o estatuto de investidor qualificado ou quaisquer outros requisitos de KYC/AML.

  5. Financiamento de Dívida Privada Web3 Nativa: O financiamento de dívida TradeFi é frequentemente usado para apoiar startups em crescimento para acelerar o crescimento ou iniciar novas linhas de negócios sem adicionar capital de risco extra. O surgimento de DAOs Web3 e empresas anônimas cria oportunidades para o financiamento de dívida nativa Web3. Por exemplo, usando ZKP, DAOs ou empresas anônimas podem obter empréstimos não garantidos e taxas competitivas com base em métricas de crescimento comprovadas, sem divulgar informações do mutuário aos credores.

  6. Privacidade no DeFi: As instituições financeiras frequentemente mantêm a privacidade do seu histórico de transações e exposição ao risco. No entanto, o uso de protocolos de finanças descentralizadas (DeFi) on-chain torna-se desafiador devido ao avanço das técnicas de análise on-chain. Uma solução potencial é o desenvolvimento de produtos DeFi focados na privacidade para proteger a privacidade dos participantes. Um protocolo que tenta fazer isso é o zkSwap da Penumbra. Além disso, o zk.money da Aztec oferece algumas oportunidades de ganho no DeFi privado ao obscurecer a participação do usuário em protocolos DeFi transparentes. Geralmente, protocolos que implementam com sucesso produtos DeFi eficientes e focados na privacidade podem atrair volumes significativos de transações e receitas de participantes institucionais.

  7. ZKP para Publicidade Web3: Web3 capacita os utilizadores a serem proprietários dos seus direitos de dados, como histórico de navegação, atividades da carteira privada, etc. O Web3 também permite a monetização destes dados para benefício dos utilizadores. Como a monetização de dados pode entrar em conflito com a privacidade, ZKP pode desempenhar um papel crucial no controlo de quais dados pessoais podem ser divulgados a anunciantes e agregadores de dados.

  8. Partilha e Monetização de Dados Privados: Muitos dos nossos dados privados, se partilhados com as entidades certas, podem ter impactos significativos. Os dados pessoais de saúde podem ser disponibilizados em crowdsourcing para ajudar os investigadores a desenvolver novos medicamentos. Os registos financeiros privados podem ser partilhados com entidades reguladoras e de supervisão para identificar e punir práticas corruptas. ZKP pode permitir a partilha privada e monetização desses dados.

  9. Governança: À medida que as DAOs (Organizações Autônomas Descentralizadas) e a governança on-chain se tornam mais prevalentes, a Web3 está a avançar para a democracia participativa direta. Uma falha importante no modelo de governança atual é a falta de privacidade da participação. ZKP pode ser fundamental na resolução deste problema. Os participantes da governança podem votar sem revelar as suas escolhas de voto. Além disso, ZKP pode restringir a visibilidade das propostas de governança apenas aos membros da DAO, permitindo que as DAOs construam vantagens competitivas.

  10. ZKRollup: A escalabilidade é um dos casos de uso mais importantes de ZKP em blockchain. A tecnologia zkRollup agrega várias transações numa única transação. Estas transações são processadas e calculadas off-chain (fora da cadeia principal da blockchain). Para estas transações agregadas, o zkRollup usa ZKP para gerar uma prova que pode verificar a validade das transações sem revelar os seus detalhes específicos, comprimindo significativamente o tamanho dos dados. O ZKP gerado é então submetido à cadeia principal da blockchain. Os nós na cadeia principal apenas precisam verificar a validade da prova, não processar cada transação individual, reduzindo consideravelmente a carga da cadeia principal.

Aceleração de hardware ZKP

Os protocolos de Prova de Conhecimento Zero (ZKP), apesar de terem várias vantagens, atualmente enfrentam um problema principal: a verificação é fácil, mas a geração é difícil. O principal gargalo na geração da maioria dos sistemas de prova é o Multiplicação Multiescalar (MSM) ou a Transformada Rápida de Fourier (FFT) e sua inversa. A composição e prós e contras destes são os seguintes:

Multiplicação Multi-Escalar (MSM): MSM é um cálculo-chave em criptografia, envolvendo a multiplicação de pontos e escalares na criptografia de curvas elípticas. Em ZKPs, MSM é usado para construir relações matemáticas complexas sobre pontos em curvas elípticas. Esses cálculos geralmente envolvem um grande número de pontos de dados e operações, essenciais para gerar e verificar provas. MSM é particularmente importante em ZKPs, pois ajuda a construir provas que podem verificar declarações criptografadas sem expor informações privadas. MSM pode ser executado em várias threads, suportando assim o processamento paralelo. No entanto, ao lidar com grandes vetores de elementos, como 50 milhões de elementos, as operações de multiplicação ainda podem ser lentas e requerem recursos de memória substanciais. Além disso, MSM enfrenta desafios de escalabilidade, permanecendo lento mesmo com uma extensa paralelização.

Transformada Rápida de Fourier (FFT): FFT é um algoritmo eficiente para calcular a multiplicação de polinómios e resolver problemas de interpolação de polinómios. Nas ZKPs, é frequentemente usado para otimizar o cálculo de polinómios, um passo crucial na geração de provas. A FFT acelera o cálculo ao decompor operações de polinómios complexos em partes mais pequenas e simples, crucial para a eficiência no processo de geração de provas. O uso da FFT melhora significativamente a capacidade dos sistemas de ZKP para lidar com polinómios complexos e grandes conjuntos de dados. No entanto, as operações da FFT dependem de trocas frequentes de dados, tornando difícil melhorar significativamente a eficiência através de computação distribuída ou aceleração de hardware. As trocas de dados nas operações da FFT requerem largura de banda substancial, especialmente ao lidar com conjuntos de dados maiores do que a capacidade de memória do hardware.

Embora a otimização de software também seja uma direção de pesquisa importante, o método mais direto e bruto para acelerar a geração de provas é empilhar poder de computação suficiente em hardware. Entre as várias opções de hardware de computação (GPU, FPGA, ASIC), qual é a melhor escolha? Como as GPUs já foram brevemente introduzidas na seção anterior, aqui entendemos principalmente a lógica de design e prós e contras de FPGA e ASIC.

ASIC: ASIC (Circuito Integrado Específico de Aplicações) é um circuito integrado projetado especificamente para atender às necessidades de uma aplicação específica. Comparados aos processadores de uso geral ou circuitos integrados padrão, os ASICs são personalizados para realizar tarefas ou aplicações específicas, exibindo geralmente maior eficiência e desempenho em suas aplicações projetadas. No conhecido campo da mineração de Bitcoin, os ASICs são hardware computacional muito importante, com sua alta eficiência e baixo consumo de energia, tornando-os uma escolha ideal para a mineração de Bitcoin. No entanto, os ASICs têm duas desvantagens claras: uma vez que são projetados para aplicações específicas (por exemplo, as máquinas de mineração ASIC de Bitcoin são projetadas em torno do algoritmo de hash SHA-256), os custos de design e fabricação podem ser muito elevados sem adoção em massa, e o ciclo de design e verificação pode ser relativamente longo.

FPGA: FPGA significa Field Programmable Gate Array, um tipo de dispositivo reprogramável desenvolvido com base em circuitos lógicos tradicionais e arrays de portas como PAL (Programmable Logic Array), GAL (Generic Array Logic) e CPLD (Complex Programmable Logic Device). Como os ASICs, os FPGAs são circuitos integrados usados no design eletrônico para implementar funções específicas, superando as limitações dos circuitos semi-customizados passados e o número limitado de portas nos dispositivos programáveis anteriores. Suas principais características são a "reprogramabilidade, baixo consumo de energia, baixa latência e forte poder computacional." No entanto, a desvantagem dos FPGAs é que sua funcionalidade depende inteiramente da implementação de hardware, sendo incapazes de realizar operações como saltos de condição de ramificação e só podem executar operações de ponto fixo. Em termos de custo, o custo de design dos FPGAs é inferior ao dos ASICs, mas os custos de fabricação também precisam ser considerados com base na escala. Claro, o custo total de ambos é muito maior do que o das GPUs.

Voltando à discussão sobre a aceleração de hardware ZKP, é necessário primeiro reconhecer que o ZKP ainda está em estágios iniciais de desenvolvimento. Os parâmetros do sistema (como largura FFT ou tamanho em bits dos elementos) ou a escolha de sistemas de prova (apenas os sistemas de prova mencionados acima têm cinco variedades) ainda são raramente padronizados. Comparamos os três tipos de hardware computacional neste ambiente:

· Alterações na ZK 'Meta': Como mencionado anteriormente, a lógica de negócios em ASICs é escrita uma vez. Se houver alterações na lógica ZKP, ela precisa ser reiniciada. As FPGAs podem ser atualizadas qualquer número de vezes dentro de 1 segundo, o que significa que podem ser reutilizadas em várias cadeias com sistemas de prova incompatíveis (por exemplo, extração de MEV entre cadeias) e se adaptar de forma flexível a alterações na ZK 'meta'. Enquanto as GPUs não são tão rapidamente reconfiguráveis no nível de hardware quanto as FPGAs, oferecem grande flexibilidade no nível de software. As GPUs podem se adaptar a diferentes algoritmos ZKP e alterações lógicas por meio de atualizações de software. Embora essas atualizações possam não ser tão rápidas quanto as das FPGAs, ainda assim podem ser concluídas em um tempo relativamente curto.

· Fornecimento: O design, fabrico e implementação de ASICs normalmente requerem 12 a 18 meses ou mais. Em contraste, a cadeia de fornecimento de FPGA está relativamente saudável, com fornecedores líderes como a Xilinx a permitir que um grande número de encomendas de retalho chegue dentro de 16 semanas a partir do site (ou seja, sem pontos de contacto). Olhando para as GPUs, elas têm naturalmente uma grande vantagem no fornecimento. Desde a fusão de Xangai do Ethereum, houve um grande número de máquinas de mineração de GPU inativas em toda a rede. As séries subsequentes de placas gráficas desenvolvidas pela Nvidia e AMD também podem ser fornecidas em grandes quantidades.

A partir dos dois pontos acima, a menos que a pista ZK forme um consenso e padronize a adoção de um esquema, os ASICs não têm quaisquer vantagens. Dado o atual desenvolvimento diversificado de esquemas ZKP, GPUs e FPGAs serão os dois principais tipos de hardware computacional que precisamos discutir a seguir.

· Ciclo de Desenvolvimento: Devido à popularidade das GPUs e às ferramentas de desenvolvimento maduras como CUDA (para GPUs NVIDIA) e OpenCL (multiplataforma), o desenvolvimento de GPUs é mais acessível. O desenvolvimento de FPGA normalmente envolve linguagens de descrição de hardware mais complexas (como VHDL ou Verilog), exigindo mais tempo de aprendizagem e desenvolvimento.

· Consumo de Energia: As FPGAs geralmente superam as GPUs em termos de eficiência energética. Isto deve-se principalmente ao facto de as FPGAs poderem ser otimizadas para tarefas específicas, reduzindo assim o consumo desnecessário de energia. Enquanto as GPUs são poderosas no processamento de tarefas altamente paralelizadas, isso também acarreta um maior consumo de energia.

· Personalização: FPGAs podem ser programados para otimizar algoritmos ZKP específicos, aumentando a eficiência. Para algoritmos ZKP específicos, a arquitetura geral das GPUs pode não ser tão eficiente quanto o hardware especializado.

· Velocidade de Geração: De acordo com uma comparação da trapdoor-tech entre GPUs (usando Nvidia 3090 como exemplo) e FPGAs (usando Xilinx VU9P como exemplo), sob BLS12–381 (um tipo específico de curva elíptica), usando o mesmo algoritmo de multiplicação modular/adicição modular, a velocidade de geração das GPUs é cinco vezes maior do que a das FPGAs.

Em resumo, a curto prazo, considerando o ciclo de desenvolvimento, o paralelismo, a velocidade de geração, o custo e o grande número de dispositivos inativos prontos em toda a rede, as GPUs são sem dúvida a escolha mais vantajosa no momento. A direção atual da otimização de hardware está também principalmente focada nas GPUs. A hora de as FPGAs assumirem completamente a competição ainda não chegou. Portanto, é possível construir um mercado de poder computacional ZKP semelhante à mineração de PoW (um termo que concebi pessoalmente)?

Reflexões sobre a construção de um mercado de Poder de computação ZKP

Ao contemplar a construção de um mercado de poder de computação ZKP, já tiramos conclusões sobre o aspecto de hardware do texto anterior. As questões restantes são as seguintes: O ZKP precisa de descentralização? O tamanho do mercado é suficientemente atrativo? Se as cadeias públicas baseadas em ZK escolherem todas construir seus próprios mercados de geração de prova, qual é a importância de um mercado de poder de computação ZKP?

O Significado da Descentralização: Em primeiro lugar, a maioria dos projetos atuais de zkRollup (como Starkware e zKsync) dependem de servidores centralizados, considerando apenas a expansão do Ethereum. A centralização significa que o risco de censura da informação do usuário ainda existe, sacrificando de certa forma a natureza mais importante e sem permissão da blockchain. Para os protocolos de privacidade que utilizam ZK, a descentralização da geração de ZKP é extremamente necessária. A segunda razão para a descentralização é o custo, semelhante à seção anterior sobre AGI. O custo dos serviços de nuvem e aquisição de hardware é muito alto, e a geração de prova geralmente é adequada apenas para grandes projetos. Para pequenos projetos em suas fases iniciais, um mercado de prova descentralizado pode aliviar grandemente suas dificuldades de financiamento no início e também reduzir a competição injusta devido a restrições financeiras.

Tamanho do mercado: A Paradigm previu no ano passado que o mercado de minerador/gerador de prova ZK poderia crescer para um tamanho comparável ao mercado de mineração PoW passado. A razão fundamental é que tanto os compradores quanto os vendedores no mercado de poder computacional ZKP são abundantes. Para os antigos mineradores de Ethereum, os inúmeros projetos de cadeia pública e Camada 2 baseados em ZK são muito mais atraentes do que as cadeias públicas forked do Ethereum. No entanto, também precisamos considerar que a maioria das cadeias públicas ou Camadas 2 baseadas em ZK são totalmente capazes de construir seus próprios mercados de geração de prova. Se elas se conformarem com a narrativa de descentralização, este passo também é inevitável em seu roteiro (como no caso da Starkware e zkSync, que terão suas próprias soluções descentralizadas no futuro). Assim, o mercado de poder computacional ZKP ainda tem um propósito?

A importância de construí-lo: Em primeiro lugar, as aplicações do ZKP são extremamente difundidas (como já exemplificamos várias vezes no texto anterior e faremos referência a um projeto posteriormente). Em segundo lugar, mesmo que cada cadeia ZK tenha seu próprio mercado de geração de prova, o mercado de poder computacional ainda tem três funções que podem fazer com que os vendedores considerem vender seu poder computacional.

  1. Divida o poder de computação em duas partes: uma para mineração e outra para venda de contratos de poder de computação. Este método pode ajudar a proteger-se contra a volatilidade do mercado de criptomoedas. Quando o mercado cai, os contratos de venda de poder de computação proporcionam uma renda estável; quando o mercado sobe, a mineração própria pode trazer lucros adicionais.
  2. Venda todo o poder de computação para obter uma renda fixa, que é uma abordagem mais conservadora. Isso pode reduzir o impacto das flutuações do mercado na renda e garantir a estabilidade dos ganhos.
  3. Devido a diferenças nas estruturas de custos (como custos de eletricidade), alguns mineiros podem alcançar custos operacionais mais baixos do que a média do mercado. Estes mineiros podem usar sua vantagem de custo para vender contratos de poder computacional a preços de mercado e reter a diferença devido aos custos mais baixos de eletricidade, alcançando arbitragem.

Mercado de Prova

Proof Market é um mercado de poder computacional ZKP descentralizado construído pela =nil; (uma empresa de desenvolvimento Ethereum). Até onde sei, é atualmente o único mercado de poder computacional construído em torno da geração ZKP. Em essência, é um protocolo de acessibilidade de dados sem confiança que permite que blockchains e protocolos de Camada 1 e Camada 2 gerem provas de conhecimento zero com base na necessidade de compartilhamento de dados contínuo, sem depender de intermediários centralizados. Embora o Proof Market não seja o mercado construído em torno de GPUs individuais como eu imaginei (o Proof Market é construído em torno de fornecedores de hardware profissionais, e a mineração de GPU para ZKP também pode se referir à Roller Network na arquitetura Scroll ou Aleo), ainda é muito relevante ao considerar como um mercado de poder computacional ZKP é construído e amplamente aplicado. O fluxo de trabalho do Proof Market é o seguinte:

Solicitante de prova:

  • Entidades que solicitam provas, como zkBridge, zkRollup, zkOracle, ou aplicações zkML.
  • Se o circuito não existir, é necessária uma fase de preparação, onde um novo circuito é gerado ao executar zkLLVM.
  • Se o circuito já existir, uma solicitação zkProof para o circuito predefinido será criada.

zkLLVM:

  • Este componente é responsável por gerar circuitos, ou seja, programas que codificam tarefas computacionais.
  • Na fase de preparação, o zkLLVM realiza o pré-processamento no cálculo para gerar o circuito e o submete ao Proof Market.

Mercado de Prova:

  • Um mercado central que combina pedidos de prova de solicitantes com geradores de prova.
  • Verifica a validade das provas e fornece recompensas após a verificação da prova.

Gerador de Prova:

  • Realiza cálculos para gerar as provas de conhecimento zero necessárias.
  • Recebe ordens do Mercado de Prova e devolve as provas geradas.

Mecanismo de Recompensa:

  • Recompensa do Desenvolvedor de Circuito: O autor do circuito recebe uma recompensa cada vez que um solicitante de prova usa o circuito para gerar uma prova.
  • Recompensa do Gerador de Prova: Uma vez que uma prova é verificada no Mercado de Provas, o gerador recebe uma recompensa com base nos termos do pedido.

Em todo o processo, o pedido, geração, verificação e distribuição de recompensas por provas giram em torno do Mercado de Provas. Este processo visa criar um mercado descentralizado onde a geração e verificação de ZKP são automatizadas, e os participantes podem receber recompensas correspondentes às suas contribuições.

Cenários de aplicação

Desde o seu lançamento de teste em janeiro de 2023, os principais cenários de aplicação para o Proof Market têm sido protocolos que operam fora da Camada 1 (L1) do Ethereum, como zkRollup, zkBridge conectado ao Ethereum e blockchains públicas que utilizam zkP.

Com a integração de endpoints Ethereum (uma interface de gateway que permite que outros sistemas ou serviços se conectem e se integrem), o Proof Market será aplicável a mais aplicativos, especialmente aqueles que precisam solicitar diretamente provas de aplicativos EVM para fornecer uma experiência de usuário mais suave ou precisam trabalhar com dados armazenados on-chain.

Aqui estão alguns cenários de aplicação potenciais:

  • Aprendizagem de Máquina (ML): As solicitações de inferência podem ser iniciadas on-chain para aplicações zkML. Aplicações como detecção de fraudes, análise preditiva e verificação de identidade podem ser implementadas no Ethereum.
  • Processamento de Dados Ethereum (zkOracles): Muitas aplicações requerem dados históricos ou processados do Ethereum. Usando zkOracles, os usuários podem obter dados da camada de consenso para a camada de execução.
  • Transferência de Dados (zkBridges): Os utilizadores podem solicitar diretamente a transferência de dados e pagar as taxas de prova, eliminando a necessidade de operadores de pontes como intermediários entre os utilizadores e o mercado.
  • Prova de fraude: Algumas provas de fraude podem ser facilmente verificadas on-chain, enquanto outras não. Os pescadores (participantes da rede focados em verificar o protocolo principal e procurar possíveis fraudes) podem concentrar-se em verificar o protocolo principal e apontar as provas necessárias fornecidas pelo Mercado de Provas.
  • Atualizações e acumulação de dados: Os aplicativos podem armazenar as atualizações mais recentes diretamente na Camada 1 e depois acumulá-las em uma árvore Merkle, com provas de atualizações de raiz corretas.
  • Geração de Números Aleatórios: As aplicações podem solicitar números aleatórios gerados através de VDFs baseados em hash sem confiança.
  • Agregação de Provas: Se as aplicações enviarem independentemente as suas provas (sem verificação), agregá-las numa única prova e depois verificá-las de uma vez pode reduzir o custo da verificação das provas.

Implementação Prática

O conhecido projeto LSD Lido também está a utilizar o Proof Market para construir uma solução que melhore a segurança e credibilidade do contrato Oracle de Contabilidade do Lido. O Oracle de Contabilidade do Lido depende de um comité Oracle composto por terceiros de confiança e de um mecanismo de quórum para manter o seu estado, o que representa potenciais vetores de ataque. O processo de solução no Proof Market é o seguinte:

Definição do Problema

  • Contrato Oracle de Contabilidade do Lido: Gerencia relatórios complexos, incluindo dados da Camada de Consenso (como Total de Valor Bloqueado (TVL), número de validadores, etc.).
  • Objetivo: Para tornar os relatórios não confiáveis, é necessário expandir o relatório para incluir provas de validade computacional.

Especificação da Solução

  • Objetivo Preliminar: Na primeira fase, apenas relatar um subconjunto como o saldo do Lido CL (referente a ativos relacionados à Camada de Consenso no protocolo Lido), números de saldo ativo e de saída, etc.
  • Participantes chave:

Lido: Needs to make certain data from the Consensus Layer state accessible in the Execution Layer.

Oracle: Relatórios TVL e números de validadores para o contrato TVL.

Produtor de Prova: Gera provas de integridade computacional.

Verificador de prova: Verifica provas no contrato EL.

Implementação Técnica

  • Oracle: Uma aplicação independente que obtém dados de entrada, calcula relatórios da Oracle e produz provas.
  • Circuito zkLLVM: Usado para construir provas de conhecimento zero para integridade computacional.
  • Contrato Oracle de Auditoria Contábil Trustless: Verifica provas binárias e valida informações de validade computacional.

Fases de Implantação

  • Estado atual: Quando membros do Oracle confiáveis suficientes enviam relatórios e atingem um quórum.
  • Fase "Dark Launch": Atinge quórum confiável, mas também aceita relatórios sem confiança e executa a verificação necessária.
  • Período de transição: Alcança quórum confiável, recebe pelo menos um relatório confiável válido e os relatórios são consistentes.
  • Lançamento Completo: O contrato de contabilidade utiliza apenas relatórios sem confiança para determinar o TVL e o número de validadores.
  • Estado Final: Abolir completamente a comunicação de quórum, usando apenas relatórios sem confiança.

Conclusão

Comparado com o grande plano do mercado de poder computacional AGI, o mercado de poder computacional ZKP é de fato mais limitado a aplicações dentro da blockchain. No entanto, a vantagem é que o desenvolvimento do mercado de poder computacional ZKP não precisa considerar designs extremamente complexos como redes neurais, tornando a dificuldade de desenvolvimento geral mais baixa e os requisitos de financiamento menores. Combinando os projetos mencionados acima, não é difícil ver que enquanto o mercado de poder computacional AGI ainda está confuso sobre como aterrar, o mercado de poder computacional ZKP já penetrou em múltiplos cenários de aplicação na blockchain em múltiplas dimensões.

Do ponto de vista do mercado, o mercado de poder computacional ZKP ainda está numa fase muito inicial e inexplorada, e o mercado de Prova mencionado anteriormente não é o design ideal na minha opinião. Com a otimização do algoritmo, otimização do cenário de aplicação, otimização de hardware e a escolha de diferentes mercados de vendedores de poder computacional, ainda existe muito espaço para imaginação no design do mercado de poder computacional ZKP. Além disso, considerando a perspectiva de desenvolvimento, Vitalik enfatizou repetidamente que o impacto do ZK no campo da blockchain na próxima década será tão importante quanto a própria blockchain. No entanto, dada a versatilidade do ZK, à medida que o design amadurece, a importância futura do ZK em campos não relacionados à blockchain pode não ser inferior à atual AGI, e suas perspectivas não devem ser subestimadas.

Sobre YBB

YBB é um fundo web3 dedicado a identificar projetos definidores da Web3 com a visão de criar um habitat online melhor para todos os residentes da internet. Fundada por um grupo de crentes em blockchain que têm participado ativamente nesta indústria desde 2013, a YBB está sempre disposta a ajudar projetos em estágio inicial a evoluir de 0 a 1. Valorizamos a inovação, a paixão autônoma e produtos orientados para o usuário, reconhecendo o potencial de criptomoedas e aplicações blockchain.

Declaração de exoneração de responsabilidade:

  1. Este artigo foi reproduzido a partir de [médio]. Todos os direitos autorais pertencem ao autor original [YBB]. Se houver objeções a esta reimpressão, entre em contato com o Gate Learnequipa e eles tratarão do assunto prontamente.
  2. Isenção de Responsabilidade: Os pontos de vista e opiniões expressos neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!