Uma breve introdução aos coprocessadores

intermediário12/25/2023, 10:15:43 AM
Este artigo explora soluções e alternativas de coprocessador e interpreta os três principais casos de uso que os coprocessadores podem desbloquear.

Para desbloquear uma nova classe de aplicativos. Não a computação que precisamos, mas a computação que merecemos.

Os aplicativos descentralizados enfrentam limitações na execução de cálculos complexos na cadeia devido às capacidades restritas de processamento do Ethereum. Como resultado, vimos muitos protocolos DeFi moverem componentes como carteiras de pedidos e sistemas de risco para fora da cadeia. Isso aponta para a necessidade de ambientes computacionais customizados, adaptados a tarefas específicas.

Vimos uma mudança lenta, mas gradual, em muitos aplicativos de definição implantados na cadeia, gerenciando partes de seus sistemas fora da cadeia. Dydx V4 manterá sua carteira de pedidos fora da rede e possivelmente também seu sistema de margens. O Blur mantém partes de sua troca fora da cadeia para uma experiência de usuário suave. Aevo, uma bolsa de opções, mantém sua carteira de pedidos e mecanismo de risco fora da rede. A razão mais simples para isso é a dificuldade de manter esses sistemas centrados no desempenho na cadeia de forma eficiente e escalonável.

A migração de componentes fora da cadeia aponta para uma necessidade mais ampla – ambientes computacionais personalizados (e de alto desempenho) adaptados a tarefas específicas. Mas isso não é tudo. Neste regime, o status quo funciona bem. Quando um protocolo executa um sistema fora da cadeia, em última análise, é opaco para você, o usuário, confiar se o sistema fora da cadeia funciona como disse. A computação verificável elimina suposições de confiança, permitindo que os protocolos façam computação fora da cadeia sem introduzir fatores de confiança. Esta é a promessa dos coprocessadores para Ethereum. Antes de discutir o modelo de coprocessador no Ethereum, vamos recapitular brevemente de onde vem essa ideia.

O conceito de coprocessadores originou-se na arquitetura de computadores como uma técnica para melhorar o desempenho. Os computadores tradicionais dependem de uma única unidade central de processamento (CPU) para lidar com todos os cálculos. No entanto, a CPU ficou sobrecarregada à medida que as cargas de trabalho se tornaram mais complexas.

Os coprocessadores foram introduzidos para ajudar – processadores especializados dedicados a tarefas específicas. Por exemplo, unidades de processamento gráfico (GPUs) lidam com os imensos cálculos paralelos necessários para a renderização 3D. Isso permite que a CPU principal se concentre no processamento de uso geral. Outros coprocessadores comuns incluem aceleradores criptográficos para criptografia/descriptografia, processadores de sinal para multimídia e coprocessadores matemáticos para cálculos científicos. Cada coprocessador possui uma arquitetura simplificada para executar sua carga de trabalho de nicho com eficiência. (Embora você possa dizer que a maior parte disso foi incluída na programação paralela, como GPUs.)

Essa divisão de trabalho entre CPU e coprocessadores levou a melhorias de ordem de grandeza no desempenho. O modelo de coprocessador permitiu que os computadores assumissem cargas de trabalho cada vez mais sofisticadas, impraticáveis com uma única CPU generalista.

Ethereum também pode ser considerado uma VM de CPU generalista e não está equipado para fazer cálculos pesados simplesmente por causa dos custos que seria necessário pagar para que ele fosse executado em cadeia, algo que restringiu a implantação de uma variedade de protocolos, até mesmo forçando os designers a criar algo novo dentro das restrições do EVM. Simplificando, os custos são demasiado restritivos para aplicações complexas. Isto também levou a que vários protocolos mantivessem partes do seu protocolo fora da cadeia, e cada modelo fora da cadeia assim implementado trouxe consigo uma certa noção de risco. Um risco de centralização e um risco simplesmente de confiança; você confia que o protocolo não é malicioso, o que vai contra a filosofia dos aplicativos descentralizados.

Neste artigo, tento analisar algumas dessas soluções e oferecer uma ideia de que tipo de aplicativos podem ser desbloqueados em virtude dessa infraestrutura. Também tentarei procurar formas alternativas de descarregar a computação, o que certamente se tornará a base das aplicações no espaço criptográfico.

Coprocessadores Zk

Coprocessadores como os oferecidos pela Axiom e RiscZero abriram recentemente uma nova dimensão de aplicações possíveis na cadeia, permitindo que contratos inteligentes aliviassem a carga de computação pesada. Os sistemas oferecem provas de que o código foi executado de uma forma que qualquer pessoa pode verificar.

Bonsai e Axiom são soluções semelhantes, pois permitem que cálculos arbitrários com acesso ao estado on-chain sejam executados fora da cadeia e fornecem “recibos” de que o cálculo foi realizado.

Axioma

A Axiom permite que contratos inteligentes Ethereum acessem mais dados históricos na cadeia e executem cálculos complexos, mantendo a descentralização e a segurança da rede. Atualmente, os contratos têm acesso a dados muito limitados do bloco atual, o que restringe os tipos de aplicações que podem ser construídas. Ao mesmo tempo, permitir que os contratos acedam aos dados completos do arquivo histórico exigiria que todos os nós da rede armazenassem o arquivo completo, o que é inviável devido aos custos de armazenamento e teria um impacto negativo na descentralização.

Para resolver este problema, a Axiom está desenvolvendo um sistema de “coprocessador ZK”. Ele permite que os contratos consultem dados históricos do blockchain e realizem cálculos fora da cadeia por meio da rede Axiom. Os nós Axiom acessam os dados solicitados na cadeia e executam o cálculo especificado. A chave é gerar uma prova de conhecimento zero de que o resultado foi calculado corretamente a partir de dados válidos na cadeia. Essa prova é verificada on-chain, garantindo que o resultado seja confiável para os contratos.

