Skip to main content
Xcapit
Blog
·10 min de leitura·Fernando BoieroFernando Boiero·CTO & Co-Fundador

Construindo no Soroban: Desenvolvendo em Rust para Stellar

blockchainstellarrust

Stellar tem sido uma das redes mais confiáveis em blockchain por quase uma década. Processa pagamentos cross-border em escala, liquida transações em menos de cinco segundos e cobra frações de centavo em taxas. Grandes instituições -- de MoneyGram a Franklin Templeton -- o usam em produção. Mas até recentemente, Stellar tinha uma limitação notável: sem smart contracts de propósito geral. Soroban muda isso. Lançado na mainnet do Stellar no início de 2024, Soroban é uma plataforma de smart contract construída do zero com Rust, WebAssembly e as lições difíceis aprendidas observando o ecossistema Ethereum evoluir. Nossa equipe recentemente passou várias semanas construindo com ele, e isto é o que encontramos.

Ambiente e arquitetura de desenvolvimento Soroban
Arquitetura do Soroban: smart contracts baseados em Rust na rede Stellar

Este post cobre nossa experiência hands-on com Soroban: a arquitetura, o tooling, as diferenças do desenvolvimento Solidity e nossa avaliação honesta de onde a plataforma se destaca e onde ainda tem lacunas. Se você está avaliando Soroban para um projeto ou quer entender como a aposta de smart contract do Stellar parece da perspectiva de um desenvolvedor, este é o guia que gostaríamos de ter tido quando começamos.

Por Que Stellar Precisava de Smart Contracts

Stellar foi projetado como uma rede de pagamentos, não uma plataforma de computação de propósito geral. Seu Stellar Consensus Protocol (SCP) prioriza segurança e liveness para transações financeiras, e a rede processou bilhões de dólares em remessas e transferências de stablecoin desde 2015. Mas o panorama cripto evoluiu. DeFi, ativos tokenizados do mundo real, lógica de compliance on-chain e instrumentos financeiros programáveis todos requerem computação arbitrária que o modelo de transação original do Stellar não podia suportar. Projetos querendo protocolos de empréstimo ou market makers automatizados tinham que partir para Ethereum.

Ao invés de adicionar smart contracts à arquitetura existente como uma reflexão tardia, a Stellar Development Foundation construiu uma plataforma projetada com propósito que aproveitou tudo que a indústria tinha aprendido desde 2015. Soroban é um design clean-slate que evita a bagagem histórica da EVM enquanto integra nativamente com a infraestrutura do Stellar para pagamentos, emissão de ativos e conectividade fiat.

Arquitetura: WASM, Storage e Medição de Recursos

Contratos Soroban são escritos em Rust e compilados para WebAssembly (WASM). WASM é um formato de execução portável e sandboxed que fornece velocidade quase nativa, comportamento determinístico e forte isolamento. Ao escolher WASM sobre uma VM customizada, Soroban herda uma toolchain madura e otimizações extensivas de compilador já suportadas por grandes provedores cloud.

O modelo de execução é deliberadamente restringido. Cada invocação tem limites explícitos de recursos -- instruções CPU, memória, leituras e escritas de ledger, tamanho de transação -- todos medidos e precificados antes da execução. Soroban usa simulação preflight: você simula uma transação contra o estado atual do ledger para determinar consumo exato de recursos. A transação ou cabe no envelope declarado ou falha antes da execução. Sem surpresas, sem erros out-of-gas no meio da execução, sem taxas desperdiçadas.

Storage diverge de padrões estabelecidos. Ao invés da única key-value store do Ethereum, Soroban fornece três tipos. Instance storage é atado à instância do contrato -- ideal para configuração que persiste com o contrato. Persistent storage sobrevive independentemente e pode ser estendido pagando aluguel -- adequado para saldos de usuário e dados de longa vida. Temporary storage é auto-deletado após um TTL configurável -- útil para dados de sessão e caches. Este modelo força desenvolvedores a pensar sobre ciclo de vida de dados antecipadamente, prevenindo o crescimento de estado ilimitado que assola Ethereum.

