Move Gemini: como a Sui e a Aptos desafiam o cenário do blockchain

Introduçãodução

Recentemente, o mercado esfriou significativamente, fazendo com que até mesmo os veteranos do setor questionassem o propósito do setor. Gostaria de compartilhar alguns de meus pensamentos pessoais: Acredito que muitas das grandes visões do passado foram “refutadas” porque nunca foram logicamente consistentes desde o início.

Os Dapps não financeiros muitas vezes tentaram enfatizar a descentralização para encobrir o fato de que os próprios produtos não eram bons o suficiente. A realidade é que eles me pedem para desconfiar do Google, do Twitter e do YouTube e, em vez disso, acreditam que suas carteiras com várias assinaturas e configurações de servidor único são seguras.

Muitas visões não foram refutadas, mas nunca foram realmente testadas. Ainda acredito que, mesmo que a maioria das visões não seja grandiosa, elas têm significado – talvez precisem apenas de uma base sólida para sustentá-las. No final, pelo menos uma descentralização ou experiência de usuário comparável à Web2 pode ser oferecida.

Da mesma forma que TON e Solana já foram subestimados, mas agora estão alcançando seus antecessores em muitos aspectos. As cadeias públicas que dão suporte aos aplicativos precisam de inovação, o que, em cada ciclo, impulsiona o progresso do setor. Portanto, hoje exploraremos um tipo de cadeia pública que há muito tempo é ignorado: o ecossistema Move.

1. Mover

A linguagem de programação Move foi criada originalmente para o projeto abandonado da Meta, Diem (inicialmente chamado de Libra), cujo objetivo era desenvolver uma stablecoin mais estável e regulamentada como base para sua visão de metaverso.

No entanto, o projeto enfrentou forte oposição e pressão contínua dos órgãos reguladores globais. Eles temiam que a escala de Diem e a vasta base de usuários do Facebook pudessem ameaçar a estabilidade financeira, a política monetária e a privacidade dos dados. A liderança do governo Biden na aplicação de pressão acabou forçando a Meta a abandonar o projeto Diem.

Felizmente, o núcleo do Diem não foi descartado. Diferentes facções separadas da equipe original continuaram a explorar e desenvolver o Move, que evoluiu para os gêmeos do Move que conhecemos hoje – Sui e Aptos. Além disso, outros projetos como o Linera (um blockchain baseado em Rust inspirado no Move) e o recém-promovido Movement ainda estão em sua infância.

Por que o impacto residual de um projeto descontinuado foi tão significativo? O Move, como uma linguagem de programação de blockchain desenvolvida por uma empresa líder em Web2, tem uma base sólida. Ela foi projetada com foco na abordagem de problemas de desempenho e segurança predominantes nas linguagens de blockchain existentes, especialmente a Solidity. Seus objetivos de design eram criar um sistema de tipos adaptado para gerenciamento de ativos e controle de acesso. Resumo os pontos principais da seguinte forma:

  • Segurança: O design do Move prioriza a segurança, usando verificações de tipo estático e gerenciamento de recursos para evitar vulnerabilidades comuns, como erros de estouro e ataques de reentrada. Em comparação com outras máquinas virtuais de linguagem, o Move oferece suporte a vários recursos de segurança, conforme ilustrado pela comparação abaixo de Nansen.
  • Capacidade de composição: A Move oferece suporte à modularidade e à capacidade de composição, permitindo que os desenvolvedores criem e combinem facilmente diferentes contratos inteligentes para criar aplicativos mais complexos.
  • Desempenho: a máquina virtual da Move é otimizada (suporta processamento paralelo, gerenciamento de memória, otimizações de compilador) para executar contratos inteligentes com eficiência, aumentando a velocidade e o rendimento das transações.

Em um mercado saturado de cadeias de EVM modulares, o Move representa uma tentativa corajosa de algo diferente. Você pode ter encontrado afirmações semelhantes nas apresentações de muitos projetos de cadeias públicas, mas sugiro que experimente em primeira mão para realmente entender esses conceitos.

2. Sui

2.1 Arquitetura

Como um dos gêmeos da Move, Sui enfrentou críticas no início por problemas relacionados a lançamentos aéreos e mecanismos de liberação de tokens. No entanto, deixando esses problemas de lado e concentrando-se apenas no projeto em si, Sui demonstrou excelência tanto no desempenho quanto na experiência do usuário, especialmente no setor de jogos.