Essa abordagem permite que os contratos acessem muito mais dados do histórico da cadeia e a capacidade de realizar cálculos complexos neles sem sobrecarregar os nós da camada base. A Axiom acredita que isso permitirá novas categorias de aplicações que dependem de análises objetivas e comprováveis da atividade histórica do blockchain. Eles já lançaram a funcionalidade mainnet para leituras básicas de dados e planejam expandir para acesso completo a dados de arquivo e verificação ZK de funções de visualização de contrato em um futuro próximo. Sua visão de longo prazo consiste em cálculos ZK ainda mais avançados, além dos recursos EVM.

Ao gerar provas de execução correta fora da cadeia, a Axiom desbloqueia novas categorias de aplicações blockchain.

Risc Zero Bonsai

Risc Zero desenvolveu uma máquina virtual de conhecimento zero de uso geral (zkVM) que permite provar programas arbitrários escritos em linguagens como Rust, C/C++ e Go com conhecimento zero.

O zkVM permite que os desenvolvedores provem código Rust arbitrário com conhecimento zero, sem a necessidade de projetar circuitos personalizados. O objetivo é tornar o desenvolvimento de aplicativos de conhecimento zero mais acessível. O zkVM gera um recibo de prova que atesta que o programa foi executado corretamente sem revelar entradas ou lógica privada. Isso permite que cálculos intensivos aconteçam fora da cadeia, com os recibos de prova validando a execução correta na cadeia. As caixas de ferrugem funcionam neste zkVM, mas existem algumas limitações em relação às chamadas do sistema. Um recurso chamado continuações permite dividir grandes cálculos em segmentos que podem ser comprovados de forma independente. Isso permite a prova paralela, removendo assim os limites no tamanho da computação, e permite pausar/retomar programas zkVM. As continuações permitiram novos casos de uso como criptografia totalmente homomórfica, EVM e WASM no zkVM.

Bonsai é um serviço de prova de conhecimento zero fora da cadeia desenvolvido pela Risc Zero para permitir o uso de seu zkVM de uso geral para aplicações Ethereum e blockchain. Ele fornece uma ponte entre contratos inteligentes on-chain e cálculos off-chain no zkVM.

O fluxo de trabalho habilitado pelo Bonsai é o seguinte:

O desenvolvedor escreve um contrato inteligente que apela ao contrato de retransmissão do Bonsai para solicitar uma computação fora da cadeia

Bonsai observa essas solicitações na cadeia e executa o programa zkVM correspondente escrito em Rust

O programa zkVM é executado na infraestrutura do Bonsai, realizando a computação intensiva ou privada fora da cadeia e, em seguida, gera provas de que foi executado corretamente.

Os resultados da prova, chamados de “recibos”, são postados de volta na rede pela Bonsai por meio do contrato de retransmissão.

O contrato inteligente do desenvolvedor recebe os resultados em uma função de retorno de chamada

Isso permite que lógica computacionalmente intensiva ou sensível aconteça fora da cadeia, ao mesmo tempo que valida a execução correta por meio de provas zk na cadeia. O contrato inteligente só precisa lidar com a solicitação de cálculos e o consumo dos resultados.

O Bonsai abstrai a complexidade de compilar o código Rust para o bytecode zkVM, fazer upload de programas, executar na VM e retornar provas. Os desenvolvedores podem se concentrar em escrever a lógica do programa. Essa infraestrutura permite, portanto, a execução de cálculos de uso geral fora da cadeia, ao mesmo tempo que mantém a privacidade dos dados confidenciais e da lógica.

O Bonsai permite que os desenvolvedores criem aplicativos blockchain com computação fora da cadeia de maneira direta, sem a necessidade de experiência na criptografia e infraestrutura zkVM subjacente. Simplificando, o Bonsai permite que os desenvolvedores integrem cálculos fora da cadeia facilmente, sem conhecimento de zk.

Soluções alternativas

Um coprocessador ZK é a única maneira de obter computação fora da cadeia verificável? Que outros aplicativos existem para descarregar a computação de maneira segura e sem confiança? Embora as opiniões sobre as propriedades de segurança, eficiência e implementação sejam diferentes, elas estão sendo exploradas em vários cantos da criptografia e lentamente chegarão ao primeiro plano.

Alternativas como MPC e TEEs fornecem outras abordagens para computação verificável fora da cadeia. O MPC permite a computação conjunta de dados confidenciais, enquanto os TEEs oferecem enclaves seguros baseados em hardware. Ambos apresentam compensações, mas podem ser alternativas para coprocessadores ZK.

MPC (computação multipartidária)

A computação multipartidária segura (MPC) permite que várias partes calculem em conjunto uma função sobre suas entradas, mantendo essas entradas privadas. Permite a colaboração em dados confidenciais, mantendo assim a privacidade de todos os participantes. Contudo, alcançar a justiça no MPC, onde todas as partes aprendem o resultado ou nenhuma o faz, é impossível se a maioria das partes for desonesta. Em outras palavras, as garantias de privacidade e integridade desaparecem quando todos os nós são corrompidos. A tecnologia Blockchain pode ajudar a tornar os protocolos MPC mais justos.

Imagine três amigos que querem saber a média de seus salários sem revelar seus salários um ao outro. Eles poderiam usar o Secure MPC para fazer isso.

Suponha que os amigos sejam Alice, Bob e Eve:

Alice pega seu salário, adiciona um número aleatório e conta o resultado para Bob.

Bob soma seu salário e outro número aleatório ao número que recebeu de Alice e depois conta o resultado para Eva.

Eva soma seu salário ao número de Bob, depois subtrai todos os números aleatórios adicionados anteriormente e divide o resultado por três para encontrar a média.

O número final é a média dos seus salários; ninguém aprendeu nada sobre os salários dos outros. Uma nuance a ser observada aqui é que, embora ninguém saiba o salário exato um do outro se a média for inferior ao salário de Eva, então Eva poderia inferir que o salário de um dos outros dois é menor que o dela.

O blockchain fornece um livro-razão público à prova de falsificação que permite que as partes publiquem informações. Ao usar criptografia de testemunha, as partes podem criptografar a saída de um protocolo MPC injusto. Eles publicam tokens no livro-razão que permitem extrair uma chave de descriptografia. Como o livro-razão é público, todas as partes podem acessar a chave de descriptografia ao mesmo tempo. Isso permite um protocolo de descriptografia justo, onde todas as partes descriptografam a saída ou nenhuma o faz.

