Uma breve introdução aos coprocessadores

IntermediárioDec 25, 2023
Este artigo explora soluções e alternativas de coprocessadores e interpreta os três principais casos de uso que os coprocessadores podem desbloquear.
Uma breve introdução aos coprocessadores

Para desbloquear uma nova classe de aplicações. Não o computador de que precisamos, mas o cálculo que merecemos.

As aplicações descentralizadas enfrentam limitações na realização de cálculos complexos em cadeia devido às capacidades de processamento restritas do Ethereum. Como resultado, vimos muitos protocolos DeVI moverem componentes como livros de encomendas e sistemas de risco fora da cadeia. Isto aponta para a necessidade de ambientes computacionais personalizados adaptados a tarefas específicas.

Vimos uma mudança lenta mas gradual de muitas aplicações defi implementadas na cadeia, gerindo partes do seu sistema fora da cadeia. O Dydx V4 vai manter a sua carteira de encomendas fora da cadeia e possivelmente o seu sistema de margem também. O Blur mantém partes da sua troca fora da cadeia para uma UX suave. A Aevo, uma bolsa de opções, mantém a sua carteira de encomendas e o motor de risco fora da cadeia. A razão mais simples para isso é a dificuldade de manter estes sistemas centrados no desempenho na cadeia de forma eficiente e escalável.

