Visão Geral
Decentraland é uma plataforma descentralizada de mundo virtual construída em uma arquitetura híbrida que combina propriedade em blockchain, entrega de conteúdo descentralizada e serviços centralizados para melhorar a experiência do usuário.
Princípios Arquitetônicos
Descentralização Onde Importa
Propriedade - Land, wearables e names são NFTs no Ethereum
Governança - DAO controla contratos inteligentes críticos e tesouraria
Conteúdo - Distribuído através de nós Catalyst
Identidade - Autenticação baseada em wallet (sem senhas)
Centralização para Performance
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
Clientes
Jogadores interagem através de vários clientes:
Unity Explorer - Cliente desktop primário (Windows, Mac, Linux)
Web Explorer - Cliente baseado em browser
CLI - Ferramentas de desenvolvimento para criação e deploy de scenes
Clientes da Comunidade (mobile, VR, etc) - Implementações alternativas para o cliente de referência usando tecnologias de renderização diferentes.
Todos os clients se autenticam via carteiras crypto e seguem os mesmos protocolos.
Descoberta (Realm Provider)
Ponto único de entrada que fornece aos clients uma descrição do realm:
Nós Catalyst disponíveis (localização, capacidade, saúde)
Endpoints de serviços backend
Permite seleção inteligente de servidores baseada em geografia e carga.
Conteúdo Descentralizado (Catalyst Network)
Rede permissionless de nós Catalyst que armazenam e servem:
Definições de scene e assets
Perfis de avatar e wearables
Cada nó valida e armazena conteúdo independentemente. Nós sincronizam deployments mas operam de forma autônoma. Veja Catalyst Network para detalhes.
Servidores Centralizados de Funcionalidades
Microserviços backend fornecem funcionalidade aprimorada:
Descoberta de serviço - Seleção de realm e monitoramento de saúde
Comunicações - Clusterização WebSocket, controle de acesso de voz/vídeo
Recursos de conteúdo - Worlds, events, places, atlas data
Recursos sociais - Amigos, comunidades, notificações
Recursos da plataforma - Achievements, rewards, virtual credits
Processamento de assets - Otimização, thumbnails, 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 detalhes.
Blockchain
Smart contracts no Ethereum e Polygon gerenciam:
Propriedade - LAND, wearables, names, estates
Marketplace - Trading e royalties
DAO - Governance e tesouraria
Moeda - Token MANA
Modelo de Segurança
Identidade & Autenticação
Assinaturas de wallet - Sem senhas, autenticação via assinaturas Ethereum
Auth Server - Emite tokens JWT após verificação de assinatura
Signed Fetch - APIs autenticam requests usando assinaturas de wallet
Validação de Conteúdo
Verificação de assinatura - Todos os deployments assinados pela wallet
Propriedade de pointer - Somente o owner do LAND pode deployar nas coordenadas
Limites de tamanho - Tamanho do conteúdo restrito pelo número de parcels
Controle de Acesso
Tokens com tempo limitado - JWT e tokens LiveKit expiram
Limitação de taxa - Limites de taxa de API por IP/usuário
Proteção contra DDoS - Rede Catalyst distribuída
Abordagem de Escalabilidade
Escalonamento Horizontal
Nós Catalyst - Adicionar nós conforme o conteúdo cresce
Serviços backend - Microserviços stateless escalam independentemente
Ilhas - Comunicações divididas em grupos baseados em proximidade
Otimização
Bundles de assets - Assets otimizados para a plataforma (Unity bundles)
CDN - Assets estáticos servidos via CDN
Caching - Cache agressivo em todas as camadas
Indexadores - Dados da blockchain em cache em bancos rápidos
Próximos Passos
Aprofunde-se em áreas arquitetônicas específicas:
Serviços de Backend - Especificações detalhadas de serviços e integrações
Catalyst Network - Entrega e deploy de conteúdo
Infraestrutura - Sistemas de suporte e serviços de terceiros
Recursos adicionais
Referência de API - Documentação completa da API
Guias para contribuintes - Padrões de desenvolvimento
Organização no GitHub - Repositórios de código fonte
Atualizado