Esse sucesso está intimamente ligado à sua arquitetura, que foi aprimorada especificamente para a adoção convencional. Aqui está uma breve visão geral das inovações arquitetônicas do Sui:

  1. Modelo de armazenamento de objetos: Esse componente é o núcleo dos aprimoramentos do Sui para o Move. O modelo de armazenamento de objetos armazena dados como objetos individuais, cada um com um identificador exclusivo. Diferentemente dos sistemas de banco de dados tradicionais, o modelo de armazenamento de objetos não tem uma estrutura de dados fixa e pode armazenar vários tipos de dados, como texto, imagens, vídeos e áudio. Esse modelo permite a execução paralela e o dimensionamento horizontal (adição de nós para expandir a capacidade de armazenamento). O projeto do Sui gira em torno desse modelo.
  2. Ordenação causal: garante que as transações sejam executadas em uma ordem que respeite as relações causais, evitando conflitos e inconsistências de dados. Isso permite que o Sui lide com grandes volumes de transações simultâneas e mantenha a consistência dos dados.
  3. Mecanismos de consenso do Narwhal e do Bullshark: O Sui usa o Narwhal e o Bullshark como seus mecanismos de consenso. O Narwhal é responsável pela ordenação e validação das transações, mantendo um pool de transações locais, classificando as transações com base em relações causais e transmitindo-as. O Bullshark, ao receber a lista de transações ordenadas do Narwhal, vota na lista usando o consenso BFT (Byzantine Fault Tolerance) para garantir que todos os nós concordem com a ordem das transações.
  4. Sui Move: o Sui amplia a linguagem Move adicionando novos recursos, como suporte a NFTs, gerenciamento de ativos e armazenamento de dados.
  5. Estrutura Sui: O Sui fornece uma estrutura completa para ajudar os desenvolvedores a criar e implantar aplicativos rapidamente, incluindo ferramentas e bibliotecas como o Sui Wallet, o Sui SDK e o Sui CLI.

A arquitetura do Sui permite que ele processe grandes volumes de transações simultâneas, mantendo alta velocidade, baixas taxas e segurança. A linguagem Move e a estrutura do Sui também oferecem aos desenvolvedores ferramentas poderosas para criar aplicativos seguros, dimensionáveis e fáceis de usar.

2.2 Consenso

O blockchain da Sui usa um mecanismo de consenso chamado Mysticeti, um consenso BFT (Byzantine Fault Tolerant) projetado para baixa latência e alta taxa de transferência.

O Mysticeti permite que vários validadores proponham blocos em paralelo, utilizando totalmente a largura de banda da rede e oferecendo resistência à censura. Além disso, o protocolo requer apenas três rodadas de mensagens para finalizar um bloco do DAG (Directed Acyclic Graph, gráfico acíclico dirigido), correspondendo ao mínimo teórico, assim como o pBFT.

As regras de envio permitem a votação paralela e a certificação do líder do bloco, reduzindo ainda mais a latência mediana e final. As regras de envio também toleram líderes indisponíveis sem aumentar significativamente a latência.

A Mysticeti estava sendo executada na rede de teste há três meses antes do lançamento da rede principal da Sui, apresentando resultados significativos, como uma redução de 80% na latência. Agora, a rede Sui pode processar dezenas de milhares de transações por segundo, com latência de ponta a ponta bem abaixo de um segundo.

O blockchain do Sui também emprega um tipo específico de consenso de Prova de Participação (PoS) chamado Prova de Participação Delegada (DPoS). Quando ocorre uma transação envolvendo objetos compartilhados (denominadas transações complexas), a Sui usa os mecanismos de consenso Narwhal e Bullshark mencionados anteriormente para ordenar as transações. Em comparação com outros mecanismos de consenso BFT, as vantagens e desvantagens do Sui podem ser resumidas em seis pontos:

Vantagens:

  1. Baixa latência e alta taxa de transferência: o protocolo Mysticeti reduz significativamente a latência do consenso e aumenta o rendimento da rede por meio de propostas de blocos paralelos e fluxo de mensagens otimizado, permitindo que o Sui processe dezenas de milhares de transações por segundo com latência de ponta a ponta bem abaixo de um segundo.
  2. Resistência à censura: O protocolo Mysticeti permite que vários validadores proponham blocos em paralelo, melhorando a resistência da rede à censura.
  3. Tolerância a falhas do líder: as regras de envio toleram líderes indisponíveis sem aumentar significativamente a latência, elegendo automaticamente um novo líder para assumir o controle quando o nó líder falhar.

