Desvendando a Solana Virtual Machine (SVM): a promessa da escalabilidade blockchain
O que é uma Máquina Virtual? Qual a sua importância? SVM vs. EVM, vantagens e desvantagens.
Não é segredo para ninguém que a blockchain Solana está nos holofotes do criptomercado nesses últimos tempos, especialmente após o airdrop do protocolo Jito, que aconteceu em meados de dezembro. Os usuários do Jito foram recompensados com quantias na casa dos milhares de dólares, o que chamou a atenção de grande parte do ecossistema cripto, afinal estamos falando de dinheiro “grátis”.
Desde então, o TVL da rede cresceu continuamente, até mesmo porque outros protocolos também estão trabalhando seu marketing em especulação futura de airdrops.
Apesar de já estarmos falando sobre a Solana desde julho de 2023, decidimos dedicar o mês de janeiro para nos aprofundar na blockchain, com um destaque special para o ecossistema DeFi dela.
Como parte dessa iniciativa, fizemos duas lives no Youtube com convidados, quatro artigos autorais sobre o ecossistema, X-Spaces com participação internacional e várias menções durante o Modular News.
Para encerrar com chave de ouro esse mês de janeiro, falaremos sobre a Máquina Virtual da Solana, também conhecida como SVM (Solana Virtual Machine). Vamos entender o que é uma Máquina Virtual, mostrar a importância da SVM para o ecossistema Solana, suas particularidades e também suas diferenças para a Máquina Virtual da Ethereum.
Desvendando a Solana Virtual Machine (SVM): a promessa da escalabilidade blockchain
Muitos podem não dar o devido valor a isso, mas a Solana só é o que é hoje graças às particularidades da sua Máquina Virtual, que permite uma maior escalabilidade mantendo as taxas de transação bastante baratas.
Antes de compreender o papel e a importância da SVM, vamos mergulhar nos conceitos fundamentais de uma máquina virtual, entender por que ela é vital para o desenvolvimento de aplicativos descentralizados (dApps) e explorar as nuances que fazem da SVM uma peça única no quebra-cabeça blockchain.
O que é uma máquina virtual?
Em resumo, uma máquina virtual é um ambiente de execução que opera como uma cópia virtual de um computador físico. Esse ambiente permite a execução de programas e aplicativos de forma independente. Resumindo, uma VM (Máquina Virtual) nada mais é do que um computador virtual responsável por implementar e executar transações e contratos inteligentes.
As máquinas virtuais criam um ambiente seguro para que os desenvolvedores possam implementar códigos que executam automaticamente as regras definidas neles, assegurando a automação e a confiabilidade dos smart contracts.
Isso acontece porque a máquina virtual é responsável por processar transações e organizar o estado da blockchain a cada novo bloco da rede. Assim, as mudanças na blockchain (de saldos de ativos, por exemplo) são estruturadas pela própria VM. Tanto é que, a depender de qual Máquina Virtual nos referimos, poderemos ver tempos de execução mais rápidos ou mais lentos, processamento paralelo ou outras particularidades.
Enfim, no contexto de blockchains uma máquina virtual desempenha um papel central ao possibilitar a execução das transações e dos contratos inteligentes, além da reorganização do estado da blockchain a cada bloco.
A Importância da máquina virtual na blockchain
A introdução de uma máquina virtual em uma blockchain foi um divisor de águas, uma vez que expandiu significativamente as possibilidades de aplicação dessa tecnologia, permitindo, por exemplo, a execução de contratos inteligentes.
Fazendo uma análise mais aprofundada, hoje vemos uma corrida muito grande para o desenvolvimento de uma Máquina Virtual para o Bitcoin, já que isso abriria a porta para o desenvolvimento de uma série de aplicações e hipóteses de uso para a maior blockchain da atualidade. Vários projetos já estão empenhando esforços para tentar desenvolver isso, como a BVM Network, MVC, SatoshiVM, mas isso ainda é algo a ser testado e validado pela comunidade bitcoiner.
Enquanto esse tópico ainda é fruto de discussão e debate na comunidade Bitcoin, outros ecossistemas já estão mais avançados, como a Ethereum e a Solana, que possuem suas próprias máquinas virtuais, cada uma com uma proposta diferente para resolver do trilema das blockchains.
Solana Virtual Machine (SVM)
A Solana Virtual Machine, ou SVM para os íntimos, é o ambiente de execução da rede Solana. Ao processar uma transação, a VM converte o código do contrato inteligente do app utilizado (como Marginfi, Kamino, Jupiter…) em um formato que pode ser executado pelo hardware dos validadores.
Na Solana as principais linguagens para escrever contratos inteligentes são Rust, C e C++, que então passam por um compilador na Solana Virtual Machine (SVM) responsável por transformar esses códigos em bytecodes e permitir que as transações sejam executadas pelos validadores (nós da rede, ou nodes).
Assim, cada validador da rede Solana executa seu próprio ambiente isolado da Solana Virtual Machine (SVM) para manter o consenso em toda a blockchain. Quando um contrato inteligente é executado (trazendo alguma modificação no estado da rede, como uma transferência de $SOL), ele comunica as alterações necessárias ao ambiente de execução.
Com isso, o processador de transações da Solana encaminha essas alterações de estado para as instâncias da SVM operando dentro de cada sistema dos validadores, cada um deles recebe uma cópia e a traduz, atualizando a blockchain. Essa distribuição de instâncias da SVM entre validadores resulta em uma rede descentralizada, reduzindo o risco de ataques DDoS ou desligamentos.
Além disso, esse isolamento garante que possíveis bugs ou vulnerabilidades em um contrato inteligente não comprometam a segurança ou estabilidade de toda a rede Solana.
Em resumo, todas essas diferentes etapas no processamento de dados da SVM acontecem internamente na Solana, fazendo com que nós, usuários, não tenhamos que tomar nenhuma atitude ativa, somente aprovar transações em nossas wallets e acompanhar nossos ativos. Contudo, como demonstrado, isso não significa que essa parte do processamento de transações na SVM não seja importante.
Outras máquinas virtuais e diferenciais da SVM
Enquanto muitas blockchains hoje dependem da Ethereum Virtual Machine (EVM) - como Avalanche, Binance Smart Chain, Celo e Optimism - a Solana desenvolveu sua própria VM, apresentando capacidades únicas que proporcionam desempenho aprimorado em comparação com a EVM, ao menos quando nos referimos a escalabilidade.
Um dos principais diferenciais da SVM é a sua capacidade de processamento paralelo de transações, diferentemente do que acontece na EVM, em que cada transação é processada de modo sequencial, o que demanda mais tempo e também maior esforço dos validadores, já que precisam "organizar” as transações antes de processá-las.
O processamento paralelo de transações possibilita uma escalabilidade horizontal dentro do ambiente de execução da Solana, permitindo que vários contratos inteligentes sejam executados simultaneamente sem afetar o desempenho uns dos outros. Isso só é possível devido aos contratos inteligentes da Solana descreverem previamente quais dados serão lidos ou gravados durante a execução daquela transação.
Simplificando tudo isso: todos os dados a serem modificados na blockchain já são incluídos previamente ao enviar uma transação para a SVM, ou seja, os validadores já conseguem saber quais transações podem causar conflitos e, por isso, conseguem executá-las de modo paralelo evitando problemas entre diferentes modificações de estados da rede.
Com isso, a SVM consegue lidar com dezenas de milhares de transações simultaneamente, em oposição ao processamento sequencial, uma a uma, como a Ethereum Virtual Machine (EVM) faz. Atualmente, vários projetos também estão trabalhando para tentar levar essa execução paralela à EVM, como Sei, Neon e Monad. Contudo, assim como mencionado antes sobre VMs no Bitcoin, isso ainda precisará ser testado e validado pela comunidade.
Outro ponto de importante que o processamento paralelo de transações da SVM permite são os mercados de taxas localizadas (local fee markets). Essa funcionalidade permite que as taxas de transação sejam determinadas pela demanda específica por espaço de bloco dentro de cada aplicação.
Isso significa, por exemplo, que se determinada aplicação for realizar um airdrop, um mint de coleção de NFT ou qualquer atividade que demande um estresse maior da rede, essa função de taxas localizadas evita que a Solana fique sobrecarregada, impedindo que somente uma aplicação (ou evento) domine a movimentação de toda a rede.
No passado, já tivemos experiências de sobrecarga da rede em razão de mints de NFT na Ethereum, como o lançamento da coleção Otherside, que fez com que as taxas da rede fossem para as alturas, passando dos 8.000 GWEI:
Isso acontece porque na Máquina Virtual da Ethereum as taxas são globais, aplicadas de modo uniforme independente do espaço de bloco utilizado. Consequentemente, qualquer aumento no uso de aplicativos, ou qualquer teste de estresse da rede, pode provocar um aumento nas taxas de gás em toda a rede.
Conclusão
Antes de encerrar, precisamos lembrar que nem tudo são flores. A SVM também possui seus pontos fracos e há necessidades de melhoria, como sua arquitetura monolítica/integrada, sua baixa quantidade de validadores em comparação com a Ethereum, ou, até mesmo, as várias instabilidades enfrentadas pela rede no passado recente. De qualquer modo, é sempre importante lembrar que a Solana ainda se posiciona em fases iniciais e já tem apresentado várias melhorias para a sua comunidade.
Apesar de tudo isso, entender as particularidades de uma máquina virtual e sua importância no contexto blockchain é essencial para entender melhor o ecossistema web3 e até para entender as razões pela qual a Solana é mais rápida que a Ethereum, por exemplo.
Muito obrigado por nos acompanhar neste mês especial sobre Solana, e já se prepare, em fevereiro falaremos sobre Cosmos.
Se quiser se aprofundar ainda mais nas diferenças entre a EVM e a SVM:
Antes de terminar, gostaríamos de lembrar que o conteúdo discutido aqui é estritamente informativo e destinado a fomentar a discussão geral. Não deve ser interpretado como recomendação financeira, fiscal ou conselho de vida para qualquer indivíduo. Encorajamos fortemente que você faça sua própria pesquisa e consulte profissionais qualificados.
Acompanhe-nos nas nossas redes sociais
Participe da nossa comunidade no Telegram.
Muito bom