A migração de componentes fora da cadeia aponta para uma necessidade mais ampla - ambientes computacionais personalizados (e com 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 si, o utilizador, confiar se o sistema fora da cadeia funciona como disse. A computação verificável acaba com as 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 o Ethereum. Antes de discutir o modelo do coprocessador no Ethereum, vamos recapitular brevemente de onde vem essa ideia.

O conceito de coprocessadores teve origem na arquitectura 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, as unidades de processamento gráfico (GPUs) lidam com os imensos cálculos paralelos necessários para a renderização 3D. Isto permite que a CPU principal se concentre no processamento de uso geral. Outros coprocessadores comuns incluem aceleradores criptográficos para encriptação/descriptografia, processadores de sinal para multimédia e coprocessadores matemáticos para cálculos científicos. Cada coprocessador tem uma arquitetura simplificada para executar a sua carga de trabalho de nicho de forma eficiente. (Embora possa dizer que a maior parte disso foi subsumida por programação paralela, também GPUs.)

Esta divisão de trabalho entre CPU e coprocessadores levou a melhorias de ordem de magnitude no desempenho. O modelo do coprocessador permitiu que os computadores assumissem cargas de trabalho cada vez mais sofisticadas, inviáveis com uma CPU generalista solita.

O Ethereum também pode ser considerado uma VM de CPU generalista e não está equipada para fazer cálculos pesados simplesmente por causa dos custos de restrição que teria de pagar para rodar em cadeia, algo que restringiu a implementação de uma variedade de protocolos, até mesmo forçando os designers a criarem algo novo dentro das restrições do EVM. Simplificando, os custos são demasiado restritivos para aplicações complexas. Isto também levou a vários protocolos a manter 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; confia que o protocolo não é malicioso, o que é um pouco contra o ethos das aplicações descentralizadas.

Neste artigo, tento olhar para algumas destas soluções e oferecer um vislumbre do tipo de aplicações que podem ser desbloqueadas em virtude desta infraestrutura. Vou também tentar procurar formas alternativas de descarregar a computação, que certamente se tornará a pedra angular das aplicações dentro do espaço criptográfico.

ZK-Coprocessadores

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 descarreguem computação pesada. Os sistemas oferecem provas de que o código foi executado de uma forma que qualquer pessoa pode verificar.

O Bonsai e o Axiom são soluções semelhantes na medida em que permitem que a computação arbitrária com acesso ao estado da cadeia seja executada fora da cadeia e fornecem “recibos” de que o cálculo foi realizado.

Axioma

O Axiom permite que os contratos inteligentes da Ethereum acedam a mais dados históricos na cadeia e realizem 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 acessem os dados históricos completos do arquivo 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á a desenvolver um sistema de “co-processador ZK”. Permite que os contratos consultem dados históricos da cadeia de blocos e realizem cálculos fora da cadeia através 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. Esta prova é verificada na cadeia, garantindo que o resultado possa ser confiável por contratos.

Esta abordagem permite aos contratos acesso a muito mais dados do histórico da cadeia e a capacidade de realizar cálculos complexos 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 prováveis da atividade histórica da blockchain. Já lançaram a funcionalidade mainnet para leituras básicas de dados e planeiam expandir para o acesso total aos dados de arquivo e verificação ZK das funções de visualização de contrato num futuro próximo. A sua visão de longo prazo é computações ZK ainda mais avançadas para além das capacidades EVM.

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

Bonsai Risco Zero

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

O zKVM permite que os programadores provem código Rust arbitrário sem conhecimento zero sem a necessidade de projetar circuitos personalizados. O objetivo é tornar o desenvolvimento de aplicações de conhecimento zero mais acessível. O zKVM gera um recibo de prova que atesta que o programa foi executado corretamente sem revelar entradas privadas ou lógica. 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 torno das chamadas do sistema. Uma funcionalidade chamada continuações permite dividir grandes cálculos em segmentos que podem ser comprovados independentemente. Isto permite a prova paralela, removendo assim os limites do tamanho do cálculo e permite pausar/retomar programas zKVM. As continuações permitiram novos casos de utilização como encriptação totalmente homomórfica, EVM e WASM no zKVM.

O Bonsai é um serviço de prova de conhecimento zero fora da cadeia desenvolvido pela Risc Zero para permitir o uso do seu zKVM de uso geral para aplicações Ethereum e blockchain. Fornece uma ponte entre os contratos inteligentes na cadeia e os cálculos fora da cadeia no zKVM.

O fluxo de trabalho habilitado pelo Bonsai é o seguinte:

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

O Bonsai observa esses pedidos 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 depois gera provas de que foi executado corretamente.

Os resultados da prova, chamados “recibos”, são postados de volta na cadeia pela Bonsai através do contrato de retransmissão.

O contrato inteligente do programador recebe os resultados numa função de retorno de chamada

Isso permite que uma lógica computacionalmente intensiva ou sensível aconteça fora da cadeia enquanto ainda valida a execução correta via zk proofs on-chain. O contrato inteligente só precisa lidar com pedidos de cálculos e consumir os resultados.

O Bonsai abstrai a complexidade de compilar código Rust para bytecode zKVM, carregar programas, executar na VM e devolver provas. Os programadores podem concentrar-se em escrever a sua lógica de programa. Esta infra-estrutura permite assim executar cálculos de uso geral fora da cadeia, mantendo os dados confidenciais e a lógica privados.

O Bonsai permite que os programadores construam aplicações blockchain com computação fora da cadeia sem necessitar de conhecimentos especializados na criptografia e infraestrutura subjacentes do zKVM. Simplificando, o Bonsai permite que os programadores integrem facilmente computações fora da cadeia sem a experiência zk.

Soluções Alternativas

É um coprocessador ZK a única maneira de obter computação fora da cadeia verificável? Que outras aplicações existem para descarregar a computação de uma forma segura e sem confiança? Embora as opiniões sobre as propriedades de segurança, eficiência e implementação sejam diferentes, estão a ser exploradas em vários cantos da cripto e virão à linha da frente lentamente.

Alternativas como MPC e TEE fornecem outras abordagens para computação fora da cadeia verificável. O MPC permite computação conjunta em dados sensíveis, enquanto os TEE oferecem enclaves seguros baseados em hardware. Ambos apresentam compensações mas podem ser alternativas para ZK-Coprocessadores.

MPC (Computação Multipartidária)

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

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

Suponhamos que os amigos são Alice, Bob e Eve:

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

Bob adiciona o seu salário e outro número aleatório ao número que recebeu da Alice, depois diz o resultado a Eva.

Eve adiciona o seu salário ao número do 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 prestar atenção 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 pode inferir que um dos salários dos outros dois é menor que o seu.

A cadeia de blocos fornece um livro-razão público à prova de adulteração que permite às partes publicar informações. Ao usar a encriptação de testemunhas, as partes podem encriptar a saída de um protocolo MPC injusto. Eles publicam fichas no livro-razão que permitem extrair uma chave de descriptografia. Uma vez que o livro-razão é público, todas as partes podem aceder à chave de descriptografia ao mesmo tempo. Isto permite um protocolo de descriptografia justo onde todas as partes decifram a saída, ou nenhuma o faz.

Em “MPC as a Blockchain Confidality layer”, Andrew Miller fala sobre como o MPC pode ajudar os cálculos em dados privados. O MPC auditável publicamente utiliza provas de conhecimento zero para manter a integridade apesar da corrupção total dos nós. Os clientes comprometeriam entradas 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 sobrecarga mínima para além dos custos padrão do MPC. As provas são sucintas usando SNARKs com uma configuração universal. No entanto, permanecem dúvidas sobre otimizações de desempenho, modelos de programação e implementação no mundo real.

Enclaves Seguros/TEE

Os dados sensíveis como informações pessoais, dados financeiros, etc., devem ser protegidos quando armazenados ou em trânsito e quando estão a ser utilizados e computados. Os métodos tradicionais de encriptação protegem os dados em repouso e em trânsito mas não quando os dados estão a ser usados ativamente. Isto é um problema porque quando os dados estão a ser processados, muitas vezes estão de forma não encriptada, 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-chave é isolar os dados e a computação para que nem os processos privilegiados do sistema possam aceder aos mesmos. Ambientes de Execução Confiáveis (TEE) são áreas seguras dentro de um processador que fornecem funcionalidades de segurança baseadas em hardware para proteger dados confidenciais e código. Isolam software específico do resto do sistema, garantindo que os dados dentro do TEE não possam ser adulterados, mesmo pelo sistema operativo ou outro software em execução no dispositivo.

Os TEE permitem que os dados confidenciais permaneçam protegidos mesmo enquanto estão a ser utilizados. Isto permite aplicações como redes sociais que preservam a privacidade, serviços financeiros, saúde, etc. Existem algumas limitações em torno das suposições 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 sem censura. 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.

Os ambientes de execução fidedignos (TEE) permitem-lhe terceiriZAR COMPUTAÇÕES para um fornecedor de cloud de terceiros não fidedigno, mantendo os seus dados confidenciais e operações à prova de adulteração. Isto é extremamente útil para aplicações e organizações descentralizadas que querem tirar partido da conveniência e economia de custos da nuvem sem sacrificar a privacidade ou o controlo. Mas os TEE não resolvem magicamente todos os problemas - ainda existem alguns desafios práticos a resolver antes que a maioria dos programadores possa usá-los facilmente.

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

Ambientes de execução confiáveis (TEE) como o Intel SGX e o AWS Nitro Enclaves fornecem ambientes isolados para executar cálculos sensíveis e armazenar dados confidenciais. Os TEE asseguram que mesmo processos privilegiados do sistema não podem aceder ou adulterar código e dados dentro do TEE. Isto permite que aplicações e organizações descentralizadas terceirizem computações para sistemas cloud de terceiros não fidedignos sem se preocuparem com a privacidade ou a integridade.

A resolução destes desafios irá expandir muito 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 fidedignas. Os TEE são um primitivo poderoso, mas o co-design cuidadoso do sistema continua a ser necessário para resolver as suas limitações.

Uma breve comparação

Ao avaliar os 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 pedidos correspondentes, exigem segurança máxima e suposições mínimas de confiança. Para estes, os coprocessadores que utilizam provas de conhecimento zero como zk-coprocessadores fornecem garantias fortes, uma vez que os resultados podem ser verificados sem confiança no operador.

No entanto, os zk-coprocessadores podem ter desvantagens em termos de eficiência e flexibilidade. Outras abordagens, como MPC ou hardware fidedigno, podem ser compensações aceitáveis para cálculos menos sensíveis, como análise ou modelagem de risco. Ao mesmo tempo que fornecem garantias mais fracas, permitem uma gama mais ampla de cálculos de forma mais eficiente. O nível de segurança necessário depende da tolerância ao risco das aplicações. As equipas devem analisar o valor em jogo e avaliar se os coprocessadores não verificados mas eficientes são um compromisso de engenharia razoável para certos cálculos não críticos.

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

Candidaturas

Controlo Dinâmico para Protocolos de EMPRÉSTIMO

No blogue “Feedback Control as a new primitive for Defi”, os autores mencionam que os mecanismos de controlo para o mecanismo defi podem actualizar lentamente de uma ponta a outra, usando aprendizagem por reforço (RL) e DRL à medida que a computação e o armazenamento se tornam abundantes. Embora o RL possa continuar a ser difícil, as aplicações de aprendizagem automática podem ainda ser possíveis devido à computação verificável.

Os protocolos de empréstimo no ano passado foram alvo de escrutínio devido à possibilidade de dívida incobrável devido a parâmetros agressivos para o token ser emprestado no mercado em baixo, de outra forma sem liquidez. Modelos que podem aceder à liquidez em cadeia e criar um perfil de liquidez para ativos podem possivelmente alterar dinamicamente os parâmetros.

Por exemplo, os protocolos de empréstimo podem beneficiar do controlo dinâmico das taxas de juro com base em dados em tempo real na cadeia. Em vez de depender de modelos de taxas de juro predefinidos, um sistema de controlo de feedback poderia ajustar as taxas algoritmicamente com base na utilização atual e nos fatores de liquidez.

Por exemplo, quando a procura de empréstimos de um ativo é alta, empurrando as taxas de utilização para cima, 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 contraçã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 em tempo real na cadeia, como montantes 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 ajustamentos ideais da taxa de juro. As atualizações de taxa podem ser regidas em cadeia através de um DAO ou fora da cadeia com verificação de prova.

O protocolo precisaria de acesso a dados em tempo real na cadeia, como montantes 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 ajustamentos ideais da taxa de juro. As atualizações de taxa podem ser regidas em cadeia através de um DAO ou fora da cadeia com verificação de prova. Embora trabalhos recentes, “Attacks on Dynamic Defi Juro Curves” de Chitra et al. tenham mostrado que os modelos dinâmicos de empréstimo resultam em mais MEV. Portanto, o design destes protocolos precisa de uma consideração cuidadosa.

Aplicações ML

A abundância de acesso a dados de blockchain leva-nos a uma conclusão natural de usar aplicações de machine learning desta forma. Embora provar que a computação para aplicações de machine learning possa ser um pouco mais difícil, a computação de ML verificável é um mercado enorme por si só. Estes também podem ser utilizados para aplicações em cadeia, especialmente em algumas aplicações de segurança.

Os dados da Blockchain contêm sinais valiosos que os modelos de machine learning podem usar para detectar atividades suspeitas ou sistemas de gestão de risco de energia. No entanto, a execução do ML on-chain é atualmente inviável devido aos custos do gás e preocupações com a privacidade. Isto pode parecer sistemas de monitorização em cadeia para contratos inteligentes, carteiras ou gestores de portefólio para detetar retiradas ou transferências suspeitas. Há uma grande quantidade de dados de criação de perfil disponíveis para vários tipos de sinais a serem obtidos no caso de segurança, seria para “Ruggers”, “Hacks” e outros ataques maliciosos. Também pode ser usado para aplicações defi para credibilidade e perfil de risco para credores e mutuários, dado o seu histórico de onchain.

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

Trocações e Opções Perpétuas

Os sistemas de margem para swaps perpétuos sempre foram ocultados dos utilizadores relativamente a trocas centralizadas e até descentralizadas. Os sistemas de margem para derivativos como swaps perpétuos e opções têm sido tradicionalmente caixas negras opacas controladas por trocas centralizadas.

Os coprocessadores apresentam uma oportunidade para implementar uma lógica de margem transparente e verificável para negociação descentralizada. A promessa de implementar sistemas de desalavancagem automática de forma verificada oferece um fator de fiabilidade mais elevado para os utilizadores e diferencia-os imediatamente dos seus homólogos centralizados.

O sistema de margens poderia monitorizar feeds de preços indexados e valores de posição para swaps perpétuos, liquidando posições antes que o seu saldo de margem fique negativo. Todos os parâmetros de risco como rácios de margem de manutenção, taxas de financiamento e penalidades de liquidação podem ser regidos em cadeia.

No entanto, os cálculos intensivos para calcular saldos de margem, PnL não realizado, valores de liquidação, etc., podem ser descarregados para um coprocessador. Executaria a lógica do motor de margem num ambiente confidencial e geraria provas que atestariam o cálculo correto.

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

Os desafios incluem a geração eficiente de provas para cálculos intensivos de margem. Mas no geral, os coprocessadores desbloqueiam um novo potencial para plataformas de derivativos descentralizados combinando privacidade com verificabilidade.

Conclusão

Os coprocessadores expandem muito as possibilidades das 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 computação fora da cadeia verificável no Ethereum e além.

Num artigo futuro, vou mergulhar nas considerações de segurança destas soluções, comparações com rollups, como se encaixam no panorama mais amplo da aplicação ethereum e se são uma panaceia para problemas de escala.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso do [Espelho]. Todos os direitos autorais pertencem ao autor original [Imperador]. Se houver objeções a esta reimpressão, contacte a equipa do Gate Learn, e eles tratarão disso imediatamente.
  2. Isenção de responsabilidade: As opiniões e opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. As traduções do artigo para outras línguas são feitas pela equipa do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

Uma breve introdução aos coprocessadores

IntermediárioDec 25, 2023
Este artigo explora soluções e alternativas de coprocessadores e interpreta os três principais casos de uso que os coprocessadores podem desbloquear.
Uma breve introdução aos coprocessadores

Para desbloquear uma nova classe de aplicações. Não o computador de que precisamos, mas o cálculo que merecemos.

As aplicações descentralizadas enfrentam limitações na realização de cálculos complexos em cadeia devido às capacidades de processamento restritas do Ethereum. Como resultado, vimos muitos protocolos DeVI moverem componentes como livros de encomendas e sistemas de risco fora da cadeia. Isto aponta para a necessidade de ambientes computacionais personalizados adaptados a tarefas específicas.

Vimos uma mudança lenta mas gradual de muitas aplicações defi implementadas na cadeia, gerindo partes do seu sistema fora da cadeia. O Dydx V4 vai manter a sua carteira de encomendas fora da cadeia e possivelmente o seu sistema de margem também. O Blur mantém partes da sua troca fora da cadeia para uma UX suave. A Aevo, uma bolsa de opções, mantém a sua carteira de encomendas e o motor de risco fora da cadeia. A razão mais simples para isso é a dificuldade de manter estes sistemas centrados no desempenho na cadeia de forma eficiente e escalável.

A migração de componentes fora da cadeia aponta para uma necessidade mais ampla - ambientes computacionais personalizados (e com 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 si, o utilizador, confiar se o sistema fora da cadeia funciona como disse. A computação verificável acaba com as 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 o Ethereum. Antes de discutir o modelo do coprocessador no Ethereum, vamos recapitular brevemente de onde vem essa ideia.

O conceito de coprocessadores teve origem na arquitectura 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, as unidades de processamento gráfico (GPUs) lidam com os imensos cálculos paralelos necessários para a renderização 3D. Isto permite que a CPU principal se concentre no processamento de uso geral. Outros coprocessadores comuns incluem aceleradores criptográficos para encriptação/descriptografia, processadores de sinal para multimédia e coprocessadores matemáticos para cálculos científicos. Cada coprocessador tem uma arquitetura simplificada para executar a sua carga de trabalho de nicho de forma eficiente. (Embora possa dizer que a maior parte disso foi subsumida por programação paralela, também GPUs.)

Esta divisão de trabalho entre CPU e coprocessadores levou a melhorias de ordem de magnitude no desempenho. O modelo do coprocessador permitiu que os computadores assumissem cargas de trabalho cada vez mais sofisticadas, inviáveis com uma CPU generalista solita.

O Ethereum também pode ser considerado uma VM de CPU generalista e não está equipada para fazer cálculos pesados simplesmente por causa dos custos de restrição que teria de pagar para rodar em cadeia, algo que restringiu a implementação de uma variedade de protocolos, até mesmo forçando os designers a criarem algo novo dentro das restrições do EVM. Simplificando, os custos são demasiado restritivos para aplicações complexas. Isto também levou a vários protocolos a manter 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; confia que o protocolo não é malicioso, o que é um pouco contra o ethos das aplicações descentralizadas.

Neste artigo, tento olhar para algumas destas soluções e oferecer um vislumbre do tipo de aplicações que podem ser desbloqueadas em virtude desta infraestrutura. Vou também tentar procurar formas alternativas de descarregar a computação, que certamente se tornará a pedra angular das aplicações dentro do espaço criptográfico.

ZK-Coprocessadores

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 descarreguem computação pesada. Os sistemas oferecem provas de que o código foi executado de uma forma que qualquer pessoa pode verificar.

O Bonsai e o Axiom são soluções semelhantes na medida em que permitem que a computação arbitrária com acesso ao estado da cadeia seja executada fora da cadeia e fornecem “recibos” de que o cálculo foi realizado.

Axioma

O Axiom permite que os contratos inteligentes da Ethereum acedam a mais dados históricos na cadeia e realizem 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 acessem os dados históricos completos do arquivo 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á a desenvolver um sistema de “co-processador ZK”. Permite que os contratos consultem dados históricos da cadeia de blocos e realizem cálculos fora da cadeia através 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. Esta prova é verificada na cadeia, garantindo que o resultado possa ser confiável por contratos.

Esta abordagem permite aos contratos acesso a muito mais dados do histórico da cadeia e a capacidade de realizar cálculos complexos 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 prováveis da atividade histórica da blockchain. Já lançaram a funcionalidade mainnet para leituras básicas de dados e planeiam expandir para o acesso total aos dados de arquivo e verificação ZK das funções de visualização de contrato num futuro próximo. A sua visão de longo prazo é computações ZK ainda mais avançadas para além das capacidades EVM.

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

Bonsai Risco Zero

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

O zKVM permite que os programadores provem código Rust arbitrário sem conhecimento zero sem a necessidade de projetar circuitos personalizados. O objetivo é tornar o desenvolvimento de aplicações de conhecimento zero mais acessível. O zKVM gera um recibo de prova que atesta que o programa foi executado corretamente sem revelar entradas privadas ou lógica. 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 torno das chamadas do sistema. Uma funcionalidade chamada continuações permite dividir grandes cálculos em segmentos que podem ser comprovados independentemente. Isto permite a prova paralela, removendo assim os limites do tamanho do cálculo e permite pausar/retomar programas zKVM. As continuações permitiram novos casos de utilização como encriptação totalmente homomórfica, EVM e WASM no zKVM.

O Bonsai é um serviço de prova de conhecimento zero fora da cadeia desenvolvido pela Risc Zero para permitir o uso do seu zKVM de uso geral para aplicações Ethereum e blockchain. Fornece uma ponte entre os contratos inteligentes na cadeia e os cálculos fora da cadeia no zKVM.

O fluxo de trabalho habilitado pelo Bonsai é o seguinte:

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

O Bonsai observa esses pedidos 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 depois gera provas de que foi executado corretamente.

Os resultados da prova, chamados “recibos”, são postados de volta na cadeia pela Bonsai através do contrato de retransmissão.

O contrato inteligente do programador recebe os resultados numa função de retorno de chamada

Isso permite que uma lógica computacionalmente intensiva ou sensível aconteça fora da cadeia enquanto ainda valida a execução correta via zk proofs on-chain. O contrato inteligente só precisa lidar com pedidos de cálculos e consumir os resultados.

O Bonsai abstrai a complexidade de compilar código Rust para bytecode zKVM, carregar programas, executar na VM e devolver provas. Os programadores podem concentrar-se em escrever a sua lógica de programa. Esta infra-estrutura permite assim executar cálculos de uso geral fora da cadeia, mantendo os dados confidenciais e a lógica privados.

O Bonsai permite que os programadores construam aplicações blockchain com computação fora da cadeia sem necessitar de conhecimentos especializados na criptografia e infraestrutura subjacentes do zKVM. Simplificando, o Bonsai permite que os programadores integrem facilmente computações fora da cadeia sem a experiência zk.

Soluções Alternativas

É um coprocessador ZK a única maneira de obter computação fora da cadeia verificável? Que outras aplicações existem para descarregar a computação de uma forma segura e sem confiança? Embora as opiniões sobre as propriedades de segurança, eficiência e implementação sejam diferentes, estão a ser exploradas em vários cantos da cripto e virão à linha da frente lentamente.

Alternativas como MPC e TEE fornecem outras abordagens para computação fora da cadeia verificável. O MPC permite computação conjunta em dados sensíveis, enquanto os TEE oferecem enclaves seguros baseados em hardware. Ambos apresentam compensações mas podem ser alternativas para ZK-Coprocessadores.

MPC (Computação Multipartidária)

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

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

Suponhamos que os amigos são Alice, Bob e Eve:

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

Bob adiciona o seu salário e outro número aleatório ao número que recebeu da Alice, depois diz o resultado a Eva.

Eve adiciona o seu salário ao número do 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 prestar atenção 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 pode inferir que um dos salários dos outros dois é menor que o seu.

A cadeia de blocos fornece um livro-razão público à prova de adulteração que permite às partes publicar informações. Ao usar a encriptação de testemunhas, as partes podem encriptar a saída de um protocolo MPC injusto. Eles publicam fichas no livro-razão que permitem extrair uma chave de descriptografia. Uma vez que o livro-razão é público, todas as partes podem aceder à chave de descriptografia ao mesmo tempo. Isto permite um protocolo de descriptografia justo onde todas as partes decifram a saída, ou nenhuma o faz.

Em “MPC as a Blockchain Confidality layer”, Andrew Miller fala sobre como o MPC pode ajudar os cálculos em dados privados. O MPC auditável publicamente utiliza provas de conhecimento zero para manter a integridade apesar da corrupção total dos nós. Os clientes comprometeriam entradas 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 sobrecarga mínima para além dos custos padrão do MPC. As provas são sucintas usando SNARKs com uma configuração universal. No entanto, permanecem dúvidas sobre otimizações de desempenho, modelos de programação e implementação no mundo real.

Enclaves Seguros/TEE

Os dados sensíveis como informações pessoais, dados financeiros, etc., devem ser protegidos quando armazenados ou em trânsito e quando estão a ser utilizados e computados. Os métodos tradicionais de encriptação protegem os dados em repouso e em trânsito mas não quando os dados estão a ser usados ativamente. Isto é um problema porque quando os dados estão a ser processados, muitas vezes estão de forma não encriptada, 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-chave é isolar os dados e a computação para que nem os processos privilegiados do sistema possam aceder aos mesmos. Ambientes de Execução Confiáveis (TEE) são áreas seguras dentro de um processador que fornecem funcionalidades de segurança baseadas em hardware para proteger dados confidenciais e código. Isolam software específico do resto do sistema, garantindo que os dados dentro do TEE não possam ser adulterados, mesmo pelo sistema operativo ou outro software em execução no dispositivo.

Os TEE permitem que os dados confidenciais permaneçam protegidos mesmo enquanto estão a ser utilizados. Isto permite aplicações como redes sociais que preservam a privacidade, serviços financeiros, saúde, etc. Existem algumas limitações em torno das suposições 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 sem censura. 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.

Os ambientes de execução fidedignos (TEE) permitem-lhe terceiriZAR COMPUTAÇÕES para um fornecedor de cloud de terceiros não fidedigno, mantendo os seus dados confidenciais e operações à prova de adulteração. Isto é extremamente útil para aplicações e organizações descentralizadas que querem tirar partido da conveniência e economia de custos da nuvem sem sacrificar a privacidade ou o controlo. Mas os TEE não resolvem magicamente todos os problemas - ainda existem alguns desafios práticos a resolver antes que a maioria dos programadores possa usá-los facilmente.

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

Ambientes de execução confiáveis (TEE) como o Intel SGX e o AWS Nitro Enclaves fornecem ambientes isolados para executar cálculos sensíveis e armazenar dados confidenciais. Os TEE asseguram que mesmo processos privilegiados do sistema não podem aceder ou adulterar código e dados dentro do TEE. Isto permite que aplicações e organizações descentralizadas terceirizem computações para sistemas cloud de terceiros não fidedignos sem se preocuparem com a privacidade ou a integridade.

A resolução destes desafios irá expandir muito 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 fidedignas. Os TEE são um primitivo poderoso, mas o co-design cuidadoso do sistema continua a ser necessário para resolver as suas limitações.

Uma breve comparação

Ao avaliar os 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 pedidos correspondentes, exigem segurança máxima e suposições mínimas de confiança. Para estes, os coprocessadores que utilizam provas de conhecimento zero como zk-coprocessadores fornecem garantias fortes, uma vez que os resultados podem ser verificados sem confiança no operador.

No entanto, os zk-coprocessadores podem ter desvantagens em termos de eficiência e flexibilidade. Outras abordagens, como MPC ou hardware fidedigno, podem ser compensações aceitáveis para cálculos menos sensíveis, como análise ou modelagem de risco. Ao mesmo tempo que fornecem garantias mais fracas, permitem uma gama mais ampla de cálculos de forma mais eficiente. O nível de segurança necessário depende da tolerância ao risco das aplicações. As equipas devem analisar o valor em jogo e avaliar se os coprocessadores não verificados mas eficientes são um compromisso de engenharia razoável para certos cálculos não críticos.

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

Candidaturas

Controlo Dinâmico para Protocolos de EMPRÉSTIMO

No blogue “Feedback Control as a new primitive for Defi”, os autores mencionam que os mecanismos de controlo para o mecanismo defi podem actualizar lentamente de uma ponta a outra, usando aprendizagem por reforço (RL) e DRL à medida que a computação e o armazenamento se tornam abundantes. Embora o RL possa continuar a ser difícil, as aplicações de aprendizagem automática podem ainda ser possíveis devido à computação verificável.

Os protocolos de empréstimo no ano passado foram alvo de escrutínio devido à possibilidade de dívida incobrável devido a parâmetros agressivos para o token ser emprestado no mercado em baixo, de outra forma sem liquidez. Modelos que podem aceder à liquidez em cadeia e criar um perfil de liquidez para ativos podem possivelmente alterar dinamicamente os parâmetros.

Por exemplo, os protocolos de empréstimo podem beneficiar do controlo dinâmico das taxas de juro com base em dados em tempo real na cadeia. Em vez de depender de modelos de taxas de juro predefinidos, um sistema de controlo de feedback poderia ajustar as taxas algoritmicamente com base na utilização atual e nos fatores de liquidez.

Por exemplo, quando a procura de empréstimos de um ativo é alta, empurrando as taxas de utilização para cima, 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 contraçã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 em tempo real na cadeia, como montantes 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 ajustamentos ideais da taxa de juro. As atualizações de taxa podem ser regidas em cadeia através de um DAO ou fora da cadeia com verificação de prova.

O protocolo precisaria de acesso a dados em tempo real na cadeia, como montantes 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 ajustamentos ideais da taxa de juro. As atualizações de taxa podem ser regidas em cadeia através de um DAO ou fora da cadeia com verificação de prova. Embora trabalhos recentes, “Attacks on Dynamic Defi Juro Curves” de Chitra et al. tenham mostrado que os modelos dinâmicos de empréstimo resultam em mais MEV. Portanto, o design destes protocolos precisa de uma consideração cuidadosa.

Aplicações ML

A abundância de acesso a dados de blockchain leva-nos a uma conclusão natural de usar aplicações de machine learning desta forma. Embora provar que a computação para aplicações de machine learning possa ser um pouco mais difícil, a computação de ML verificável é um mercado enorme por si só. Estes também podem ser utilizados para aplicações em cadeia, especialmente em algumas aplicações de segurança.

Os dados da Blockchain contêm sinais valiosos que os modelos de machine learning podem usar para detectar atividades suspeitas ou sistemas de gestão de risco de energia. No entanto, a execução do ML on-chain é atualmente inviável devido aos custos do gás e preocupações com a privacidade. Isto pode parecer sistemas de monitorização em cadeia para contratos inteligentes, carteiras ou gestores de portefólio para detetar retiradas ou transferências suspeitas. Há uma grande quantidade de dados de criação de perfil disponíveis para vários tipos de sinais a serem obtidos no caso de segurança, seria para “Ruggers”, “Hacks” e outros ataques maliciosos. Também pode ser usado para aplicações defi para credibilidade e perfil de risco para credores e mutuários, dado o seu histórico de onchain.

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

Trocações e Opções Perpétuas

Os sistemas de margem para swaps perpétuos sempre foram ocultados dos utilizadores relativamente a trocas centralizadas e até descentralizadas. Os sistemas de margem para derivativos como swaps perpétuos e opções têm sido tradicionalmente caixas negras opacas controladas por trocas centralizadas.

Os coprocessadores apresentam uma oportunidade para implementar uma lógica de margem transparente e verificável para negociação descentralizada. A promessa de implementar sistemas de desalavancagem automática de forma verificada oferece um fator de fiabilidade mais elevado para os utilizadores e diferencia-os imediatamente dos seus homólogos centralizados.

O sistema de margens poderia monitorizar feeds de preços indexados e valores de posição para swaps perpétuos, liquidando posições antes que o seu saldo de margem fique negativo. Todos os parâmetros de risco como rácios de margem de manutenção, taxas de financiamento e penalidades de liquidação podem ser regidos em cadeia.

No entanto, os cálculos intensivos para calcular saldos de margem, PnL não realizado, valores de liquidação, etc., podem ser descarregados para um coprocessador. Executaria a lógica do motor de margem num ambiente confidencial e geraria provas que atestariam o cálculo correto.

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

Os desafios incluem a geração eficiente de provas para cálculos intensivos de margem. Mas no geral, os coprocessadores desbloqueiam um novo potencial para plataformas de derivativos descentralizados combinando privacidade com verificabilidade.

Conclusão

Os coprocessadores expandem muito as possibilidades das 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 computação fora da cadeia verificável no Ethereum e além.

Num artigo futuro, vou mergulhar nas considerações de segurança destas soluções, comparações com rollups, como se encaixam no panorama mais amplo da aplicação ethereum e se são uma panaceia para problemas de escala.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso do [Espelho]. Todos os direitos autorais pertencem ao autor original [Imperador]. Se houver objeções a esta reimpressão, contacte a equipa do Gate Learn, e eles tratarão disso imediatamente.
  2. Isenção de responsabilidade: As opiniões e opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. As traduções do artigo para outras línguas são feitas pela equipa do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!