Em “MPC como uma camada de confidencialidade Blockchain”, Andrew Miller fala sobre como o MPC poderia ajudar nos cálculos de dados privados. O MPC publicamente auditável usa provas de conhecimento zero para manter a integridade, apesar da corrupção total do nó. Os clientes comprometeriam informações para provar a validade. Os nós MPC geram provas de cálculo correto. Em última análise, os verificadores verificarão as entradas, saídas e provas correspondentes. Esta auditoria incorre em despesas mínimas além dos custos padrão do MPC. As provas são sucintas usando SNARKs com configuração universal. No entanto, permanecem questões sobre otimizações de desempenho, modelos de programação e implantação no mundo real.

Enclaves/TEEs Seguros

Dados sensíveis como informações pessoais, dados financeiros, etc., devem ser protegidos quando armazenados ou em trânsito e quando estão sendo usados e computados. Os métodos tradicionais de criptografia protegem os dados em repouso e em trânsito, mas não quando os dados estão sendo usados ativamente. Isto é um problema porque quando os dados estão a ser processados, muitas vezes estão num formato não encriptado, deixando-os vulneráveis a ataques.

Ambientes de execução confiáveis (ou enclaves seguros) são ambientes isolados onde os dados podem ser criptografados, mas os cálculos ainda podem ser realizados neles. A ideia principal é isolar os dados e a computação para que mesmo processos privilegiados do sistema não possam acessá-los. Ambientes de execução confiáveis (TEEs) são áreas seguras dentro de um processador que fornecem recursos de segurança baseados em hardware para proteger dados e códigos confidenciais. Eles isolam software específico do resto do sistema, garantindo que os dados dentro do TEE não possam ser adulterados, mesmo pelo sistema operacional ou outro software em execução no dispositivo.

Os TEEs permitem que dados confidenciais permaneçam protegidos mesmo enquanto estão sendo usados. Isso permite que aplicações como redes sociais que preservam a privacidade, serviços financeiros, saúde, etc. Existem algumas limitações em torno dos pressupostos de eficiência e confiança, mas os enclaves são uma tecnologia poderosa com muitos usos potenciais, especialmente quando combinados com redes blockchain para construir sistemas robustos e não censuráveis. As compensações em torno da confiança podem ser aceitáveis para muitas aplicações comerciais e sem fins lucrativos onde é necessária uma forte privacidade de dados.

Ambientes de execução confiáveis (TEEs) permitem que você terceirize cálculos para um provedor de nuvem terceirizado não confiável, mantendo seus dados confidenciais e operações à prova de adulteração. Isso é extremamente útil para aplicativos e organizações descentralizadas que desejam aproveitar a conveniência e a economia de custos da nuvem sem sacrificar a privacidade ou o controle. Mas os TEEs não resolvem magicamente todos os problemas - ainda existem alguns desafios práticos a serem superados antes que a maioria dos desenvolvedores possa usá-los facilmente.

Eles são um alicerce poderoso, mas ainda precisam de uma pesquisa cuidadosa de sistemas para resolver suas limitações em relação ao mencionado acima e à centralização, dimensionamento e tolerância a falhas do fornecedor.

Ambientes de execução confiáveis (TEEs), como Intel SGX e AWS Nitro Enclaves, fornecem ambientes isolados para executar cálculos confidenciais e armazenar dados confidenciais. Os TEEs garantem que mesmo os processos privilegiados do sistema não possam acessar ou adulterar códigos e dados dentro do TEE. Isso permite que aplicativos e organizações descentralizadas terceirizem cálculos para hosts de nuvem de terceiros não confiáveis, sem se preocupar com privacidade ou integridade.

A resolução destes desafios expandirá enormemente a aplicabilidade dos TEEs para aplicações descentralizadas que necessitam de forte integridade, confidencialidade e resistência à censura, ao mesmo tempo que terceirizam a computação e o armazenamento para nuvens não confiáveis. Os TEEs são um primitivo poderoso, mas o co-projeto cuidadoso do sistema continua sendo necessário para resolver suas limitações.

Uma breve comparação

Ao avaliar coprocessadores, uma consideração importante é o modelo de segurança e o nível de garantia necessários para diferentes tipos de cálculos. Certos cálculos sensíveis, como ordens correspondentes, exigem segurança máxima e suposições mínimas de confiança. Para estes, coprocessadores que usam provas de conhecimento zero, como coprocessadores zk, fornecem fortes garantias, pois os resultados podem ser verificados sem confiança no operador.

No entanto, os coprocessadores zk podem ter desvantagens em eficiência e flexibilidade. Outras abordagens, como MPC ou hardware confiável, podem ser compensações aceitáveis para cálculos menos sensíveis, como análises ou modelagem de risco. Embora forneçam garantias mais fracas, eles permitem uma gama mais ampla de cálculos com mais eficiência. O nível de segurança necessário depende da tolerância ao risco dos aplicativos. As equipes devem analisar o valor em jogo e avaliar se coprocessadores não verificados, mas eficientes, são um compromisso de engenharia razoável para determinados cálculos não críticos.

No geral, os coprocessadores abrangem um espectro de modelos de segurança e as equipes devem combinar as soluções com os requisitos de segurança de tarefas específicas. O ecossistema ainda é incipiente, portanto, novos avanços na computação verificável e escalonável ampliarão as possibilidades.

Formulários

Controle Dinâmico para Protocolos de Empréstimo

No blog “Controle de feedback como uma nova primitiva para Defi”, os autores mencionam que os mecanismos de controle para o mecanismo defi podem ser atualizados lentamente de uma ponta a outra, usando aprendizado por reforço (RL) e DRL à medida que a computação e o armazenamento se tornam abundantes. Embora a RL ainda possa ser difícil, as aplicações de aprendizado de máquina ainda podem ser possíveis devido à computação verificável.

