Para os desenvolvedores que operam no ambiente de rápida expansão e agnóstico de blockchain de hoje, decidir sobre a abordagem certa para a execução de contratos inteligentes é fundamental.
Nesta parte, analisarei as credenciais do EVM (Ethereum Virtual Machine) e o SmartWeave como duas opções distintas a serem consideradas pelos desenvolvedores. Divulgação completa, vamos mergulhar fundo! Antes de começarmos, aqui está uma tabela de comparação para lhe dar uma noção dos dois ambientes de execução:
Principais considerações para usar o EVM
O EVM, inicialmente implementado pela Ethereum, agora é a escolha para a maioria das plataformas de contratos inteligentes, estendendo-se a Avalanche, BNB Chain e L2s como Arbitrum, Optimism e muito mais. O uso de EVM requer conhecimento de Solidity, que pode ser caracterizado como a resposta do blockchain ao JavaScript. Como a linguagem do EVM, o Solidity emergiu como a linguagem de programação de fato para contratos inteligentes em redes distribuídas, tornando-se a linguagem de computador preferida para desenvolvedores no espaço blockchain.
Embora o Solidity tenha uma estrutura e sintaxe únicas que podem ser desafiadoras para aqueles que consideram o desenvolvimento Web3, ele continua atraindo um grande fluxo de novos alunos. Além disso, o EVM possui um vasto ecossistema de recursos, ferramentas, materiais educacionais e desenvolvedores entusiasmados.
Embora o EVM seja amplamente considerado a estrutura padrão de ouro para a criação de aplicativos descentralizados, ele possui parâmetros de limitação estritos, com os quais os desenvolvedores recém-descobertos devem aprender a trabalhar. A capacidade de um desenvolvedor sênior do Solidity de otimizar o código para limites de computação rigorosos (na forma de limites de gás) os distingue do desenvolvedor recém-saído da academia. A desvantagem deste modelo é que ele coloca uma grande ênfase no espaço do bloco, que pode se tornar uma instalação extremamente cara.
Além disso, o requisito de sincronização de cálculos orientada por consenso em cada bloco adiciona uma camada de complexidade ao design do EVM, atuando como um obstáculo significativo para os esforços de dimensionamento, especialmente devido à avaliação sequencial de todas as interações de contratos inteligentes.
Uma consideração digna de nota envolve o modelo de armazenamento exclusivo dentro da Máquina Virtual Ethereum. Na maioria das linguagens de programação, entender a representação de dados de baixo nível não é crucial, mas o Solidity se desvia dessa norma. Dado o custo significativo associado ao acesso ao armazenamento em redes baseadas em Ethereum, é essencial ter uma compreensão firme de como os tipos de dados são representados. O modelo de armazenamento global compartilhado em todos os contratos, independentemente de sua interação, traz desafios.
O design apresenta ineficiências, forçando os contratos a percorrer dados estranhos, diminuindo os tempos de transação e incorrendo em custos computacionais desnecessários. Esses custos contribuem para um maior encargo financeiro para armazenamento de dados na plataforma, afetando desenvolvedores e usuários. Além disso, a natureza compartilhada do armazenamento pode inadvertidamente amplificar erros ou vulnerabilidades de codificação, levando a consequências não intencionais para contratos não relacionados e custos de retificação potencialmente crescentes.
Apresentando o SmartWeave
Do outro lado do corredor, SmartWeave é um paradigma para avaliar estados de contratos inteligentes em uma camada de dados imutáveis como Arweave. A proposta de valor distinta do SmartWeave tem um potencial de longo alcance para aprimorar a criação de dApps altamente eficientes para uma série de casos de uso específicos – servindo como uma estrutura complementar para preencher a lacuna onde o EVM fica aquém. Como uma camada de dados não executa computação arbitrária, ela coloca a responsabilidade de avaliar o estado atual do contrato no chamador usando uma “avaliação preguiçosa”.
Para “preguiçoso” avaliar o estado atual de um contrato, o chamador verifica e executa todas as interações do contrato (transações Arweave) desde o início do contrato até o presente, reproduzindo o estado atual do contrato desde o início.
Em essência, os contratos inteligentes Arweave consistem em um conjunto ordenado de ações (C, I, Ts), com ‘C’ sendo a parte que contém o código do contrato, ‘I’ sendo a fração contendo o estado inicial e ‘T’ sendo um seqüência de transações que interagem com o contrato. Quando o cliente avalia o estado, ele utiliza o código de C, o estado inicial de I, e aplica cada transação depois dele (desde que válida) com base no código do contrato. Entendi? Bom! Aqui está uma visão geral visual da arquitetura para ajudar a cristalizar o conceito:
SmartWeave é uma arquitetura destinada a criar um mecanismo de contratação inteligente confiável, rápido e pronto para produção no Arweave. Sua implementação mais popular, Warp Contracts, está focada em atingir esse objetivo exato. Warp é frequentemente descrito como “contratos SmartWeave com esteróides” devido à sua capacidade de superar alguns dos obstáculos mais significativos associados à implementação padrão do protocolo SmartWeave.
Esses obstáculos incluem a falta de cache que leva a baixo desempenho, a ausência de um gateway de transação SmartWeave confiável e a incapacidade de garantir a segurança e o determinismo do contrato. Além de sua função principal, o Warp SDK inclui uma camada de cache bem ajustada que aumenta muito a eficiência da avaliação preguiçosa.
A pilha também inclui métodos de implantação e manutenção fáceis de usar, plug-ins personalizáveis que permitem aos usuários estender o SDK em qualquer direção que desejarem, um explorador de contrato inteligente dedicado, um conjunto de nós para execução de terceirização e vários outros recursos essenciais. A equipe principal da Warp criou uma variedade de plug-ins proprietários, incluindo ferramentas EVM portáteis, suporte a carteira EVM, suporte nativo EtherJS no ambiente SmartWeave e outros. A partir de agora, Warp oferece suporte a linguagens JavaScript/TypeScript e WASM com suporte a Rust.
Distinguindo o EVM da arquitetura SmartWeave
A segurança do EVM está intrinsecamente ligada à tecnologia de consenso de seu blockchain subjacente. Da mesma forma, o SmartWeave também depende da segurança e finalização da blockchain da Arweave, que é alcançada incluindo blocos finalizados usando o protocolo SPoRa (Succinct Proofs of Random Access).
Por estrutura de design, o EVM implementa o mercado de taxas no protocolo principal. O esquema de taxas de mercado usa um mecanismo de leilão de primeiro preço para determinar as taxas de transação, onde o maior lance tem sua transação processada primeiro. Os desafios associados ao dimensionamento da rede tornam-se particularmente aparentes durante períodos de alta demanda, como visto no design do mercado de taxas global da Ethereum Virtual Machine.
Por exemplo, quando um contrato individual passa por uma atividade considerável, como uma tão esperada cunhagem de NFT, ele afeta inadvertidamente todos os usuários da rede ao aumentar os custos de transação, mesmo para aqueles que não estão diretamente envolvidos com a atividade de alta demanda.
A Arweave propõe uma abordagem alternativa ao mercado de taxas tradicional, utilizando um único pool de recompensas e merkle root para todos os dados, chamado de endowment. Adicionar novos dados ao sistema atualiza a árvore merkle e adiciona tokens $AR ao pool de recompensas sem causar um aumento na sobrecarga computacional. Para resolver o gargalo do processamento de pagamentos para armazenamento de dados, a Arweave usa um sistema de pacotes recursivos para liquidar várias transações em um único pagamento na rede.
Eventualmente, isso pode levar a árvores de profundidade infinita que permitem a ingestão de todos os dados da web em uma única transação, eliminando a necessidade de mercados de taxas. O sistema de transação da Arweave permite que os usuários executem transações sem uma taxa de inclusão de bloco, resultando em custos de armazenamento sendo a única despesa para a execução de transações, independentemente do lado da demanda.
SmartWeave é uma matriz sequenciada de transações Arweave que se beneficiam da ausência de um mercado de taxas para inclusão de blocos de transações. Essa propriedade exclusiva permite dados de transação ilimitados sem taxas adicionais além dos custos de armazenamento. Além disso, o design aberto do SmartWeave permite que os desenvolvedores escrevam a lógica em qualquer linguagem de programação, oferecendo uma alternativa refrescante à frequentemente rígida base de código do Solidity.
A Parte 2 chegará amanhã, cobrindo:
- Execução preguiçosa: uma perspectiva alternativa
- Avaliação da adequação de EVM e SmartWeave
- SmartWeave Market Fit
Postagem de convidado por: Jakub Wojciechowski, CEO e fundador da Warp Contracts e RedStone
source – cryptoslate.com