Agradecimentos especiais a John Burnham, do Lurk Labs, por seus valiosos comentários e sugestões sobre este artigo.
Sobre o desempenho da Máquina Virtual Ethereum (EVM)
Cada operação na rede principal Ethereum custa uma certa quantidade de Gas. Se colocarmos todos os cálculos necessários para rodar o aplicativo básico na cadeia, ou o aplicativo travará ou o usuário irá à falência.
Isso deu origem a L2: OPRU apresenta um agrupador para agrupar várias transações antes de se comprometer com a rede principal. Isso não apenas ajuda o aplicativo a garantir a segurança do Ethereum, mas também oferece aos usuários uma experiência melhor. Os usuários podem enviar transações mais rapidamente e as taxas são mais baratas. Embora as operações tenham se tornado mais baratas, ele ainda usa o EVM nativo como camada de execução. Semelhante ao ZK Rollups, Scroll e Polygon, o zkEVM usa ou usará circuitos zk baseados em EVM, e o zk Proof será gerado em cada transação ou em um grande lote de transações realizadas em seu provador. Embora isso permita que os desenvolvedores criem aplicativos "on-chain", ainda é eficiente e econômico executar aplicativos de alto desempenho?
Quais são esses aplicativos de alto desempenho?
Jogos, livros de pedidos on-chain, Web3 social, aprendizado de máquina, modelagem de genoma, etc. vêm à mente primeiro. Todos eles são computacionalmente intensivos e caros para serem executados em L2. Outro problema do EVM é que a velocidade e a eficiência do cálculo não são tão boas quanto outros sistemas atuais, como o SVM (Sealevel Virtual Machine).
Embora o L3 EVM possa tornar os cálculos mais baratos, a própria estrutura do EVM pode não ser a melhor maneira de realizar cálculos altos porque não pode calcular operações paralelas. Cada vez que uma nova camada é construída acima, para manter o espírito de descentralização, uma nova infraestrutura (nova rede de nós) precisa ser construída, o que ainda requer o mesmo número de provedores para expandir, ou todo um novo conjunto de nós provedores (indivíduos/empresas) para fornecer recursos, ou ambos são necessários.
Portanto, sempre que uma solução mais avançada é construída, a infraestrutura existente precisa ser atualizada ou uma nova camada construída sobre ela. Para resolver esse problema, precisamos de uma infraestrutura de computação pós-quântica segura, descentralizada, confiável e de alto desempenho que possa usar algoritmos quânticos de forma verdadeira e eficiente para computar aplicativos descentralizados.
Alt-L1s como Solana, Sui e Aptos são capazes de execução paralela, mas devido ao sentimento do mercado, falta de liquidez e falta de desenvolvedores no mercado, eles não desafiarão o Ethereum. Por causa da falta de confiança, o fosso construído pela Ethereum com efeitos de rede é um marco. Até agora, o assassino ETH/EVM não existe. A questão aqui é: por que toda a computação deveria ser on-chain? Existe um sistema de aplicação descentralizado igualmente sem confiança? Isso é o que o sistema DCompute pode alcançar.
A infraestrutura DCompute deve ser descentralizada, pós-quântica segura e sem confiança. Não precisa ou não deve ser blockchain/tecnologia distribuída, mas é muito importante verificar os resultados dos cálculos, corrigir as transições de estado e a confirmação final. Importante. É assim que a cadeia EVM funciona. Enquanto mantém a segurança e a imutabilidade da rede, a computação descentralizada, confiável e segura pode ser movida para fora da cadeia.
O que ignoramos principalmente aqui é a questão da disponibilidade de dados. Este post não deixa de focar na disponibilidade de dados, pois soluções como Celestia e EigenDA já estão caminhando nessa direção.
1: Somente computação terceirizada
(来源: Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
Terceirizar computação e disponibilidade de dados
(来源: Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
Quando vimos o Tipo 1, os zk-rollups já estavam fazendo isso, mas eram limitados pelo EVM ou precisavam ensinar aos desenvolvedores um novo conjunto de linguagem/instrução. A solução ideal deve ser eficiente, eficaz (custos e recursos), descentralizada, privada e verificável. As provas ZK podem ser construídas em servidores AWS, mas não são descentralizadas. Soluções como Nillion e Nexus estão tentando resolver o problema da computação geral de forma descentralizada. Mas essas soluções não podem ser verificadas sem provas ZK.
O tipo 2 combina um modelo de computação fora da cadeia com uma camada de disponibilidade de dados que permanece separada, mas a computação ainda precisa ser verificada na cadeia.
Vamos dar uma olhada nos diferentes modelos de computação descentralizada disponíveis hoje que não são totalmente confiáveis e possivelmente completamente sem confiança.
Alternativa; Computação s
Mapa ecológico da computação terceirizada da Ethereum (Fonte: IOSG Ventures)
Computações Enclave Seguras / Ambientes de Execução Confiáveis
TEE (Trusted Execution Environment) é como uma caixa especial dentro de um computador ou smartphone. Ele tem seu próprio cadeado e chave, e apenas alguns programas (chamados de aplicativos confiáveis) podem acessá-lo. Quando esses aplicativos confiáveis são executados dentro do TEE, eles são protegidos por outros programas e até mesmo pelo próprio sistema operacional.
É como um esconderijo secreto onde apenas alguns amigos especiais podem entrar. O exemplo mais comum de TEE é o Secure Enclave, que existe nos dispositivos que usamos, como o chip T;1 da Apple e o SGX da Intel, para executar operações críticas dentro do dispositivo, como o FaceID.
Como o TEE é um sistema isolado, o processo de autenticação não pode ser comprometido devido às suposições de confiança na autenticação. Pense nisso como uma porta de segurança que você acredita ser segura porque a Intel ou a Apple a construíram, mas existem infratores de segurança suficientes no mundo (incluindo hackers e outros computadores) que você pode violar essa porta de segurança. Os TEEs não são "seguros pós-quânticos", o que significa que um computador quântico com recursos ilimitados pode quebrar a segurança do TEE. À medida que os computadores se tornam rapidamente mais poderosos, devemos construir sistemas de computação de longo prazo e esquemas de criptografia com a segurança pós-quântica em mente.
Computação Multipartidária Segura (SMPC)
SMPC (Secure Multi-Party Computation) também é uma solução de computação bem conhecida na indústria de tecnologia blockchain. O fluxo de trabalho geral na rede SMPC consistirá nas três partes a seguir:
Etapa 1;: Converta a entrada calculada em ações (shares) e distribua entre os nós SMPC.
Etapa 2;: Faça a computação real, geralmente envolvendo troca de mensagens entre nós SMPC. No final desta etapa, cada nó terá uma parcela do valor de saída calculado.
Etapa 3;: Envie o compartilhamento de resultado para um ou mais nós de resultado, que executam LSS (algoritmo de recuperação de compartilhamento secreto) para reconstruir o resultado de saída.
Imagine uma linha de produção de automóveis, onde os componentes de construção e fabricação do carro (motor, portas, espelhos) são terceirizados para o fabricante do equipamento original (OEM) (nós de trabalho) e, em seguida, há uma linha de montagem que reúne todos os componentes para fazer o carro (resultando em nó).
O compartilhamento de segredos é importante para um modelo de computação descentralizada que preserva a privacidade. Isso evita que uma única parte obtenha o "segredo" completo (a entrada neste caso) e produza saídas falsas de forma maliciosa. O SMPC é provavelmente um dos sistemas descentralizados mais fáceis e seguros. Embora um modelo totalmente descentralizado não exista atualmente, é logicamente possível.
Provedores de MPC como o Sharemind fornecem infraestrutura de MPC para computação, mas os provedores ainda são centralizados. Como garantir a privacidade, como garantir que a rede (ou Sharemind) não aja maliciosamente? É aqui que entram as provas zk e os cálculos verificáveis zk.
Computação de mensagem nula (NMC)
NMC é um novo método de computação distribuída desenvolvido pela equipe Nillion. É uma versão atualizada do MPC, onde os nós não precisam se comunicar interagindo por meio de resultados. Para fazer isso, eles usaram um primitivo criptográfico chamado One-Time Masking, que usa uma série de números aleatórios chamados fatores de cegueira para mascarar um segredo, semelhante ao preenchimento único. O OTM visa fornecer correção de maneira eficiente, o que significa que os nós NMC não precisam trocar nenhuma mensagem para realizar cálculos. Isso significa que o NMC não tem os problemas de escalabilidade do SMPC.
Computação verificável de conhecimento zero
A Computação Verificável ZK (ZK Verifiable Computation) é gerar uma prova de conhecimento zero para um conjunto de entradas e uma função e provar que qualquer cálculo realizado pelo sistema será executado corretamente. Embora a computação de prova de conceito ZK seja nova, ela já é uma parte muito crítica do roteiro de dimensionamento da rede Ethereum.
ZK prova que existem várias formas de implementação (conforme mostrado na figura abaixo, com base no resumo do paper "Off-Chaining_Models"):
(来源: IOSG Ventures, Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
Acima, temos um entendimento básico da implementação de provas zk, então quais são as condições para usar provas ZK para verificar cálculos?
Antes de tudo, precisamos escolher uma primitiva de prova. A primitiva de prova ideal tem baixo custo para gerar provas, não requer muita memória e é fácil de verificar
Em segundo lugar, escolha um circuito zk projetado para gerar computacionalmente as provas das primitivas acima
Por fim, em um sistema/rede de computação, a função fornecida é calculada na entrada fornecida e fornece a saída.
Dilema do Desenvolvedor - Prove o Dilema da Eficiência
Outra coisa que tenho a dizer é que o limiar para a construção de circuitos ainda é muito alto. Não é fácil para os desenvolvedores aprender Solidity. Agora os desenvolvedores são obrigados a aprender Circom para construir circuitos ou aprender uma linguagem de programação específica (como Cairo) construir zk-apps parece uma perspectiva distante.
(fonte:
(fonte:
Como mostram as estatísticas acima, adaptar um ambiente Web3 para ser mais amigável ao desenvolvimento parece ser mais sustentável do que trazer desenvolvedores para um novo ambiente de desenvolvimento Web3.
Se o ZK é o futuro da Web3 e os aplicativos Web3 precisam ser construídos usando as habilidades existentes do desenvolvedor, os circuitos ZK precisam ser projetados de forma a suportar cálculos executados por algoritmos escritos em linguagens como Java ou Rust para gerar provas .
Essas soluções existem e penso em duas equipes: RiscZero e Lurk Labs. Ambas as equipes compartilham uma visão muito semelhante de permitir que os desenvolvedores criem zk-apps sem passar por uma curva de aprendizado acentuada.
Ainda é cedo para o Lurk Labs, mas a equipe está trabalhando neste projeto há muito tempo. Eles se concentram na geração de Nova Proofs por meio de circuitos de uso geral. Novas provas foram propostas por Abhiram Kothapalli da Carnegie Mellon University e Srinath Setty da Microsoft Research e Ioanna Tziallae da New York University. Em comparação com outros sistemas SNARK, as provas Nova têm vantagens particulares em fazer computação verificável incremental (IVC). Computação verificável incremental (IVC) é um conceito em ciência da computação e criptografia que visa permitir a verificação de uma computação sem recalcular toda a computação do zero. As provas precisam ser otimizadas para IVC quando o tempo de computação é longo e complexo.
(Fonte: IOSG Ventures)
As provas do Nova não são "prontas para uso" como outros sistemas de prova, o Nova é apenas um truque de dobrar e os desenvolvedores ainda precisam de um sistema de prova para gerar provas. É por isso que o Lurk Labs criou o Lurk Lang, uma implementação LISP. Como LISP é uma linguagem de baixo nível, ela facilita a geração de provas em circuitos de uso geral e também é fácil de traduzir para Java, o que ajudará o Lurk Labs a obter suporte de 17,4 milhões de desenvolvedores Java. Traduções para outras linguagens comuns, como Python, também são suportadas.
Em suma, as provas do Nova parecem ser um ótimo sistema de prova original. Enquanto sua desvantagem é que o tamanho da prova aumenta linearmente com o tamanho da computação, as provas Nova, por outro lado, têm espaço para maior compressão.
O tamanho das provas STARK não aumenta com o cálculo, por isso é mais adequado para verificar cálculos muito grandes. Para melhorar ainda mais a experiência do desenvolvedor, eles também lançaram o Bonsai Network, uma rede de computação distribuída verificada por provas geradas pelo RiscZero. Este é um diagrama simples que representa como a rede Bonsai do RiscZero funciona.
(Fonte:
A beleza do design da rede Bonsai é que os cálculos podem ser inicializados, verificados e gerados todos na cadeia. Tudo isso soa como utopia, mas as provas STARK também trazem problemas - o custo de verificação é muito alto.
As novas provas parecem ser adequadas para cálculos repetidos (seu esquema de dobramento é econômico) e pequenos cálculos, o que pode tornar o Lurk uma boa solução para verificação de inferência de ML.
Quem é o vencedor?
(Fonte: IOSG Ventures)
Alguns sistemas zk-SNARK requerem um processo de configuração confiável durante a fase inicial de configuração, gerando um conjunto inicial de parâmetros. A suposição de confiança aqui é que as configurações confiáveis são executadas honestamente, sem nenhum comportamento malicioso ou adulteração. Se atacado, pode levar à criação de provas inválidas.
As provas STARK assumem a segurança dos testes de ordem inferior para verificar as propriedades de polinômios de ordem inferior. Eles também assumem que as funções de hash se comportam como oráculos aleatórios.
A implementação adequada de ambos os sistemas também é uma suposição de segurança.
Uma rede SMPC depende do seguinte:
Os participantes do SMPC podem incluir participantes "honestos, mas curiosos" que podem tentar acessar qualquer informação subjacente, comunicando-se com outros nós.
A segurança da rede SMPC baseia-se no pressuposto de que os participantes executam corretamente o protocolo e não introduzem intencionalmente erros ou comportamentos maliciosos.
Certos protocolos SMPC podem exigir uma fase de configuração confiável para gerar parâmetros criptografados ou valores iniciais. A suposição de confiança aqui é que a configuração confiável é aplicada honestamente.
Igual à rede SMPC, a suposição de segurança permanece a mesma, mas devido à existência de OTM (Off-The-Grid Multi-party Computation), não há participantes "honestos, mas curiosos".
OTM é um protocolo de computação multipartidário projetado para proteger a privacidade dos participantes. Ele alcança a proteção da privacidade ao permitir que os participantes não divulguem seus dados de entrada no cálculo. Portanto, participantes "honestos, mas curiosos" não existem porque não podem se comunicar com outros nós na tentativa de acessar as informações subjacentes.
Existe um vencedor claro? Não sabemos. Mas cada método tem suas próprias vantagens. Embora o NMC pareça uma atualização óbvia para o SMPC, a rede ainda não está ativa ou testada em batalha.
O benefício de usar a computação verificável do ZK é que ela é segura e preserva a privacidade, mas não possui compartilhamento de segredo integrado. A assimetria entre geração e verificação de provas o torna um modelo ideal para computação terceirizada verificável. Se o sistema usa cálculos puros à prova de zk, o computador (ou um único nó) deve ser muito poderoso para realizar muitos cálculos. Para permitir o compartilhamento de carga e balanceamento preservando a privacidade, deve haver compartilhamento secreto. Nesse caso, um sistema como SMPC ou NMC pode ser combinado com um gerador zk como Lurk ou RiscZero para criar uma poderosa infraestrutura de computação terceirizada verificável e distribuída.
Isso se torna ainda mais importante nas redes MPC/SMPC centralizadas de hoje. O maior provedor de MPC no momento é o Sharemind, e uma camada de verificação do ZK pode ser útil. O modelo econômico da rede MPC descentralizada ainda não funcionou. Em teoria, o modo NMC é uma atualização do sistema MPC, mas ainda não vimos seu sucesso.
Na corrida pelos esquemas de prova de ZK, pode não haver uma situação em que o vencedor leva tudo. Cada método de prova é otimizado para um tipo específico de computação e nenhum se adapta a todos os tipos de modelos. Existem muitos tipos de tarefas computacionais e também depende das compensações que os desenvolvedores fazem com cada sistema de prova. O autor acredita que tanto os sistemas baseados em STARK quanto os sistemas baseados em SNARK e suas futuras otimizações têm um lugar no futuro do ZK.
Ver original
O conteúdo serve apenas de referência e não constitui uma solicitação ou oferta. Não é prestado qualquer aconselhamento em matéria de investimento, fiscal ou jurídica. Consulte a Declaração de exoneração de responsabilidade para obter mais informações sobre os riscos.
IOSG Ventures: O caminho para a inovação que libera o desempenho do Ethereum e supera o gargalo do EVM
Autor Original: Siddharth Rao, IOSG Ventures
Agradecimentos especiais a John Burnham, do Lurk Labs, por seus valiosos comentários e sugestões sobre este artigo.
Sobre o desempenho da Máquina Virtual Ethereum (EVM)
Cada operação na rede principal Ethereum custa uma certa quantidade de Gas. Se colocarmos todos os cálculos necessários para rodar o aplicativo básico na cadeia, ou o aplicativo travará ou o usuário irá à falência.
Isso deu origem a L2: OPRU apresenta um agrupador para agrupar várias transações antes de se comprometer com a rede principal. Isso não apenas ajuda o aplicativo a garantir a segurança do Ethereum, mas também oferece aos usuários uma experiência melhor. Os usuários podem enviar transações mais rapidamente e as taxas são mais baratas. Embora as operações tenham se tornado mais baratas, ele ainda usa o EVM nativo como camada de execução. Semelhante ao ZK Rollups, Scroll e Polygon, o zkEVM usa ou usará circuitos zk baseados em EVM, e o zk Proof será gerado em cada transação ou em um grande lote de transações realizadas em seu provador. Embora isso permita que os desenvolvedores criem aplicativos "on-chain", ainda é eficiente e econômico executar aplicativos de alto desempenho?
Quais são esses aplicativos de alto desempenho?
Jogos, livros de pedidos on-chain, Web3 social, aprendizado de máquina, modelagem de genoma, etc. vêm à mente primeiro. Todos eles são computacionalmente intensivos e caros para serem executados em L2. Outro problema do EVM é que a velocidade e a eficiência do cálculo não são tão boas quanto outros sistemas atuais, como o SVM (Sealevel Virtual Machine).
Embora o L3 EVM possa tornar os cálculos mais baratos, a própria estrutura do EVM pode não ser a melhor maneira de realizar cálculos altos porque não pode calcular operações paralelas. Cada vez que uma nova camada é construída acima, para manter o espírito de descentralização, uma nova infraestrutura (nova rede de nós) precisa ser construída, o que ainda requer o mesmo número de provedores para expandir, ou todo um novo conjunto de nós provedores (indivíduos/empresas) para fornecer recursos, ou ambos são necessários.
Portanto, sempre que uma solução mais avançada é construída, a infraestrutura existente precisa ser atualizada ou uma nova camada construída sobre ela. Para resolver esse problema, precisamos de uma infraestrutura de computação pós-quântica segura, descentralizada, confiável e de alto desempenho que possa usar algoritmos quânticos de forma verdadeira e eficiente para computar aplicativos descentralizados.
Alt-L1s como Solana, Sui e Aptos são capazes de execução paralela, mas devido ao sentimento do mercado, falta de liquidez e falta de desenvolvedores no mercado, eles não desafiarão o Ethereum. Por causa da falta de confiança, o fosso construído pela Ethereum com efeitos de rede é um marco. Até agora, o assassino ETH/EVM não existe. A questão aqui é: por que toda a computação deveria ser on-chain? Existe um sistema de aplicação descentralizado igualmente sem confiança? Isso é o que o sistema DCompute pode alcançar.
A infraestrutura DCompute deve ser descentralizada, pós-quântica segura e sem confiança. Não precisa ou não deve ser blockchain/tecnologia distribuída, mas é muito importante verificar os resultados dos cálculos, corrigir as transições de estado e a confirmação final. Importante. É assim que a cadeia EVM funciona. Enquanto mantém a segurança e a imutabilidade da rede, a computação descentralizada, confiável e segura pode ser movida para fora da cadeia.
O que ignoramos principalmente aqui é a questão da disponibilidade de dados. Este post não deixa de focar na disponibilidade de dados, pois soluções como Celestia e EigenDA já estão caminhando nessa direção.
1: Somente computação terceirizada
(来源: Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
(来源: Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
Quando vimos o Tipo 1, os zk-rollups já estavam fazendo isso, mas eram limitados pelo EVM ou precisavam ensinar aos desenvolvedores um novo conjunto de linguagem/instrução. A solução ideal deve ser eficiente, eficaz (custos e recursos), descentralizada, privada e verificável. As provas ZK podem ser construídas em servidores AWS, mas não são descentralizadas. Soluções como Nillion e Nexus estão tentando resolver o problema da computação geral de forma descentralizada. Mas essas soluções não podem ser verificadas sem provas ZK.
O tipo 2 combina um modelo de computação fora da cadeia com uma camada de disponibilidade de dados que permanece separada, mas a computação ainda precisa ser verificada na cadeia.
Vamos dar uma olhada nos diferentes modelos de computação descentralizada disponíveis hoje que não são totalmente confiáveis e possivelmente completamente sem confiança.
Alternativa; Computação s
Mapa ecológico da computação terceirizada da Ethereum (Fonte: IOSG Ventures)
Computações Enclave Seguras / Ambientes de Execução Confiáveis
TEE (Trusted Execution Environment) é como uma caixa especial dentro de um computador ou smartphone. Ele tem seu próprio cadeado e chave, e apenas alguns programas (chamados de aplicativos confiáveis) podem acessá-lo. Quando esses aplicativos confiáveis são executados dentro do TEE, eles são protegidos por outros programas e até mesmo pelo próprio sistema operacional.
É como um esconderijo secreto onde apenas alguns amigos especiais podem entrar. O exemplo mais comum de TEE é o Secure Enclave, que existe nos dispositivos que usamos, como o chip T;1 da Apple e o SGX da Intel, para executar operações críticas dentro do dispositivo, como o FaceID.
Como o TEE é um sistema isolado, o processo de autenticação não pode ser comprometido devido às suposições de confiança na autenticação. Pense nisso como uma porta de segurança que você acredita ser segura porque a Intel ou a Apple a construíram, mas existem infratores de segurança suficientes no mundo (incluindo hackers e outros computadores) que você pode violar essa porta de segurança. Os TEEs não são "seguros pós-quânticos", o que significa que um computador quântico com recursos ilimitados pode quebrar a segurança do TEE. À medida que os computadores se tornam rapidamente mais poderosos, devemos construir sistemas de computação de longo prazo e esquemas de criptografia com a segurança pós-quântica em mente.
Computação Multipartidária Segura (SMPC)
SMPC (Secure Multi-Party Computation) também é uma solução de computação bem conhecida na indústria de tecnologia blockchain. O fluxo de trabalho geral na rede SMPC consistirá nas três partes a seguir:
Imagine uma linha de produção de automóveis, onde os componentes de construção e fabricação do carro (motor, portas, espelhos) são terceirizados para o fabricante do equipamento original (OEM) (nós de trabalho) e, em seguida, há uma linha de montagem que reúne todos os componentes para fazer o carro (resultando em nó).
O compartilhamento de segredos é importante para um modelo de computação descentralizada que preserva a privacidade. Isso evita que uma única parte obtenha o "segredo" completo (a entrada neste caso) e produza saídas falsas de forma maliciosa. O SMPC é provavelmente um dos sistemas descentralizados mais fáceis e seguros. Embora um modelo totalmente descentralizado não exista atualmente, é logicamente possível.
Provedores de MPC como o Sharemind fornecem infraestrutura de MPC para computação, mas os provedores ainda são centralizados. Como garantir a privacidade, como garantir que a rede (ou Sharemind) não aja maliciosamente? É aqui que entram as provas zk e os cálculos verificáveis zk.
Computação de mensagem nula (NMC)
NMC é um novo método de computação distribuída desenvolvido pela equipe Nillion. É uma versão atualizada do MPC, onde os nós não precisam se comunicar interagindo por meio de resultados. Para fazer isso, eles usaram um primitivo criptográfico chamado One-Time Masking, que usa uma série de números aleatórios chamados fatores de cegueira para mascarar um segredo, semelhante ao preenchimento único. O OTM visa fornecer correção de maneira eficiente, o que significa que os nós NMC não precisam trocar nenhuma mensagem para realizar cálculos. Isso significa que o NMC não tem os problemas de escalabilidade do SMPC.
Computação verificável de conhecimento zero
A Computação Verificável ZK (ZK Verifiable Computation) é gerar uma prova de conhecimento zero para um conjunto de entradas e uma função e provar que qualquer cálculo realizado pelo sistema será executado corretamente. Embora a computação de prova de conceito ZK seja nova, ela já é uma parte muito crítica do roteiro de dimensionamento da rede Ethereum.
ZK prova que existem várias formas de implementação (conforme mostrado na figura abaixo, com base no resumo do paper "Off-Chaining_Models"):
(来源: IOSG Ventures, Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
Acima, temos um entendimento básico da implementação de provas zk, então quais são as condições para usar provas ZK para verificar cálculos?
Dilema do Desenvolvedor - Prove o Dilema da Eficiência
Outra coisa que tenho a dizer é que o limiar para a construção de circuitos ainda é muito alto. Não é fácil para os desenvolvedores aprender Solidity. Agora os desenvolvedores são obrigados a aprender Circom para construir circuitos ou aprender uma linguagem de programação específica (como Cairo) construir zk-apps parece uma perspectiva distante.
(fonte:
(fonte:
Como mostram as estatísticas acima, adaptar um ambiente Web3 para ser mais amigável ao desenvolvimento parece ser mais sustentável do que trazer desenvolvedores para um novo ambiente de desenvolvimento Web3.
Se o ZK é o futuro da Web3 e os aplicativos Web3 precisam ser construídos usando as habilidades existentes do desenvolvedor, os circuitos ZK precisam ser projetados de forma a suportar cálculos executados por algoritmos escritos em linguagens como Java ou Rust para gerar provas .
Essas soluções existem e penso em duas equipes: RiscZero e Lurk Labs. Ambas as equipes compartilham uma visão muito semelhante de permitir que os desenvolvedores criem zk-apps sem passar por uma curva de aprendizado acentuada.
Ainda é cedo para o Lurk Labs, mas a equipe está trabalhando neste projeto há muito tempo. Eles se concentram na geração de Nova Proofs por meio de circuitos de uso geral. Novas provas foram propostas por Abhiram Kothapalli da Carnegie Mellon University e Srinath Setty da Microsoft Research e Ioanna Tziallae da New York University. Em comparação com outros sistemas SNARK, as provas Nova têm vantagens particulares em fazer computação verificável incremental (IVC). Computação verificável incremental (IVC) é um conceito em ciência da computação e criptografia que visa permitir a verificação de uma computação sem recalcular toda a computação do zero. As provas precisam ser otimizadas para IVC quando o tempo de computação é longo e complexo.
(Fonte: IOSG Ventures)
As provas do Nova não são "prontas para uso" como outros sistemas de prova, o Nova é apenas um truque de dobrar e os desenvolvedores ainda precisam de um sistema de prova para gerar provas. É por isso que o Lurk Labs criou o Lurk Lang, uma implementação LISP. Como LISP é uma linguagem de baixo nível, ela facilita a geração de provas em circuitos de uso geral e também é fácil de traduzir para Java, o que ajudará o Lurk Labs a obter suporte de 17,4 milhões de desenvolvedores Java. Traduções para outras linguagens comuns, como Python, também são suportadas.
Em suma, as provas do Nova parecem ser um ótimo sistema de prova original. Enquanto sua desvantagem é que o tamanho da prova aumenta linearmente com o tamanho da computação, as provas Nova, por outro lado, têm espaço para maior compressão.
O tamanho das provas STARK não aumenta com o cálculo, por isso é mais adequado para verificar cálculos muito grandes. Para melhorar ainda mais a experiência do desenvolvedor, eles também lançaram o Bonsai Network, uma rede de computação distribuída verificada por provas geradas pelo RiscZero. Este é um diagrama simples que representa como a rede Bonsai do RiscZero funciona.
(Fonte:
A beleza do design da rede Bonsai é que os cálculos podem ser inicializados, verificados e gerados todos na cadeia. Tudo isso soa como utopia, mas as provas STARK também trazem problemas - o custo de verificação é muito alto.
As novas provas parecem ser adequadas para cálculos repetidos (seu esquema de dobramento é econômico) e pequenos cálculos, o que pode tornar o Lurk uma boa solução para verificação de inferência de ML.
Quem é o vencedor?
(Fonte: IOSG Ventures)
Alguns sistemas zk-SNARK requerem um processo de configuração confiável durante a fase inicial de configuração, gerando um conjunto inicial de parâmetros. A suposição de confiança aqui é que as configurações confiáveis são executadas honestamente, sem nenhum comportamento malicioso ou adulteração. Se atacado, pode levar à criação de provas inválidas.
As provas STARK assumem a segurança dos testes de ordem inferior para verificar as propriedades de polinômios de ordem inferior. Eles também assumem que as funções de hash se comportam como oráculos aleatórios.
A implementação adequada de ambos os sistemas também é uma suposição de segurança.
Uma rede SMPC depende do seguinte:
OTM é um protocolo de computação multipartidário projetado para proteger a privacidade dos participantes. Ele alcança a proteção da privacidade ao permitir que os participantes não divulguem seus dados de entrada no cálculo. Portanto, participantes "honestos, mas curiosos" não existem porque não podem se comunicar com outros nós na tentativa de acessar as informações subjacentes.
Existe um vencedor claro? Não sabemos. Mas cada método tem suas próprias vantagens. Embora o NMC pareça uma atualização óbvia para o SMPC, a rede ainda não está ativa ou testada em batalha.
O benefício de usar a computação verificável do ZK é que ela é segura e preserva a privacidade, mas não possui compartilhamento de segredo integrado. A assimetria entre geração e verificação de provas o torna um modelo ideal para computação terceirizada verificável. Se o sistema usa cálculos puros à prova de zk, o computador (ou um único nó) deve ser muito poderoso para realizar muitos cálculos. Para permitir o compartilhamento de carga e balanceamento preservando a privacidade, deve haver compartilhamento secreto. Nesse caso, um sistema como SMPC ou NMC pode ser combinado com um gerador zk como Lurk ou RiscZero para criar uma poderosa infraestrutura de computação terceirizada verificável e distribuída.
Isso se torna ainda mais importante nas redes MPC/SMPC centralizadas de hoje. O maior provedor de MPC no momento é o Sharemind, e uma camada de verificação do ZK pode ser útil. O modelo econômico da rede MPC descentralizada ainda não funcionou. Em teoria, o modo NMC é uma atualização do sistema MPC, mas ainda não vimos seu sucesso.
Na corrida pelos esquemas de prova de ZK, pode não haver uma situação em que o vencedor leva tudo. Cada método de prova é otimizado para um tipo específico de computação e nenhum se adapta a todos os tipos de modelos. Existem muitos tipos de tarefas computacionais e também depende das compensações que os desenvolvedores fazem com cada sistema de prova. O autor acredita que tanto os sistemas baseados em STARK quanto os sistemas baseados em SNARK e suas futuras otimizações têm um lugar no futuro do ZK.