Os protocolos de empréstimo no ano passado foram examinados devido à possibilidade de inadimplência devido a parâmetros agressivos para o token ser emprestado no mercado baixista, que de outra forma estaria ausente de liquidez. Modelos que podem acessar a liquidez em cadeia e criar um perfil de liquidez para ativos poderiam alterar os parâmetros de forma dinâmica.

Por exemplo, os protocolos de empréstimo poderiam se beneficiar do controle dinâmico das taxas de juros com base em dados on-chain em tempo real. Em vez de depender de modelos de taxas de juro predefinidos, um sistema de controlo de feedback poderia ajustar as taxas através de algoritmos com base na utilização actual e nos factores de liquidez.

Por exemplo, quando a procura de empréstimo de um activo é elevada, aumentando as taxas de utilização, o controlador pode aumentar rapidamente as taxas de juro para incentivar a oferta e estabilizar a utilização. Por outro lado, quando a utilização é baixa, as taxas podem ser reduzidas para incentivar a contracção de empréstimos. Os parâmetros do controlador podem ser ajustados para otimizar objetivos como maximizar a receita do protocolo ou minimizar a volatilidade.

O protocolo precisaria de acesso a dados on-chain em tempo real, como valores totais emprestados, liquidez disponível e outras métricas de utilização para implementar isso. A lógica do controlador processa então esses dados para calcular os ajustes ideais da taxa de juros. As atualizações de taxas podem ser controladas na rede por meio de um DAO ou fora da rede com verificação de prova.

O protocolo precisaria de acesso a dados on-chain em tempo real, como valores totais emprestados, liquidez disponível e outras métricas de utilização para implementar isso. A lógica do controlador processa então esses dados para calcular os ajustes ideais da taxa de juros. As atualizações de taxas podem ser controladas na rede por meio de um DAO ou fora da rede com verificação de prova. Embora o trabalho recente, “Attacks on Dynamic Defi Interest rate curves” de Chitra et al. mostrou que modelos de empréstimos dinâmicos resultam em mais MEV. Portanto, o desenho desses protocolos precisa de uma consideração cuidadosa.

Aplicativos de ML

A abundância de acesso aos dados do blockchain nos leva a uma conclusão natural de usar aplicativos de aprendizado de máquina dessa forma. Embora provar a computação para aplicativos de aprendizado de máquina possa ser um pouco mais difícil, a computação verificável de ML é um mercado enorme por si só. Eles também poderiam ser utilizados para aplicações on-chain, especialmente em algumas aplicações de segurança.

Os dados do Blockchain contêm sinais valiosos que os modelos de aprendizado de máquina podem usar para detectar atividades suspeitas ou alimentar sistemas de gerenciamento de risco. No entanto, executar o ML on-chain é atualmente inviável devido aos custos do gás e às questões de privacidade. Isto poderia parecer sistemas de monitoramento on-chain para contratos inteligentes, carteiras ou gerentes de portfólio para detectar retiradas ou transferências suspeitas. Há uma grande quantidade de dados de perfil disponíveis para vários tipos de sinais a serem obtidos no caso de segurança, seriam para “Ruggers”, “Hacks” e outros ataques maliciosos. Ele também pode ser usado para aplicações de definição de qualidade de crédito e perfil de risco para credores e devedores, dado seu histórico on-chain.

Os desafios incluem qualidade dos dados, desvios de conceito e limitações de desempenho dos sistemas de prova. Mas, ao combinar ML com computação verificável fora da cadeia, os coprocessadores abrem muitas novas oportunidades para análise de blockchain e gerenciamento de risco.

Swaps e opções perpétuas

Os sistemas de margem para swaps perpétuos sempre foram ocultados dos usuários em relação às exchanges centralizadas e até mesmo descentralizadas. Os sistemas de margens para derivados, como swaps perpétuos e opções, têm sido tradicionalmente caixas negras opacas controladas por bolsas centralizadas.

Os coprocessadores apresentam uma oportunidade de implementar uma lógica de margem transparente e verificável para negociações descentralizadas. A promessa de implementar sistemas de auto-desalavancagem de forma verificada oferece um maior factor de confiança aos utilizadores e diferencia-os imediatamente dos seus homólogos centralizados.

O sistema de margens poderia monitorizar os preços indexados e os valores das posições para swaps perpétuos, liquidando as posições antes que o seu saldo de margem se tornasse negativo. Todos os parâmetros de risco, como índices de margem de manutenção, taxas de financiamento e penalidades de liquidação, poderiam ser regidos na rede.

No entanto, os cálculos intensivos para calcular saldos de margem, lucros não realizados, valores de liquidação, etc., podem ser transferidos para um coprocessador. Ele executaria a lógica do mecanismo de margem em um ambiente confidencial e geraria provas atestando o cálculo correto.

Os benefícios da abordagem do coprocessador incluem transparência, verificabilidade e privacidade. A lógica do mecanismo de margem não é mais uma caixa preta proprietária. Os cálculos acontecem fora da cadeia, mas os usuários podem confiar nas provas de execução correta. O mesmo poderia ser alcançado para as opções também.

Os desafios incluem a geração eficiente de provas para cálculos de margem intensivos. Mas, em geral, os coprocessadores revelam um novo potencial para plataformas descentralizadas de derivados, combinando privacidade com verificabilidade.

Conclusão

Os coprocessadores expandem enormemente as possibilidades de aplicações blockchain sem comprometer a descentralização. À medida que os projetos de ponta continuam a inovar neste espaço, o futuro parece brilhante para a computação verificável fora da cadeia no Ethereum e além.

Em um artigo futuro, abordarei as considerações de segurança dessas soluções, as comparações com rollups, como elas se enquadram no cenário mais amplo de aplicações Ethereum e se são uma panacéia para problemas de escalabilidade.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [Mirror]. Todos os direitos autorais pertencem ao autor original [Imperador]. Se houver objeções a esta reimpressão, entre em contato com a equipe do Gate Learn e eles cuidarão disso imediatamente.
  2. Isenção de responsabilidade: As opiniões e pontos de vista 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 do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

Uma breve introdução aos coprocessadores