A Vantagem Rust

Rust traz segurança de memória sem um garbage collector, um sistema de tipos forte que captura bugs em tempo de compilação e performance adequada a um ambiente de execução blockchain restringido. Em Solidity, integer overflows, storage não inicializado e vulnerabilidades de reentrancy causaram bilhões em perdas. Rust elimina muitas destas categorias por design -- seu modelo de ownership previne ponteiros pendentes, seu sistema de tipos previne erros de acesso à memória e seu compilador estrito significa que se o código compila, classes inteiras de erros de runtime não podem ocorrer.

A ausência de garbage collection é igualmente importante. Em blockchain, cada operação deve ser determinística e consumo de recursos precisamente medido. Garbage collection introduz imprevisibilidade. Gerenciamento de memória em tempo de compilação do Rust significa que consumo de recursos é consistente, alinhando perfeitamente com o modelo de medição do Soroban. Dito isto, Rust tem uma curva de aprendizado íngreme. Desenvolvedores de Solidity ou JavaScript devem internalizar ownership, borrowing, lifetimes e polimorfismo baseado em trait. O SDK Soroban abstrai padrões comuns, mas contratos não-triviais requerem compreensão profunda da linguagem.

Experiência de Desenvolvedor: SDK, CLI e Sandbox

O SDK Soroban fornece macros procedurais que geram boilerplate para pontos de entrada de contrato, conversões de tipo e acesso a storage. Um contrato começa com #[contract] em um struct e #[contractimpl] em seu bloco de implementação. O SDK lida com serialização e acesso a ambiente -- fino o suficiente para entender a mecânica subjacente, grosso o suficiente para evitar escrever interações WASM brutas.

A CLI Stellar gerencia o ciclo completo de deploy: scaffolding de projeto, compilação WASM, otimização binária, deploy testnet e mainnet, invocação de função, gerenciamento de identidade e assinatura de transação. O fluxo de trabalho é stellar contract init, cargo build com o alvo WASM, stellar contract deploy e stellar contract invoke. Direto e bem documentado.

O sandbox local é onde Soroban verdadeiramente se diferencia. O framework de teste permite você escrever testes Rust que instanciam contratos, chamam funções, fazem assert em mudanças de estado e verificam erros -- tudo rodando nativamente em milissegundos. Sem nó blockchain, sem confirmações de bloco, sem tokens de teste. Você escreve um teste, roda cargo test e obtém resultados instantaneamente. Após anos com Hardhat e Foundry, a diferença de velocidade é imediatamente notável.

Diferenças Chave do Desenvolvimento Solidity

Sem Reentrancy por Design

Reentrancy -- a classe de vulnerabilidade Solidity mais infame -- causou o hack da DAO e foi explorada dezenas de vezes desde então. Soroban a elimina inteiramente. Um contrato não pode ser chamado novamente enquanto uma invocação anterior está executando, enforcado em runtime. Uma categoria inteira de vulnerabilidades críticas não existe.

Storage e Autorização Explícitas

Em Solidity, storage é implícito e persiste para sempre por padrão. O modelo de três camadas do Soroban força decisões explícitas sobre cada pedaço de dado -- quanto tempo vive, quem paga por ele e o que acontece quando seu TTL expira. Para autorização, Solidity depende de msg.sender, o que cria padrões frágeis em chamadas cross-contrato. Soroban usa require_auth, verificando que um endereço específico autorizou uma invocação específica contra a árvore de autorização da transação. Ambas as mudanças tornam contratos mais seguros por padrão.

Construindo um Contrato de Token: Conceitos Chave

O ecossistema Stellar fornece uma interface de token padrão (SEP-41) análoga a ERC-20. Um token Soroban armazena saldos em persistent storage chaveado por endereço. A função transfer lê o saldo do remetente, verifica suficiência, decrementa-o e incrementa o do destinatário. Antes de qualquer mudança de estado, require_auth verifica a autorização do remetente. Allowances usam temporary storage com um TTL, então aprovações expiradas são automaticamente limpas -- diferente de ERC-20 onde persistem para sempre.