Desvantagens:

  1. Complexidade: O projeto do protocolo Mysticeti é relativamente complexo e requer uma compreensão técnica mais profunda para entender completamente seus mecanismos operacionais.
  2. Segurança: Embora o protocolo Mysticeti tenha tido um bom desempenho na rede de testes, sua segurança ainda precisa ser validada em aplicativos do mundo real.
  3. Escalabilidade: a escalabilidade do protocolo Mysticeti precisa de mais observações para garantir que ele possa se adaptar ao crescimento futuro do tamanho da rede e do volume de transações.

2.3 Contas abstratas

O modelo de conta abstrata da Sui (Account Abstraction) é um mecanismo que permite aos usuários gerenciar suas contas e transações de forma mais simples e segura, abstraindo a lógica da conta e da transação do protocolo de blockchain subjacente, alcançando um nível mais alto de gerenciamento de contas e processamento de transações.

No modelo de conta abstrata do Sui, as contas não são mais simples pares de chaves públicas e privadas, mas objetos com atributos e comportamentos mais ricos. Cada conta tem um identificador exclusivo, chamado de ID da conta, que está associado ao par de chaves públicas e privadas da conta.

O modelo de conta abstrato da Sui inclui os seguintes componentes principais:

  • Objeto da conta: A unidade fundamental das contas no Sui. Cada objeto de conta tem um ID de conta exclusivo e contém os atributos e comportamentos da conta.
  • Dados da conta: o componente principal do objeto de conta, que contém informações básicas da conta, como ID da conta e par de chaves público-privadas.
  • Contexto da transação: A unidade básica de transações no Sui, contendo informações relacionadas à transação, como ID da transação, ID da conta e dados da transação.
  • Lógica da conta: o conjunto de comportamentos e regras da conta no Sui, que define como as contas lidam com as transações e gerenciam seu estado.

O processo de tratamento de transações no modelo de conta abstrata da Sui envolve as seguintes etapas:

  1. Criação de transações: Os usuários criam uma transação e a enviam para a rede Sui.
  2. Validação de transações: A rede Sui valida a validade e a integridade da transação.
  3. Pesquisa de contas: A rede Sui encontra o objeto de conta correspondente com base no ID da conta na transação.
  4. Execução da lógica da conta: A rede Sui executa a lógica da conta para processar a transação e atualizar o estado da conta.
  5. Confirmação de transação: A rede Sui confirma o resultado da transação e o grava no blockchain.

Em termos simples, o modelo de conta abstrata da Sui é um mecanismo inovador que simplifica o gerenciamento de contas e o processamento de transações, tornando os aplicativos mais semelhantes a aplicativos.

2.4 Jogos

Para que uma blockchain se destaque, ela deve primeiro construir uma base sólida. Eu me referi ao ecossistema da Move como um experimento ousado anteriormente por dois motivos principais.

Em primeiro lugar, em uma era em que o conceito de modularização está se difundindo, os ecossistemas nativos do Move (especificamente os gêmeos do Move) representam a última tentativa de soluções de Camada 1, indo contra a tendência atual.

No entanto, o recente surgimento de várias cadeias heterogêneas pode estar provando que a modularização não é a única resposta.

Em segundo lugar, reconstruir uma blockchain usando uma nova linguagem de programação é semelhante a tentar criar um novo sistema operacional para desafiar o iOS e o Android no mercado atual de smartphones – um caminho inevitavelmente repleto de desafios.

O fato de o ecossistema Move brilhar como Solana nos próximos anos depende muito da direção que ele escolher. A resposta da Sui a esse desafio são os jogos.

Os jogos são uma das principais portas de entrada para a Web3, mas a maioria das cadeias de blocos não oferece um bom suporte para jogos. Isso ocorre porque a tecnologia blockchain foi originalmente projetada para aplicativos financeiros, e sua arquitetura descentralizada tem inerentemente um desempenho inferior, o que a torna inadequada para jogos.

A Sui, no entanto, é diferente. Seu modelo é adequado tanto para aplicativos DeFi quanto para aplicativos não financeiros, inclusive jogos. Como mencionado anteriormente, no Sui, tudo é um objeto. No Sui, os objetos podem possuir outros objetos, o que torna possível modelar hierarquias de ativos complexas típicas de jogos ou aplicativos.