intermediário12/25/2023, 10:15:43 AM
Este artigo explora soluções e alternativas de coprocessador e interpreta os três principais casos de uso que os coprocessadores podem desbloquear.

Para desbloquear uma nova classe de aplicativos. Não a computação que precisamos, mas a computação que merecemos.

Os aplicativos descentralizados enfrentam limitações na execução de cálculos complexos na cadeia devido às capacidades restritas de processamento do Ethereum. Como resultado, vimos muitos protocolos DeFi moverem componentes como carteiras de pedidos e sistemas de risco para fora da cadeia. Isso aponta para a necessidade de ambientes computacionais customizados, adaptados a tarefas específicas.

Vimos uma mudança lenta, mas gradual, em muitos aplicativos de definição implantados na cadeia, gerenciando partes de seus sistemas fora da cadeia. Dydx V4 manterá sua carteira de pedidos fora da rede e possivelmente também seu sistema de margens. O Blur mantém partes de sua troca fora da cadeia para uma experiência de usuário suave. Aevo, uma bolsa de opções, mantém sua carteira de pedidos e mecanismo de risco fora da rede. A razão mais simples para isso é a dificuldade de manter esses sistemas centrados no desempenho na cadeia de forma eficiente e escalonável.

A migração de componentes fora da cadeia aponta para uma necessidade mais ampla – ambientes computacionais personalizados (e de alto desempenho) adaptados a tarefas específicas. Mas isso não é tudo. Neste regime, o status quo funciona bem. Quando um protocolo executa um sistema fora da cadeia, em última análise, é opaco para você, o usuário, confiar se o sistema fora da cadeia funciona como disse. A computação verificável elimina suposições de confiança, permitindo que os protocolos façam computação fora da cadeia sem introduzir fatores de confiança. Esta é a promessa dos coprocessadores para Ethereum. Antes de discutir o modelo de coprocessador no Ethereum, vamos recapitular brevemente de onde vem essa ideia.

O conceito de coprocessadores originou-se na arquitetura de computadores como uma técnica para melhorar o desempenho. Os computadores tradicionais dependem de uma única unidade central de processamento (CPU) para lidar com todos os cálculos. No entanto, a CPU ficou sobrecarregada à medida que as cargas de trabalho se tornaram mais complexas.

Os coprocessadores foram introduzidos para ajudar – processadores especializados dedicados a tarefas específicas. Por exemplo, unidades de processamento gráfico (GPUs) lidam com os imensos cálculos paralelos necessários para a renderização 3D. Isso permite que a CPU principal se concentre no processamento de uso geral. Outros coprocessadores comuns incluem aceleradores criptográficos para criptografia/descriptografia, processadores de sinal para multimídia e coprocessadores matemáticos para cálculos científicos. Cada coprocessador possui uma arquitetura simplificada para executar sua carga de trabalho de nicho com eficiência. (Embora você possa dizer que a maior parte disso foi incluída na programação paralela, como GPUs.)

Essa divisão de trabalho entre CPU e coprocessadores levou a melhorias de ordem de grandeza no desempenho. O modelo de coprocessador permitiu que os computadores assumissem cargas de trabalho cada vez mais sofisticadas, impraticáveis com uma única CPU generalista.

Ethereum também pode ser considerado uma VM de CPU generalista e não está equipado para fazer cálculos pesados simplesmente por causa dos custos que seria necessário pagar para que ele fosse executado em cadeia, algo que restringiu a implantação de uma variedade de protocolos, até mesmo forçando os designers a criar algo novo dentro das restrições do EVM. Simplificando, os custos são demasiado restritivos para aplicações complexas. Isto também levou a que vários protocolos mantivessem partes do seu protocolo fora da cadeia, e cada modelo fora da cadeia assim implementado trouxe consigo uma certa noção de risco. Um risco de centralização e um risco simplesmente de confiança; você confia que o protocolo não é malicioso, o que vai contra a filosofia dos aplicativos descentralizados.

Neste artigo, tento analisar algumas dessas soluções e oferecer uma ideia de que tipo de aplicativos podem ser desbloqueados em virtude dessa infraestrutura. Também tentarei procurar formas alternativas de descarregar a computação, o que certamente se tornará a base das aplicações no espaço criptográfico.

Coprocessadores Zk

Coprocessadores como os oferecidos pela Axiom e RiscZero abriram recentemente uma nova dimensão de aplicações possíveis na cadeia, permitindo que contratos inteligentes aliviassem a carga de computação pesada. Os sistemas oferecem provas de que o código foi executado de uma forma que qualquer pessoa pode verificar.

Bonsai e Axiom são soluções semelhantes, pois permitem que cálculos arbitrários com acesso ao estado on-chain sejam executados fora da cadeia e fornecem “recibos” de que o cálculo foi realizado.

Axioma

A Axiom permite que contratos inteligentes Ethereum acessem mais dados históricos na cadeia e executem cálculos complexos, mantendo a descentralização e a segurança da rede. Atualmente, os contratos têm acesso a dados muito limitados do bloco atual, o que restringe os tipos de aplicações que podem ser construídas. Ao mesmo tempo, permitir que os contratos acedam aos dados completos do arquivo histórico exigiria que todos os nós da rede armazenassem o arquivo completo, o que é inviável devido aos custos de armazenamento e teria um impacto negativo na descentralização.

Para resolver este problema, a Axiom está desenvolvendo um sistema de “coprocessador ZK”. Ele permite que os contratos consultem dados históricos do blockchain e realizem cálculos fora da cadeia por meio da rede Axiom. Os nós Axiom acessam os dados solicitados na cadeia e executam o cálculo especificado. A chave é gerar uma prova de conhecimento zero de que o resultado foi calculado corretamente a partir de dados válidos na cadeia. Essa prova é verificada on-chain, garantindo que o resultado seja confiável para os contratos.

