Visão geral
Decentraland é uma plataforma de mundo virtual descentralizado construída sobre uma arquitetura híbrida que combina propriedade em blockchain, entrega de conteúdo descentralizada e serviços centralizados para uma experiência do usuário aprimorada.
Princípios Arquiteturais
Descentralização Onde Importa
Propriedade - LAND, wearables e names são NFTs no Ethereum
Governança - DAO controla smart contracts críticos e o tesouro
Conteúdo - Distribuído entre nós Catalyst
Identidade - Autenticação baseada em wallet (sem senhas)
Centralização para Desempenho
Serviços em tempo real - Comunicações WebSocket, chat de voz
Descoberta - Busca, eventos, conteúdo em destaque
Recursos sociais - Amigos, comunidades, notificações
Otimização - Processamento de assets, geração de imagens
Camadas do Sistema
Clients
Os jogadores interagem por meio de vários clients:
Unity Explorer - Client principal para desktop (Windows, Mac, Linux)
Web Explorer - Client baseado em navegador
CLI - Ferramenta de desenvolvimento para criação e deployment de scenes
Clients da Comunidade (mobile, VR, etc) - Implementações alternativas para o client de referência usando diferentes tecnologias de rendering.
Todos os clients se autenticam via wallets cripto e seguem os mesmos protocolos.
Descoberta (Realm Provider)
Ponto de entrada único que fornece aos clients uma descrição do realm:
Nós Catalyst disponíveis (localização, capacidade, saúde)
Endpoints de serviços de backend
Permite seleção inteligente de servidor com base na geografia e na carga.
Conteúdo Descentralizado (Catalyst Network)
Rede sem permissão de nós Catalyst que armazenam e servem:
Definições de scenes e assets
Perfis de avatar e wearables
Cada node valida e armazena o conteúdo de forma independente. Os nodes sincronizam deploys, mas operam de forma autônoma. Veja Catalyst Network para mais detalhes.
Servidores Centralizados de Recursos
Microservices de backend fornecem funcionalidades aprimoradas:
Descoberta de serviços - Seleção de realm e monitoramento de saúde
Comunicações - Clustering de WebSocket, controle de acesso a voz/vídeo
Recursos de conteúdo - Worlds, eventos, lugares, dados do atlas
Recursos sociais - Amigos, comunidades, notificações
Recursos da plataforma - Conquistas, recompensas, créditos virtuais
Processamento de assets - Otimização, miniaturas, traduções
Veja Serviços de Backend para documentação completa dos serviços.
Infraestrutura
Sistemas de suporte e serviços de terceiros:
Message Broker - NATS para comunicação entre serviços
Media Server - LiveKit para voz e vídeo
Indexadores de Blockchain - Consultas rápidas para dados de NFT
Serviço de Email - SendGrid para notificações
Veja Infraestrutura para mais detalhes.
Blockchain
Smart contracts no Ethereum e Polygon gerenciam:
Propriedade - LAND, wearables, names, estates
Marketplace - Trading e royalties
DAO - Governança e tesouro
Moeda - token MANA
Modelo de Segurança
Identidade e Autenticação
Assinaturas de wallet - Sem senhas, autenticação via assinaturas Ethereum
Servidor de Auth - Emite tokens JWT após a verificação da assinatura
Signed Fetch - APIs autenticam solicitações usando assinaturas de wallet
Validação de Conteúdo
Verificação de assinatura - Todos os deploys assinados pela wallet
Propriedade do pointer - Somente o owner do LAND pode fazer deploy nas coordenadas
Limites de tamanho - O tamanho do conteúdo é restrito pela contagem de parcels
Controle de Acesso
Tokens com tempo limitado - Tokens JWT e LiveKit expiram
Limitação de taxa - Limites de taxa da API por IP/user
Proteção contra DDoS - Rede Catalyst distribuída
Abordagem de Escalabilidade
Escalonamento Horizontal
Nós Catalyst - Adicionar nodes à medida que o conteúdo cresce
Serviços de backend - Microservices sem estado escalam de forma independente
Ilhas - Comunicações divididas em grupos baseados em proximidade
Otimização
Pacotes de assets - Assets otimizados para a plataforma (Unity bundles)
CDN - Assets estáticos servidos via CDN
Caching - Caching agressivo em todas as camadas
Indexadores - Dados de blockchain armazenados em cache em bancos de dados rápidos
Próximos passos
Aprofunde-se em áreas arquiteturais específicas:
Serviços de Backend - Especificações detalhadas de serviços e integrações
Catalyst Network - Entrega e deployment de conteúdo
Infraestrutura - Sistemas de suporte e serviços de terceiros
Recursos Adicionais
Referência da API - Documentação completa da API
Guias de Colaborador - Padrões de desenvolvimento
Organização no GitHub - Repositórios de código-fonte
Atualizado