Imagine jogar um jogo em que um personagem herói tem um inventário, e esse inventário contém outros ativos digitais pertencentes ao personagem. O Sui pode modelar essas hierarquias de dados de uma forma que outros blockchains não conseguem. Isso dá aos desenvolvedores a oportunidade de criar aplicativos sem ter que contornar as limitações inerentes da cadeia.

Além disso, a Sui está colaborando ativamente com os gigantes tradicionais da Web2. No ano passado, a Sui estabeleceu parcerias com três dos quatro maiores gigantes de jogos da Coreia do Sul (Netmarble, NHN e NCSoft). Este ano, a Sui fez uma parceria com a TikTok para desenvolver jogos de blockchain e projetos de SocialFi, trazendo gigantes tradicionais para o espaço da Web3.

3. Aptos

Aptos, outro blockchain de Camada 1 baseado na linguagem Move, também está comprometido com a criação de uma infraestrutura Web3 escalável e de alto desempenho. Seu projeto arquitetônico compartilha muitas semelhanças com o Sui, mas também apresenta alguns recursos exclusivos.

3.1 Arquitetura

  1. Projeto modular: O Aptos adota uma arquitetura modular que permite que os desenvolvedores desenvolvam e atualizem módulos diferentes de forma independente, aumentando a velocidade e a flexibilidade do desenvolvimento.
  2. Mecanismo de execução paralela (Block-STM): Diferentemente de outras cadeias de blocos que exigem dependências de dados pré-declaradas, o mecanismo de execução paralela da Aptos pode processar transações em paralelo sem conhecimento prévio dos locais dos dados, aumentando assim o rendimento e reduzindo a latência.
  3. Processamento de transações em pipeline: O Aptos divide o processamento de transações em vários estágios, como propagação, ordenação de metadados e armazenamento em lote, executando esses estágios em paralelo por meio de pipelining para maximizar a taxa de transferência e minimizar a latência.
  4. Linguagem de programação Move: O Aptos usa a linguagem de programação Move, concentrando-se no refinamento em vez da inovação em comparação com o Sui. Por exemplo, ele padroniza a linguagem, introduz um suporte de função mais robusto e aprimora os recursos de personalização.
  5. Sincronização de estado flexível: Permite que os nós escolham diferentes estratégias de sincronização de estado, como sincronizar o histórico completo ou apenas o estado mais recente, melhorando a flexibilidade do nó.
  6. Mecanismo de consenso do AptosBFT: O AptosBFT é um mecanismo de consenso de tolerância a falhas bizantinas usado pelo Aptos. Ele otimiza a comunicação e a sincronização entre os validadores para melhorar a taxa de transferência e reduzir a latência. Em comparação com o Sui, que pode ser visto como uma versão aprimorada do DiemBFT, o AptosBFT fez alguns avanços em termos de eficiência e recuperação de falhas, por isso será brevemente mencionado aqui.

A arquitetura do Aptos permite lidar com um grande número de transações simultâneas, mantendo alta velocidade, baixas taxas e segurança. Além disso, a linguagem Move e a estrutura Aptos oferecem aos desenvolvedores ferramentas poderosas para criar aplicativos seguros, dimensionáveis e fáceis de usar.

3.2 Block-STM

Vamos nos aprofundar na principal inovação da Aptos, o mecanismo de execução paralela Block-STM:

Princípios básicos do Block-STM:

  1. Execução sequencial predefinida: O Block-STM depende de uma sequência predefinida de transações em um bloco. Todas as transações devem ser executadas nessa ordem para garantir a consistência no estado final.
  2. Controle de simultaneidade otimista: O Block-STM executa de forma otimista as transações em paralelo, presumindo que não ocorrerão conflitos. Esse método de controle baseia-se na suposição de que os conflitos são raros, permitindo que as transações acessem e modifiquem os dados sem bloqueio. Ele supõe que a probabilidade de conflitos simultâneos é baixa, portanto, as modificações podem prosseguir, com verificações de conflitos antes do commit final.
  3. Estrutura de dados de várias versões: Para dar suporte ao controle de simultaneidade otimista, o Block-STM usa uma estrutura de dados com várias versões para armazenar dados. Cada operação de gravação cria uma nova versão de dados, enquanto as operações de leitura acessam a versão de dados correspondente.
  4. Validação e nova tentativa: Após a execução de uma transação, o Block-STM verifica se as versões dos dados lidos ainda são válidas. Se a validação falhar, indicando um conflito, a transação será marcada como inválida e reexecutada.
  5. Agendamento colaborativo: O Block-STM emprega um agendador colaborativo para coordenar as tarefas de execução e validação de vários threads, maximizando o paralelismo.