Essa abordagem permite que os contratos acessem muito mais dados do histórico da cadeia e a capacidade de realizar cálculos complexos neles sem sobrecarregar os nós da camada base. A Axiom acredita que isso permitirá novas categorias de aplicações que dependem de análises objetivas e comprováveis da atividade histórica do blockchain. Eles já lançaram a funcionalidade mainnet para leituras básicas de dados e planejam expandir para acesso completo a dados de arquivo e verificação ZK de funções de visualização de contrato em um futuro próximo. Sua visão de longo prazo consiste em cálculos ZK ainda mais avançados, além dos recursos EVM.

Ao gerar provas de execução correta fora da cadeia, a Axiom desbloqueia novas categorias de aplicações blockchain.

Risc Zero Bonsai

Risc Zero desenvolveu uma máquina virtual de conhecimento zero de uso geral (zkVM) que permite provar programas arbitrários escritos em linguagens como Rust, C/C++ e Go com conhecimento zero.

O zkVM permite que os desenvolvedores provem código Rust arbitrário com conhecimento zero, sem a necessidade de projetar circuitos personalizados. O objetivo é tornar o desenvolvimento de aplicativos de conhecimento zero mais acessível. O zkVM gera um recibo de prova que atesta que o programa foi executado corretamente sem revelar entradas ou lógica privada. Isso permite que cálculos intensivos aconteçam fora da cadeia, com os recibos de prova validando a execução correta na cadeia. As caixas de ferrugem funcionam neste zkVM, mas existem algumas limitações em relação às chamadas do sistema. Um recurso chamado continuações permite dividir grandes cálculos em segmentos que podem ser comprovados de forma independente. Isso permite a prova paralela, removendo assim os limites no tamanho da computação, e permite pausar/retomar programas zkVM. As continuações permitiram novos casos de uso como criptografia totalmente homomórfica, EVM e WASM no zkVM.

Bonsai é um serviço de prova de conhecimento zero fora da cadeia desenvolvido pela Risc Zero para permitir o uso de seu zkVM de uso geral para aplicações Ethereum e blockchain. Ele fornece uma ponte entre contratos inteligentes on-chain e cálculos off-chain no zkVM.

O fluxo de trabalho habilitado pelo Bonsai é o seguinte:

O desenvolvedor escreve um contrato inteligente que apela ao contrato de retransmissão do Bonsai para solicitar uma computação fora da cadeia

Bonsai observa essas solicitações na cadeia e executa o programa zkVM correspondente escrito em Rust

O programa zkVM é executado na infraestrutura do Bonsai, realizando a computação intensiva ou privada fora da cadeia e, em seguida, gera provas de que foi executado corretamente.

Os resultados da prova, chamados de “recibos”, são postados de volta na rede pela Bonsai por meio do contrato de retransmissão.

O contrato inteligente do desenvolvedor recebe os resultados em uma função de retorno de chamada

Isso permite que lógica computacionalmente intensiva ou sensível aconteça fora da cadeia, ao mesmo tempo que valida a execução correta por meio de provas zk na cadeia. O contrato inteligente só precisa lidar com a solicitação de cálculos e o consumo dos resultados.

O Bonsai abstrai a complexidade de compilar o código Rust para o bytecode zkVM, fazer upload de programas, executar na VM e retornar provas. Os desenvolvedores podem se concentrar em escrever a lógica do programa. Essa infraestrutura permite, portanto, a execução de cálculos de uso geral fora da cadeia, ao mesmo tempo que mantém a privacidade dos dados confidenciais e da lógica.

O Bonsai permite que os desenvolvedores criem aplicativos blockchain com computação fora da cadeia de maneira direta, sem a necessidade de experiência na criptografia e infraestrutura zkVM subjacente. Simplificando, o Bonsai permite que os desenvolvedores integrem cálculos fora da cadeia facilmente, sem conhecimento de zk.

Soluções alternativas

Um coprocessador ZK é a única maneira de obter computação fora da cadeia verificável? Que outros aplicativos existem para descarregar a computação de maneira segura e sem confiança? Embora as opiniões sobre as propriedades de segurança, eficiência e implementação sejam diferentes, elas estão sendo exploradas em vários cantos da criptografia e lentamente chegarão ao primeiro plano.

Alternativas como MPC e TEEs fornecem outras abordagens para computação verificável fora da cadeia. O MPC permite a computação conjunta de dados confidenciais, enquanto os TEEs oferecem enclaves seguros baseados em hardware. Ambos apresentam compensações, mas podem ser alternativas para coprocessadores ZK.

MPC (computação multipartidária)

A computação multipartidária segura (MPC) permite que várias partes calculem em conjunto uma função sobre suas entradas, mantendo essas entradas privadas. Permite a colaboração em dados confidenciais, mantendo assim a privacidade de todos os participantes. Contudo, alcançar a justiça no MPC, onde todas as partes aprendem o resultado ou nenhuma o faz, é impossível se a maioria das partes for desonesta. Em outras palavras, as garantias de privacidade e integridade desaparecem quando todos os nós são corrompidos. A tecnologia Blockchain pode ajudar a tornar os protocolos MPC mais justos.

Imagine três amigos que querem saber a média de seus salários sem revelar seus salários um ao outro. Eles poderiam usar o Secure MPC para fazer isso.

Suponha que os amigos sejam Alice, Bob e Eve:

Alice pega seu salário, adiciona um número aleatório e conta o resultado para Bob.

Bob soma seu salário e outro número aleatório ao número que recebeu de Alice e depois conta o resultado para Eva.

Eva soma seu salário ao número de Bob, depois subtrai todos os números aleatórios adicionados anteriormente e divide o resultado por três para encontrar a média.

O número final é a média dos seus salários; ninguém aprendeu nada sobre os salários dos outros. Uma nuance a ser observada aqui é que, embora ninguém saiba o salário exato um do outro se a média for inferior ao salário de Eva, então Eva poderia inferir que o salário de um dos outros dois é menor que o dela.

O blockchain fornece um livro-razão público à prova de falsificação que permite que as partes publiquem informações. Ao usar criptografia de testemunha, as partes podem criptografar a saída de um protocolo MPC injusto. Eles publicam tokens no livro-razão que permitem extrair uma chave de descriptografia. Como o livro-razão é público, todas as partes podem acessar a chave de descriptografia ao mesmo tempo. Isso permite um protocolo de descriptografia justo, onde todas as partes descriptografam a saída ou nenhuma o faz.