As peças se compõem naturalmente. A macro #[contracttype] gera serialização para tipos customizados. Camadas de storage são acessadas via env.storage().persistent() e env.storage().temporary(). Eventos são emitidos através de env.events().publish(). Tratamento de erro usa o tipo Result do Rust com enums customizados mapeando para códigos de erro on-chain. Você obtém o poder completo do Rust -- pattern matching, iteradores, generics -- não um subset definido por uma linguagem específica de domínio.

Teste e Debugging

O soroban-sdk inclui um ambiente de teste simulando o runtime completo do contrato -- storage, autorização, eventos e chamadas cross-contrato. Você escreve testes Rust padrão com #[test], cria um ambiente mock com Env::default() e chama funções de contrato diretamente. Features avançadas incluem env.mock_all_auths() para contornar autorização em testes, manipulação de sequência de ledger para lógica dependente de tempo e teste de interação multi-contrato -- tudo com suporte completo de debugging de IDE incluindo breakpoints.

Simulação de transação através da CLI Stellar adiciona confiança de produção. Antes de submeter à rede, você simula contra estado atual de ledger e obtém consumo exato de recursos, mudanças de estado e valores de retorno. Se simulação passa, a transação on-chain tem sucesso com uso de recursos determinístico. Achamos isto inestimável durante deploy, onde transações falhas de mainnet custam dinheiro real.

Integração do Ecossistema Stellar

Contratos Soroban interagem com ativos embutidos do Stellar (incluindo USDC), a DEX da rede e o ecossistema de anchors, wallets e fiat on-ramps. A API Horizon fornece acesso REST para consultar estado, submeter transações e fazer streaming de eventos. SDKs Stellar em JavaScript, Python, Go e Java permitem frontends e backends interagirem com contratos Soroban sem dependências Rust. Anchors -- provedores de on/off-ramp fiat do Stellar operando em dezenas de países -- fornecem conectividade fiat direta que a maioria das plataformas de smart contract carece. Um protocolo DeFi no Soroban pode oferecer conversão fiat-para-stablecoin real, reduzindo a fricção que previne adoção mainstream.

Performance e Custo

Transações finalizam em cinco a sete segundos com taxas tipicamente abaixo de um centavo, tornando microtransações viáveis. Medição de recursos é mais granular que gas EVM -- você paga separadamente por CPU, memória, I/O de ledger, tamanho de transação e aluguel de estado. Em nossos benchmarks, um contrato de token padrão no Soroban custou aproximadamente 90% menos que Ethereum L1 e foi comparável a Arbitrum ou Optimism -- mas em uma rede L1 com seu próprio consenso, não um rollup dependente de Ethereum para segurança.

Onde Soroban Brilha

  • Ativos tokenizados e instrumentos financeiros: Soroban herda a arquitetura amigável à regulação do Stellar. Emitir e gerenciar títulos tokenizados, bonds ou ativos do mundo real é um fit natural.
  • Aplicações de pagamento: Anchors do Stellar, suporte a stablecoin (USDC, EURC) e finalidade rápida o tornam ideal para escrow, pagamentos condicionais, divisão de pagamento e desembolsos programáveis.
  • Produtos financeiros cross-border: Stellar já processa remessas internacionais em escala. Soroban adiciona lógica programável -- conversão FX automatizada, verificações de compliance, aprovação multi-parte.
  • Protocolos de empréstimo e crédito: O modelo de storage explícito com aluguel de estado alinha bem com protocolos onde posições têm lifetimes naturais e dados dormentes não devem persistir indefinidamente.
  • Aplicações financeiras empresariais: Organizações precisando lógica on-chain com conectividade fiat, tooling de compliance e infraestrutura de grau institucional encontrarão o ecossistema do Stellar mais completo que a maioria das alternativas.