Fluxo de trabalho do Block-STM:

  1. Agrupamento de transações: Agrupar transações em um bloco e atribuí-las a diferentes threads para execução paralela.
  2. Execução otimista: Cada thread executa de forma otimista suas transações atribuídas e registra o conjunto de leitura/gravação de cada transação.
  3. Validação: Quando um thread conclui uma transação, ele verifica se as versões de dados em seu conjunto de leitura ainda são válidas.
  4. Repetir: Se a validação falhar, indicando um conflito, a transação será marcada como inválida e reexecutada.
  5. Comprometer-se: Depois que todas as transações passam pela validação, seus resultados são gravados no estado da blockchain, concluindo o commit da transação.

Vantagens do Block-STM:

  1. Alto rendimento: Ao aproveitar o controle otimista de simultaneidade e o agendamento colaborativo, o Block-STM utiliza totalmente os processadores com vários núcleos, obtendo alta taxa de transferência.
  2. Baixa latência: Como as transações podem ser executadas em paralelo, o Block-STM reduz significativamente o tempo de confirmação da transação.
  3. Segurança: Os mecanismos predefinidos de execução sequencial e validação do Block-STM garantem a consistência e a segurança no estado final.

Em resumo, o Block-STM é um mecanismo eficiente de execução de transações paralelas que combina controle de simultaneidade otimista, estruturas de dados de várias versões e programação colaborativa para maximizar o rendimento do blockchain e, ao mesmo tempo, garantir a segurança e a correção.

3.3 Abstração de contas

Ao contrário da abordagem mais direta do Sui para a abstração de contas, o Aptos suporta uma dimensão de abstração mais limitada e não tem padrões predefinidos específicos. Seus recursos de abstração de contas se manifestam principalmente nas seguintes áreas:

  1. Gerenciamento modular de contas: Usa módulos Move para definir e gerenciar contas, permitindo que os desenvolvedores criem módulos personalizados para diferentes tipos de contas e funcionalidades.
  2. Gerenciamento flexível de chaves: Permite que os usuários usem chaves diferentes para operações de conta diferentes, como usar uma chave para assinatura de transações e outra para gerenciamento de contas.
  3. Verificação de transação programável: Os desenvolvedores podem definir a lógica de verificação de transações personalizadas nos módulos Move, como assinatura múltipla ou limites, para atender a diferentes cenários de aplicativos.

3.4 Parceria com a Microsoft

Em comparação com a Sui, que se concentra mais no desenvolvimento de jogos, a Aptos não tem uma meta de desenvolvimento específica. Seu slogan é ser a blockchain mais adequada para a produção.

Um aspecto notável é a colaboração contínua da Aptos com a Microsoft, com o objetivo de integrar a tecnologia de IA da Microsoft ao blockchain. Seu primeiro produto colaborativo, o Aptos Assistant, um assistente de IA generativo construído na rede Aptos, já está disponível no site oficial. Outros produtos de IA serão anunciados nos próximos meses.

4. O ecossistema da Move

Embora a Sui tenha tido um bom desempenho recentemente, o ecossistema da Move ainda precisa de tempo para amadurecer em comparação com as cadeias baseadas em EVM, Solana, Ton e outras cadeias heterogêneas. Apesar de a Sui e a Aptos estarem no centro das atenções e fazerem avanços tecnológicos, a escala geral e a atividade do ecossistema Move ainda não estão no mesmo nível de outros ecossistemas maduros.

O número de desenvolvedores, os tipos de aplicativos e a base de usuários ainda precisam de tempo para crescer. Em termos de colaborações e operações externas, tanto a Sui quanto a Aptos exibem uma forte mentalidade da Web2, sem um pouco da essência da Web3, o que manteve seus projetos relativamente discretos no setor.

Entretanto, considerando o potencial do ecossistema Move, ele é muito promissor. Alguns desenvolvedores já estão reconhecendo o valor futuro do Move. Conforme mencionado no prefácio, já existem projetos que incorporam o Move às soluções da Layer 2 da Ethereum. No futuro, o ecossistema da Move poderá se destacar no espaço da camada 2 da ETH. O foco atual está em como promover ainda mais o ecossistema da Move.