Em “MPC como uma camada de confidencialidade Blockchain”, Andrew Miller fala sobre como o MPC poderia ajudar nos cálculos de dados privados. O MPC publicamente auditável usa provas de conhecimento zero para manter a integridade, apesar da corrupção total do nó. Os clientes comprometeriam informações para provar a validade. Os nós MPC geram provas de cálculo correto. Em última análise, os verificadores verificarão as entradas, saídas e provas correspondentes. Esta auditoria incorre em despesas mínimas além dos custos padrão do MPC. As provas são sucintas usando SNARKs com configuração universal. No entanto, permanecem questões sobre otimizações de desempenho, modelos de programação e implantação no mundo real.

Enclaves/TEEs Seguros

Dados sensíveis como informações pessoais, dados financeiros, etc., devem ser protegidos quando armazenados ou em trânsito e quando estão sendo usados e computados. Os métodos tradicionais de criptografia protegem os dados em repouso e em trânsito, mas não quando os dados estão sendo usados ativamente. Isto é um problema porque quando os dados estão a ser processados, muitas vezes estão num formato não encriptado, deixando-os vulneráveis a ataques.

Ambientes de execução confiáveis (ou enclaves seguros) são ambientes isolados onde os dados podem ser criptografados, mas os cálculos ainda podem ser realizados neles. A ideia principal é isolar os dados e a computação para que mesmo processos privilegiados do sistema não possam acessá-los. Ambientes de execução confiáveis (TEEs) são áreas seguras dentro de um processador que fornecem recursos de segurança baseados em hardware para proteger dados e códigos confidenciais. Eles isolam software específico do resto do sistema, garantindo que os dados dentro do TEE não possam ser adulterados, mesmo pelo sistema operacional ou outro software em execução no dispositivo.

Os TEEs permitem que dados confidenciais permaneçam protegidos mesmo enquanto estão sendo usados. Isso permite que aplicações como redes sociais que preservam a privacidade, serviços financeiros, saúde, etc. Existem algumas limitações em torno dos pressupostos de eficiência e confiança, mas os enclaves são uma tecnologia poderosa com muitos usos potenciais, especialmente quando combinados com redes blockchain para construir sistemas robustos e não censuráveis. As compensações em torno da confiança podem ser aceitáveis para muitas aplicações comerciais e sem fins lucrativos onde é necessária uma forte privacidade de dados.

Ambientes de execução confiáveis (TEEs) permitem que você terceirize cálculos para um provedor de nuvem terceirizado não confiável, mantendo seus dados confidenciais e operações à prova de adulteração. Isso é extremamente útil para aplicativos e organizações descentralizadas que desejam aproveitar a conveniência e a economia de custos da nuvem sem sacrificar a privacidade ou o controle. Mas os TEEs não resolvem magicamente todos os problemas - ainda existem alguns desafios práticos a serem superados antes que a maioria dos desenvolvedores possa usá-los facilmente.

Eles são um alicerce poderoso, mas ainda precisam de uma pesquisa cuidadosa de sistemas para resolver suas limitações em relação ao mencionado acima e à centralização, dimensionamento e tolerância a falhas do fornecedor.

Ambientes de execução confiáveis (TEEs), como Intel SGX e AWS Nitro Enclaves, fornecem ambientes isolados para executar cálculos confidenciais e armazenar dados confidenciais. Os TEEs garantem que mesmo os processos privilegiados do sistema não possam acessar ou adulterar códigos e dados dentro do TEE. Isso permite que aplicativos e organizações descentralizadas terceirizem cálculos para hosts de nuvem de terceiros não confiáveis, sem se preocupar com privacidade ou integridade.

A resolução destes desafios expandirá enormemente a aplicabilidade dos TEEs para aplicações descentralizadas que necessitam de forte integridade, confidencialidade e resistência à censura, ao mesmo tempo que terceirizam a computação e o armazenamento para nuvens não confiáveis. Os TEEs são um primitivo poderoso, mas o co-projeto cuidadoso do sistema continua sendo necessário para resolver suas limitações.

Uma breve comparação

Ao avaliar coprocessadores, uma consideração importante é o modelo de segurança e o nível de garantia necessários para diferentes tipos de cálculos. Certos cálculos sensíveis, como ordens correspondentes, exigem segurança máxima e suposições mínimas de confiança. Para estes, coprocessadores que usam provas de conhecimento zero, como coprocessadores zk, fornecem fortes garantias, pois os resultados podem ser verificados sem confiança no operador.

No entanto, os coprocessadores zk podem ter desvantagens em eficiência e flexibilidade. Outras abordagens, como MPC ou hardware confiável, podem ser compensações aceitáveis para cálculos menos sensíveis, como análises ou modelagem de risco. Embora forneçam garantias mais fracas, eles permitem uma gama mais ampla de cálculos com mais eficiência. O nível de segurança necessário depende da tolerância ao risco dos aplicativos. As equipes devem analisar o valor em jogo e avaliar se coprocessadores não verificados, mas eficientes, são um compromisso de engenharia razoável para determinados cálculos não críticos.

No geral, os coprocessadores abrangem um espectro de modelos de segurança e as equipes devem combinar as soluções com os requisitos de segurança de tarefas específicas. O ecossistema ainda é incipiente, portanto, novos avanços na computação verificável e escalonável ampliarão as possibilidades.

Formulários

Controle Dinâmico para Protocolos de Empréstimo

No blog “Controle de feedback como uma nova primitiva para Defi”, os autores mencionam que os mecanismos de controle para o mecanismo defi podem ser atualizados lentamente de uma ponta a outra, usando aprendizado por reforço (RL) e DRL à medida que a computação e o armazenamento se tornam abundantes. Embora a RL ainda possa ser difícil, as aplicações de aprendizado de máquina ainda podem ser possíveis devido à computação verificável.

