Grokking Cartesi Rollups — Parte 2

Na parte I, falamos os enormes ganhos em escala computacional que os rollups específicos para aplicativos trazem para a pilha da tecnologia blockchain. Nesta segunda parte, exploramos o vasto e novo espaço de design possível pelo poder computacional de apps específicos.
Visão Geral sobre a EVM
A Máquina Virtual Ethereum (Ethereum Virtual Machine) é o mecanismo de execução que permite a funcionalidade de contrato inteligente na blockchain Ethereum. Sempre que um dApp ou usuário interage com um contrato inteligente, a transação é executada na EVM, como parte do processo de atualização do estado da rede.
Cada transação de contrato inteligente na EVM tem um custo de gás associado. Quanto mais gás uma transação consome, mais espaço em bloco é necessário para processar a transação. Sendo o espaço de bloco Ethereum um recurso finito, isso cria um ambiente competitivo para a execução de contratos inteligentes. Durante períodos de grande demanda da rede, dApps e usuários são forçados a guerras de lances para que suas transações sejam executadas.
A competição por espaço de bloco impõe limitações significativas de design aos contratos inteligentes EVM. Com a perspectiva de guerra de lances sempre iminente, os desenvolvedores são incentivados a projetar dApps que otimizem os custos do gás, em vez de otimizar a funcionalidade do software. Em última análise, isto prejudica a inovação e leva a escolhas de design idiossincráticas, que podem comprometer a legibilidade e a segurança do código.
A busca por maior flexibilidade no design
As soluções tradicionais de rollups da segunda camada (Layer 2), como Arbitrum e Optimism, podem ajudar a mitigar alguns dos efeitos negativos da guerra do gás, proporcionando uma execução offchain mais econômica. Mas esses rollups não oferecem nenhum aumento significativo na flexibilidade do design. Eles ainda são suscetíveis à dinâmica de lances competitivos baseados na EVM, o que significa que ainda estão sujeitos às mesmas limitações de design que vemos nos dApps implantados diretamente no Ethereum.
Em busca de maior flexibilidade de design, alguns projetos buscaram alternativas para a EVM, como EVM+ e WASM. Esses projetos oferecem aos desenvolvedores a capacidade de escrever contratos inteligentes em linguagens de programação tradicionais, como Rust e Python, em vez das linguagens específicas da EVM, como Solidity e Vyper. Mas essas soluções fornecem apenas melhorias marginais à experiência de design do dApp. Isso ocorre porque há uma enorme diferença entre simplesmente ser capaz de usar uma sintaxe de programação tradicional, como Python, para escrever contratos inteligentes (que EVM+ e WASM oferecem) e ser capaz de aproveitar décadas de bibliotecas e ferramentas Python open-source existentes (que a EVM+ e a WASM não podem oferecer de forma realista).
Bibliotecas de código aberto são peças reutilizáveis de código pré-escrito, que permitem aos desenvolvedores lidar com as tarefas complexas, sem precisar inventar novas soluções do zero. A grande maioria destas bibliotecas, no entanto, depende de um sistema operacional (OS) para uma série de serviços vitais, incluindo o fornecimento de gerenciamento de memória, acesso ao hardware e recursos do sistema, medidas de segurança e muito mais.
Os projetos EVM+ e WASM existentes não podem comportar de forma realista uma infraestrutura de sistema operacional completa. Sem o benefício de um sistema operacional, os desenvolvedores de dApps perdem acesso a décadas de desenvolvimento de código aberto. Separados de todo esse trabalho anterior, certas tarefas que são triviais para desenvolvedores convencionais — como transferir arquivos, compactar dados, encontrar a cor de um píxel em uma imagem ou consultar um registro em um banco de dados — são impraticáveis ou mesmo impossíveis para desenvolvedores de dApps.
Quem não arrisca não petisca!
Como explicamos na parte 1, os rollups específicos para aplicativos trazem uma incomparável capacidade computacional para a pilha da tecnologia blockchain. A questão é: o que podemos fazer com esse ganho em poder computacional?
A Cartesi usa esse poder de processamento aumentado para inicializar um sistema operacional Linux. Isso permite que a Cartesi crie um novo ambiente de execução de dApps, que transcende as limitações de design da EVM, EVM+ e WASM descritas acima.
A tecnologia central da Cartesi depende da Cartesi Virtual Machine, uma máquina virtual personalizada, que emula uma arquitetura de conjunto de instruções (ISA) RISC-V. Um ISA é basicamente um conjunto de regras, que determina como o hardware e o software de um computador interagem entre si e quais sistemas operacionais são compatíveis com a arquitetura do computador. O RISC-V, em particular, é altamente compatível com Linux, o sistema operacional de código aberto mais utilizado no mundo.
Com o poder de emular um microprocessador RISC-V, a Máquina Virtual Cartesi é capaz de inicializar um sistema operacional Linux completo. Como resultado, a Cartesi fornece aos desenvolvedores de dApps acesso à extensa biblioteca de códigos e ferramentas de código aberto. Isso significa que os dApps desenvolvidos pela Cartesi podem começar ser similares aos aplicativos de software tradicionais, em termos de flexibilidade de design, experiência do usuário, previsibilidade e economia — tudo isso enquanto permanecem verificáveis on-chain.
Um vasto e novo espaço de design para Aplicativos Descentralizados
A infraestrutura de softwares que permeia quase todos os aspectos das nossas vidas é composta por componentes interdependentes criados ao longo de quase 50 anos de esforços globais de engenharia. Com acesso a décadas de bibliotecas de códigos criados, os desenvolvedores de software tradicionais podem otimizar tarefas de forma fácil e rápida, sem a necessidade de ter que reinventar sempre novas abstrações. Os rollups específicos para aplicativos da Cartesi e a Cartesi Virtual Machine trazem essa mesma eficiência para a blockchain, criando um vasto e novo espaço de design para aplicativos descentralizados.
Para ilustrar o que isso significa na prática, vamos usar o Topology como exemplo. Topology é um jogo descentralizado impressionante, no qual os jogadores colaboram para construir infraestruturas estratégicas em mundos sujeitos à dinâmica planetária. Para criar este ambiente em blockchain, os desenvolvedores do jogo tiveram que escrever um algoritmo clássico para simular a dinâmica planetária do zero. Isso não foi apenas um trabalho extremamente pesado, mas também foi necessário um grupo de desenvolvedores excepcionais para dar vida a essa ideia.
Agora, compare o Topology com um jogo de software tradicional como o Angry Birds. O Angry Birds precisava do mesmo tipo de algoritmo que o Topology (afinal, planetas em órbita e pássaros voadores seguem as mesmas leis da gravidade). Mas os desenvolvedores do Angry Birds não precisaram escrever do zero todas as linhas de código necessárias. Isso ocorre porque existem bibliotecas já escritas, que permitem aos desenvolvedores de software tradicionais adicionar forças gravitacionais às suas aplicações em quase todas as linguagens de programação imagináveis.
O exemplo acima está longe de ser único. Muitas bibliotecas estão sendo escritas do zero na Solidity, para auxiliar no desenvolvimento de contratos inteligentes EVM. Mas levaria literalmente décadas para que os desenvolvedores de dApps recriassem as bibliotecas e ferramentas existentes disponíveis para os desenvolvedores de software tradicionais. A Cartesi elimina a necessidade de reinventar essas abstrações.
Com a Cartesi, os desenvolvedores de dApps têm as ferramentas necessárias para se concentrarem no que realmente desejam construir, em vez de ficarem atolados nas limitações idiossincráticas de design, que muitas vezes são impostas pela infraestrutura da blockchain subjacente.
Explore como os desenvolvedores estão ultrapassando os limites deste novo espaço de design nas áreas a seguir:
Saiba mais na documentação. Você também pode ficar por dentro de tudo que acontece no ecossistema da Cartesi ao se tornar parte da comunidade. Melhor ainda, comece a testar rollups específicos para aplicativos com o novo desafio Honeypot, o primeiro Cartesi Rollup DApp a ser lançado na mainnet!