Nossa Avaliação: Forças e Fraquezas

Soroban não está tentando competir com Ethereum como um computador mundial de propósito geral. É construído com propósito para aplicações financeiras, e avaliá-lo requer entender esse escopo.

Forças

  • Rust e WASM fornecem um ambiente de execução fundamentalmente mais seguro. Classes inteiras de vulnerabilidade são eliminadas pela própria linguagem.
  • A experiência de desenvolvedor é forte -- SDK, CLI, teste local e documentação são bem projetados. O ciclo de desenvolvimento é rápido.
  • O modelo de storage de três camadas resolve crescimento de estado ilimitado, um problema assolando Ethereum e outras chains.
  • Integração com infraestrutura de pagamentos do Stellar, fiat on-ramps e relações institucionais fornece utilidade do mundo real que plataformas cripto-nativas não podem igualar.
  • Medição de recursos determinística e simulação de transação eliminam adivinhação e taxas desperdiçadas que são fricção constante em desenvolvimento EVM.

Fraquezas

  • O ecossistema é jovem. Ferramentas de auditoria, bibliotecas battle-tested e exemplos de contrato verificados ainda estão amadurecendo comparados a Ethereum.
  • A curva de aprendizado do Rust é real. Equipes sem experiência precisarão investimento significativo, e contratar desenvolvedores Rust é mais difícil que contratar desenvolvedores Solidity.
  • Composabilidade DeFi é limitada -- menos protocolos, oracles e pools de liquidez. Se composabilidade profunda é crítica, L2s Ethereum permanecem mais fortes.
  • Comunidade e mindshare de desenvolvedor são menores. Tutoriais, respostas Stack Overflow e repositórios de exemplo são menos abundantes.
  • Aluguel de estado adiciona complexidade operacional. TTLs devem ser ativamente gerenciados, requerendo infraestrutura de monitoramento a que desenvolvedores EVM não estão acostumados.

Quando Recomendaríamos Soroban

Recomendaríamos Soroban para projetos envolvendo transações financeiras, tokenização de ativos ou infraestrutura de pagamento -- onde a equipe tem expertise Rust. Se seu produto precisa de conectividade fiat, compatibilidade regulatória e baixos custos mais que composabilidade DeFi profunda, Soroban é uma escolha convincente. Não recomendaríamos hoje para dApps de propósito geral, gaming ou aplicações dependentes de protocolos DeFi existentes. Para esses, o ecossistema L2 do Ethereum permanece a escolha prática. Isto pode mudar conforme Soroban amadurece, mas a partir do início de 2025, efeitos de rede ainda favorecem chains compatíveis com EVM para casos de uso não-financeiros.

Soroban Stellar Contract Architecture

Na Xcapit, temos construído soluções blockchain desde 2017 -- de carteiras self-custody a integrações DeFi a auditorias de smart contract através de múltiplas chains. Se você está avaliando Soroban para um produto financeiro, precisa de ajuda arquitetando uma estratégia multi-chain que inclui Stellar, ou quer uma equipe com experiência hands-on em Rust e smart contract, teremos prazer em ajudar. Saiba mais sobre nossos serviços de desenvolvimento blockchain.

Share
Fernando Boiero

Fernando Boiero

CTO & Co-Fundador

Mais de 20 anos na indústria de tecnologia. Fundador e diretor do Blockchain Lab, professor universitário e PMP certificado. Especialista e líder de pensamento em cibersegurança, blockchain e inteligência artificial.

Vamos construir algo incrível

IA, blockchain e software sob medida — pensado para o seu negócio.

Entre em contato

Construindo em blockchain?

Tokenização, smart contracts, DeFi — já implementamos tudo isso.

Artigos Relacionados

·11 min

Novos Padrões Ethereum em 2026: Guia Empresarial

Um guia prático dos padrões Ethereum que empresas devem acompanhar em 2026: ERC-3643 para títulos regulamentados, EIP-7702 account abstraction e intents cross-chain.