Os protocolos de empréstimo no ano passado foram examinados devido à possibilidade de inadimplência devido a parâmetros agressivos para o token ser emprestado no mercado baixista, que de outra forma estaria ausente de liquidez. Modelos que podem acessar a liquidez em cadeia e criar um perfil de liquidez para ativos poderiam alterar os parâmetros de forma dinâmica.

Por exemplo, os protocolos de empréstimo poderiam se beneficiar do controle dinâmico das taxas de juros com base em dados on-chain em tempo real. Em vez de depender de modelos de taxas de juro predefinidos, um sistema de controlo de feedback poderia ajustar as taxas através de algoritmos com base na utilização actual e nos factores de liquidez.

Por exemplo, quando a procura de empréstimo de um activo é elevada, aumentando as taxas de utilização, o controlador pode aumentar rapidamente as taxas de juro para incentivar a oferta e estabilizar a utilização. Por outro lado, quando a utilização é baixa, as taxas podem ser reduzidas para incentivar a contracção de empréstimos. Os parâmetros do controlador podem ser ajustados para otimizar objetivos como maximizar a receita do protocolo ou minimizar a volatilidade.

O protocolo precisaria de acesso a dados on-chain em tempo real, como valores totais emprestados, liquidez disponível e outras métricas de utilização para implementar isso. A lógica do controlador processa então esses dados para calcular os ajustes ideais da taxa de juros. As atualizações de taxas podem ser controladas na rede por meio de um DAO ou fora da rede com verificação de prova.

O protocolo precisaria de acesso a dados on-chain em tempo real, como valores totais emprestados, liquidez disponível e outras métricas de utilização para implementar isso. A lógica do controlador processa então esses dados para calcular os ajustes ideais da taxa de juros. As atualizações de taxas podem ser controladas na rede por meio de um DAO ou fora da rede com verificação de prova. Embora o trabalho recente, “Attacks on Dynamic Defi Interest rate curves” de Chitra et al. mostrou que modelos de empréstimos dinâmicos resultam em mais MEV. Portanto, o desenho desses protocolos precisa de uma consideração cuidadosa.

Aplicativos de ML

A abundância de acesso aos dados do blockchain nos leva a uma conclusão natural de usar aplicativos de aprendizado de máquina dessa forma. Embora provar a computação para aplicativos de aprendizado de máquina possa ser um pouco mais difícil, a computação verificável de ML é um mercado enorme por si só. Eles também poderiam ser utilizados para aplicações on-chain, especialmente em algumas aplicações de segurança.

Os dados do Blockchain contêm sinais valiosos que os modelos de aprendizado de máquina podem usar para detectar atividades suspeitas ou alimentar sistemas de gerenciamento de risco. No entanto, executar o ML on-chain é atualmente inviável devido aos custos do gás e às questões de privacidade. Isto poderia parecer sistemas de monitoramento on-chain para contratos inteligentes, carteiras ou gerentes de portfólio para detectar retiradas ou transferências suspeitas. Há uma grande quantidade de dados de perfil disponíveis para vários tipos de sinais a serem obtidos no caso de segurança, seriam para “Ruggers”, “Hacks” e outros ataques maliciosos. Ele também pode ser usado para aplicações de definição de qualidade de crédito e perfil de risco para credores e devedores, dado seu histórico on-chain.

Os desafios incluem qualidade dos dados, desvios de conceito e limitações de desempenho dos sistemas de prova. Mas, ao combinar ML com computação verificável fora da cadeia, os coprocessadores abrem muitas novas oportunidades para análise de blockchain e gerenciamento de risco.

Swaps e opções perpétuas

Os sistemas de margem para swaps perpétuos sempre foram ocultados dos usuários em relação às exchanges centralizadas e até mesmo descentralizadas. Os sistemas de margens para derivados, como swaps perpétuos e opções, têm sido tradicionalmente caixas negras opacas controladas por bolsas centralizadas.

Os coprocessadores apresentam uma oportunidade de implementar uma lógica de margem transparente e verificável para negociações descentralizadas. A promessa de implementar sistemas de auto-desalavancagem de forma verificada oferece um maior factor de confiança aos utilizadores e diferencia-os imediatamente dos seus homólogos centralizados.

O sistema de margens poderia monitorizar os preços indexados e os valores das posições para swaps perpétuos, liquidando as posições antes que o seu saldo de margem se tornasse negativo. Todos os parâmetros de risco, como índices de margem de manutenção, taxas de financiamento e penalidades de liquidação, poderiam ser regidos na rede.

No entanto, os cálculos intensivos para calcular saldos de margem, lucros não realizados, valores de liquidação, etc., podem ser transferidos para um coprocessador. Ele executaria a lógica do mecanismo de margem em um ambiente confidencial e geraria provas atestando o cálculo correto.

Os benefícios da abordagem do coprocessador incluem transparência, verificabilidade e privacidade. A lógica do mecanismo de margem não é mais uma caixa preta proprietária. Os cálculos acontecem fora da cadeia, mas os usuários podem confiar nas provas de execução correta. O mesmo poderia ser alcançado para as opções também.

Os desafios incluem a geração eficiente de provas para cálculos de margem intensivos. Mas, em geral, os coprocessadores revelam um novo potencial para plataformas descentralizadas de derivados, combinando privacidade com verificabilidade.

Conclusão

Os coprocessadores expandem enormemente as possibilidades de aplicações blockchain sem comprometer a descentralização. À medida que os projetos de ponta continuam a inovar neste espaço, o futuro parece brilhante para a computação verificável fora da cadeia no Ethereum e além.

Em um artigo futuro, abordarei as considerações de segurança dessas soluções, as comparações com rollups, como elas se enquadram no cenário mais amplo de aplicações Ethereum e se são uma panacéia para problemas de escalabilidade.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [Mirror]. Todos os direitos autorais pertencem ao autor original [Imperador]. Se houver objeções a esta reimpressão, entre em contato com a equipe do Gate Learn e eles cuidarão disso imediatamente.
  2. Isenção de responsabilidade: As opiniões e pontos de vista 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 do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Comece agora
Inscreva-se e ganhe um cupom de
$100
!