Com a constante expansão da indústria de blockchain, os projetos mais populares, incluindo o Ethereum, enfrentam um congestionamento crítico de transações de problemas no blockchain. Independentemente do tamanho, as redes de computadores só podem conter uma determinada quantidade de tráfego. Quanto mais popular a rede se torna, maior é a probabilidade de ela ficar congestionada. Este problema restringe a escalabilidade e afeta a experiência do usuário em geral.
Como tal, Ethereum precisa de diferentes redes de camada 2 para ajudar com seus problemas de escalabilidade. Entre essas redes da camada 2 anexadas à cadeia da camada 1 do Ethereum está a Máquina Virtual Otimista. Este artigo investiga o funcionamento interno do OVM e esclarece sua importância para o bom funcionamento do ecossistema Ethereum.
A Optimistic Virtual Machine (OVM), construída pela Optimism usando sua tecnologia Optimism Rollup (OR), serve como uma solução de escalonamento de Camada 2 para Ethereum. Ele foi projetado para aproveitar a compatibilidade EVM, oferecendo uma estrutura estável para que os desenvolvedores dimensionem seus contratos inteligentes de maneira fácil e eficiente.
O OVM fornece um ecossistema unificado para protocolos de Camada 2, combinando outras soluções de escalonamento sob o mesmo guarda-chuva. Em vez de atualizar as transações diretamente na blockchain da Camada 1, o OVM usa dados fora da cadeia para garantir (ou tomar decisões otimistas sobre) transações atualizadas na blockchain Ethereum.
Cada processo computacional realizado pelo OVM é chamado de transição. Essas transições são avaliadas do lado do cliente por usuários individuais que desejam confirmar o estado mais recente de um contrato inteligente ou verificar provas de fraude (mecanismos projetados para detectar e provar comportamento fraudulento em sistemas descentralizados) na cadeia.
O OVM funciona como um espaço de trabalho dedicado para contratos inteligentes. Os contratos inteligentes são implantados, executados e monitorados no OVM, garantindo que qualquer outra tarefa do contrato inteligente seja executada com eficiência. Quando um nó na cadeia da Camada 2 envia uma transação, o OVM processa essas transações e, em seguida, ativa diferentes mudanças de estado em seu ambiente, levando, consequentemente, a resultados variados, como a liquidação de pagamentos.
O OVM também implementa um sistema de limite de gás para se proteger de transações maliciosas que executam e drenam constantemente os recursos da rede. Ao realizar uma transação, os usuários devem definir um limite de gás, especificando quanto gás podem gastar em uma transação. Essas taxas também servem como compensação aos nós pelo fornecimento de recursos computacionais adicionais para executar transações.
Além disso, o OVM só pode interpretar e executar contratos inteligentes escritos em bytecode. Embora linguagens compatíveis com EVM de alto nível, como Solidity , sejam mais amigáveis e simplifiquem o processo de implantação, elas devem ser traduzidas e compiladas em bytecode antes de serem implantadas. No entanto, devido à compatibilidade do OVM com o EVM no nível do bytecode, os desenvolvedores podem implantar diretamente os contratos inteligentes EVM existentes no OVM.
Embora a secção acima tenha dissecado as complexidades do OVM, a sua verdadeira inovação reside no seu processo de “decisão optimista”. Conforme afirmado anteriormente, uma decisão otimista é um conceito em que o OVM usa dados fora da cadeia para prever o estado futuro da camada 1 do Ethereum. Essa abordagem abre caminho para transações mais rápidas e eficientes. O processo de decisão otimista envolve três etapas principais:
No entanto, pode-se perguntar como exatamente o OVM chega a essas decisões, apesar das possibilidades aparentemente infinitas. Os conceitos a seguir nos ajudarão a compreender melhor a metodologia por trás das decisões otimistas:
Os estados futuros do Ethereum são infinitos, abrangendo todas as transações possíveis, todos os DAO que podem ser hackeados e qualquer outro evento. Apesar de lidar com futuros infinitos, as regras do EVM ajudam a filtrar estados futuros que são menos prováveis de acontecer. Podemos comparar este processo a um vasto cone que encolhe de um grande buraco para um funil mais apertado cada vez que um novo bloco é extraído e finalizado.
A Camada 2 expande o protocolo de consenso incorporando informações locais, incluindo mensagens fora da cadeia, uma atualização de canal assinada ou uma prova de inclusão para um bloco de plasma. O OVM usa essas informações locais para tomar decisões, mas primeiro deve definir suposições a serem usadas na derivação de possíveis estados futuros do Ethereum.
Os programas OVM definem pressupostos com base nas informações locais explicadas acima, servindo como filtros para diferenciar estados futuros realistas daqueles impossíveis. Um exemplo disso é o uso de uma suposição de “vividade de disputa”, que é usada por muitas soluções da Camada 2. Como os participantes do canal esperam que as retiradas maliciosas sejam contestadas, qualquer estado que contenha uma retirada maliciosa será considerado impossível e rejeitado. Quando os pressupostos locais tiverem eliminado estes futuros impossíveis, poderemos finalmente tomar “decisões optimistas” sobre o futuro.
Agora que entendemos como funciona o OVM, é essencial entender seus pontos fortes e fracos, especialmente quando comparado a outras máquinas virtuais como a Ethereum Virtual Machine (EVM) e a Zero-Knowledge Ethereum Virtual Machine (zkEVM). Examinar suas diferenças destacará o valor exclusivo do OVM e como eles trabalham lado a lado para aumentar a escalabilidade.
O OVM prioriza transações mais rápidas em oposição ao EVM. Com o OVM, um nó pode escrever diretamente no blockchain, eliminando a necessidade do processo de verificação de vários nós do EVM. Por outro lado, o EVM exige consenso de todos os nós, fazendo com que cada um deles vote em cada transação antes de atualizar o blockchain. Este rigor é razoável porque garante confiança absoluta, mas o custo é reduzido no rendimento em comparação com o OVM.
O OVM e o EVM também diferem em termos de validade, uma vez que o OVM não impõe a validade das mudanças de estado. Com o OVM, um usuário com intenções maliciosas pode transferir os ativos de outro usuário para si mesmo antes de enviar a transação para a Camada 1. Se a transação não for contestada, o OVM aceita-a.
Por outro lado, todas as alterações de estado no EVM devem seguir as regras de consenso da rede antes de serem aceitas. Como tal, o cenário acima seguiria regras diferentes, uma vez que a chave de assinatura do remetente não corresponderia à sua chave pública, o que é um requisito para que as transações sejam aceites.
Além disso, o EVM garante finalização instantânea. Finalidade instantânea refere-se a quando uma mudança de estado é aceita na rede, ela não pode ser alterada ou revertida. O OVM não garante a finalidade instantânea, uma vez que não impõe a validade das transações e a finalização de transações inválidas ou maliciosas corromperia o blockchain. Portanto, os estados OVM só são finais quando são aceitos na cadeia da Camada 1.
O OVM concentra-se principalmente na execução de transações e contratos inteligentes e deixa o EVM da Camada 1 para impor regras de blockchain, especialmente em mudanças de estado. O OVM prioriza a rapidez ao enviar transações concluídas sem comprovação de validade. Isto aumenta a escalabilidade, mas existe o risco de transações inválidas passarem despercebidas e serem finalizadas na Camada 1, especialmente se não forem contestadas.
Uma Máquina Virtual Ethereum de Conhecimento Zero (zkEVM) resolve esse problema criando provas criptográficas para cada transação fora da cadeia, semelhantes aos recibos. Isto aumenta a garantia da validade das atualizações do estado, aumentando ainda mais a confiança no sistema global.
Com o zkEVM, as transições de estado são finalizadas assim que são verificadas na cadeia. Isso reduz os atrasos na conclusão das transações da Camada 2 na Camada 1. As provas de conhecimento zero também confirmam a validade das atualizações de status, eliminando a necessidade de provas de fraude, a menos que seja necessário.
Os zkEVMs são geralmente mais desafiadores de implementar do que o OVM porque o desenvolvimento de tais provas elaboradas para várias etapas de computação é caro. Essa acessibilidade torna o OVM mais fácil de iniciar do que os zkEVMs. No entanto, ambos os projetos são compatíveis com EVM e podem executar contratos inteligentes.
Casos de uso do OVM
Executando na Camada 2, o OVM permite que os usuários usem o EVM baseado na Camada 1 sem atualizar constantemente o estado do EVM diretamente. Imagine o OVM como um assistente do EVM, trabalhando nos bastidores da Camada 2 e lidando com transações para que o EVM não fique sobrecarregado.
No contexto, vamos supor que o usuário A possua 2 WBTC e envie 1 WBTC ao usuário B usando um rollup otimista. Um agregador enviará então os detalhes da transação ao contrato rollup da Camada 1. Se não for contestado, será integrado permanentemente na blockchain Ethereum, tornando-o oficial.
Esta garantia é possível mediante duas condições. A primeira é que o OVM executa transações de acordo com as regras do EVM, de modo que as transações processadas corretamente fora da cadeia têm a garantia de serem aceitas na Camada 1. O segundo fator é que o agregador compartilha publicamente os dados da transação, permitindo que qualquer pessoa aponte inconsistências na execução de uma transação e, por extensão, mantendo todas as partes honestas.
No entanto, quer ambas as partes decidam retirar os seus activos ou fazer outras transacções, ainda assim beneficiarão do EVM sem terem de executar quaisquer transacções na Camada 1.
Além de executar transações mais rápidas, o OVM pode ser usado de várias outras maneiras. O OVM também revolucionou os jogos blockchain, permitindo uma jogabilidade mais rápida, sem atrasos ou atrasos, onde as transações acontecem instantaneamente e o mundo do jogo reage em tempo real. Seu uso no aprimoramento de aplicativos DeFi também não pode passar despercebido, pois fornece trocas de tokens quase instantâneas em bolsas descentralizadas com taxas de gás mais baixas.
Com a Optimistic Virtual Machine, os desenvolvedores podem implantar contratos inteligentes e os usuários podem fazer transações sem o incômodo das altas taxas de gás e dos tempos de processamento lentos que assolam o Ethereum. Embora enfrente desafios relativos à segurança e potenciais riscos de centralização, o OVM detém a chave para desbloquear uma nova era de aplicações baseadas em blockchain e adoção em massa em geral. Com a evolução da tecnologia blockchain, o OVM é uma das ferramentas inovadoras que deverá moldar o futuro das aplicações descentralizadas.
Com a constante expansão da indústria de blockchain, os projetos mais populares, incluindo o Ethereum, enfrentam um congestionamento crítico de transações de problemas no blockchain. Independentemente do tamanho, as redes de computadores só podem conter uma determinada quantidade de tráfego. Quanto mais popular a rede se torna, maior é a probabilidade de ela ficar congestionada. Este problema restringe a escalabilidade e afeta a experiência do usuário em geral.
Como tal, Ethereum precisa de diferentes redes de camada 2 para ajudar com seus problemas de escalabilidade. Entre essas redes da camada 2 anexadas à cadeia da camada 1 do Ethereum está a Máquina Virtual Otimista. Este artigo investiga o funcionamento interno do OVM e esclarece sua importância para o bom funcionamento do ecossistema Ethereum.
A Optimistic Virtual Machine (OVM), construída pela Optimism usando sua tecnologia Optimism Rollup (OR), serve como uma solução de escalonamento de Camada 2 para Ethereum. Ele foi projetado para aproveitar a compatibilidade EVM, oferecendo uma estrutura estável para que os desenvolvedores dimensionem seus contratos inteligentes de maneira fácil e eficiente.
O OVM fornece um ecossistema unificado para protocolos de Camada 2, combinando outras soluções de escalonamento sob o mesmo guarda-chuva. Em vez de atualizar as transações diretamente na blockchain da Camada 1, o OVM usa dados fora da cadeia para garantir (ou tomar decisões otimistas sobre) transações atualizadas na blockchain Ethereum.
Cada processo computacional realizado pelo OVM é chamado de transição. Essas transições são avaliadas do lado do cliente por usuários individuais que desejam confirmar o estado mais recente de um contrato inteligente ou verificar provas de fraude (mecanismos projetados para detectar e provar comportamento fraudulento em sistemas descentralizados) na cadeia.
O OVM funciona como um espaço de trabalho dedicado para contratos inteligentes. Os contratos inteligentes são implantados, executados e monitorados no OVM, garantindo que qualquer outra tarefa do contrato inteligente seja executada com eficiência. Quando um nó na cadeia da Camada 2 envia uma transação, o OVM processa essas transações e, em seguida, ativa diferentes mudanças de estado em seu ambiente, levando, consequentemente, a resultados variados, como a liquidação de pagamentos.
O OVM também implementa um sistema de limite de gás para se proteger de transações maliciosas que executam e drenam constantemente os recursos da rede. Ao realizar uma transação, os usuários devem definir um limite de gás, especificando quanto gás podem gastar em uma transação. Essas taxas também servem como compensação aos nós pelo fornecimento de recursos computacionais adicionais para executar transações.
Além disso, o OVM só pode interpretar e executar contratos inteligentes escritos em bytecode. Embora linguagens compatíveis com EVM de alto nível, como Solidity , sejam mais amigáveis e simplifiquem o processo de implantação, elas devem ser traduzidas e compiladas em bytecode antes de serem implantadas. No entanto, devido à compatibilidade do OVM com o EVM no nível do bytecode, os desenvolvedores podem implantar diretamente os contratos inteligentes EVM existentes no OVM.
Embora a secção acima tenha dissecado as complexidades do OVM, a sua verdadeira inovação reside no seu processo de “decisão optimista”. Conforme afirmado anteriormente, uma decisão otimista é um conceito em que o OVM usa dados fora da cadeia para prever o estado futuro da camada 1 do Ethereum. Essa abordagem abre caminho para transações mais rápidas e eficientes. O processo de decisão otimista envolve três etapas principais:
No entanto, pode-se perguntar como exatamente o OVM chega a essas decisões, apesar das possibilidades aparentemente infinitas. Os conceitos a seguir nos ajudarão a compreender melhor a metodologia por trás das decisões otimistas:
Os estados futuros do Ethereum são infinitos, abrangendo todas as transações possíveis, todos os DAO que podem ser hackeados e qualquer outro evento. Apesar de lidar com futuros infinitos, as regras do EVM ajudam a filtrar estados futuros que são menos prováveis de acontecer. Podemos comparar este processo a um vasto cone que encolhe de um grande buraco para um funil mais apertado cada vez que um novo bloco é extraído e finalizado.
A Camada 2 expande o protocolo de consenso incorporando informações locais, incluindo mensagens fora da cadeia, uma atualização de canal assinada ou uma prova de inclusão para um bloco de plasma. O OVM usa essas informações locais para tomar decisões, mas primeiro deve definir suposições a serem usadas na derivação de possíveis estados futuros do Ethereum.
Os programas OVM definem pressupostos com base nas informações locais explicadas acima, servindo como filtros para diferenciar estados futuros realistas daqueles impossíveis. Um exemplo disso é o uso de uma suposição de “vividade de disputa”, que é usada por muitas soluções da Camada 2. Como os participantes do canal esperam que as retiradas maliciosas sejam contestadas, qualquer estado que contenha uma retirada maliciosa será considerado impossível e rejeitado. Quando os pressupostos locais tiverem eliminado estes futuros impossíveis, poderemos finalmente tomar “decisões optimistas” sobre o futuro.
Agora que entendemos como funciona o OVM, é essencial entender seus pontos fortes e fracos, especialmente quando comparado a outras máquinas virtuais como a Ethereum Virtual Machine (EVM) e a Zero-Knowledge Ethereum Virtual Machine (zkEVM). Examinar suas diferenças destacará o valor exclusivo do OVM e como eles trabalham lado a lado para aumentar a escalabilidade.
O OVM prioriza transações mais rápidas em oposição ao EVM. Com o OVM, um nó pode escrever diretamente no blockchain, eliminando a necessidade do processo de verificação de vários nós do EVM. Por outro lado, o EVM exige consenso de todos os nós, fazendo com que cada um deles vote em cada transação antes de atualizar o blockchain. Este rigor é razoável porque garante confiança absoluta, mas o custo é reduzido no rendimento em comparação com o OVM.
O OVM e o EVM também diferem em termos de validade, uma vez que o OVM não impõe a validade das mudanças de estado. Com o OVM, um usuário com intenções maliciosas pode transferir os ativos de outro usuário para si mesmo antes de enviar a transação para a Camada 1. Se a transação não for contestada, o OVM aceita-a.
Por outro lado, todas as alterações de estado no EVM devem seguir as regras de consenso da rede antes de serem aceitas. Como tal, o cenário acima seguiria regras diferentes, uma vez que a chave de assinatura do remetente não corresponderia à sua chave pública, o que é um requisito para que as transações sejam aceites.
Além disso, o EVM garante finalização instantânea. Finalidade instantânea refere-se a quando uma mudança de estado é aceita na rede, ela não pode ser alterada ou revertida. O OVM não garante a finalidade instantânea, uma vez que não impõe a validade das transações e a finalização de transações inválidas ou maliciosas corromperia o blockchain. Portanto, os estados OVM só são finais quando são aceitos na cadeia da Camada 1.
O OVM concentra-se principalmente na execução de transações e contratos inteligentes e deixa o EVM da Camada 1 para impor regras de blockchain, especialmente em mudanças de estado. O OVM prioriza a rapidez ao enviar transações concluídas sem comprovação de validade. Isto aumenta a escalabilidade, mas existe o risco de transações inválidas passarem despercebidas e serem finalizadas na Camada 1, especialmente se não forem contestadas.
Uma Máquina Virtual Ethereum de Conhecimento Zero (zkEVM) resolve esse problema criando provas criptográficas para cada transação fora da cadeia, semelhantes aos recibos. Isto aumenta a garantia da validade das atualizações do estado, aumentando ainda mais a confiança no sistema global.
Com o zkEVM, as transições de estado são finalizadas assim que são verificadas na cadeia. Isso reduz os atrasos na conclusão das transações da Camada 2 na Camada 1. As provas de conhecimento zero também confirmam a validade das atualizações de status, eliminando a necessidade de provas de fraude, a menos que seja necessário.
Os zkEVMs são geralmente mais desafiadores de implementar do que o OVM porque o desenvolvimento de tais provas elaboradas para várias etapas de computação é caro. Essa acessibilidade torna o OVM mais fácil de iniciar do que os zkEVMs. No entanto, ambos os projetos são compatíveis com EVM e podem executar contratos inteligentes.
Casos de uso do OVM
Executando na Camada 2, o OVM permite que os usuários usem o EVM baseado na Camada 1 sem atualizar constantemente o estado do EVM diretamente. Imagine o OVM como um assistente do EVM, trabalhando nos bastidores da Camada 2 e lidando com transações para que o EVM não fique sobrecarregado.
No contexto, vamos supor que o usuário A possua 2 WBTC e envie 1 WBTC ao usuário B usando um rollup otimista. Um agregador enviará então os detalhes da transação ao contrato rollup da Camada 1. Se não for contestado, será integrado permanentemente na blockchain Ethereum, tornando-o oficial.
Esta garantia é possível mediante duas condições. A primeira é que o OVM executa transações de acordo com as regras do EVM, de modo que as transações processadas corretamente fora da cadeia têm a garantia de serem aceitas na Camada 1. O segundo fator é que o agregador compartilha publicamente os dados da transação, permitindo que qualquer pessoa aponte inconsistências na execução de uma transação e, por extensão, mantendo todas as partes honestas.
No entanto, quer ambas as partes decidam retirar os seus activos ou fazer outras transacções, ainda assim beneficiarão do EVM sem terem de executar quaisquer transacções na Camada 1.
Além de executar transações mais rápidas, o OVM pode ser usado de várias outras maneiras. O OVM também revolucionou os jogos blockchain, permitindo uma jogabilidade mais rápida, sem atrasos ou atrasos, onde as transações acontecem instantaneamente e o mundo do jogo reage em tempo real. Seu uso no aprimoramento de aplicativos DeFi também não pode passar despercebido, pois fornece trocas de tokens quase instantâneas em bolsas descentralizadas com taxas de gás mais baixas.
Com a Optimistic Virtual Machine, os desenvolvedores podem implantar contratos inteligentes e os usuários podem fazer transações sem o incômodo das altas taxas de gás e dos tempos de processamento lentos que assolam o Ethereum. Embora enfrente desafios relativos à segurança e potenciais riscos de centralização, o OVM detém a chave para desbloquear uma nova era de aplicações baseadas em blockchain e adoção em massa em geral. Com a evolução da tecnologia blockchain, o OVM é uma das ferramentas inovadoras que deverá moldar o futuro das aplicações descentralizadas.