# 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](/contributor/contributor-pt/arquitetura/catalyst.md) 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](/contributor/contributor-pt/arquitetura/services.md) 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](/contributor/contributor-pt/arquitetura/infrastructure.md) 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**](/contributor/contributor-pt/arquitetura/services.md) - Especificações detalhadas de serviços e integrações
* [**Catalyst Network**](/contributor/contributor-pt/arquitetura/catalyst.md) - Entrega e deploy de conteúdo
* [**Infraestrutura**](/contributor/contributor-pt/arquitetura/infrastructure.md) - Sistemas de suporte e serviços de terceiros

## Recursos adicionais

* [Referência de API](https://github.com/decentraland/docs/blob/main/apis/README.md) - Documentação completa da API
* [Guias para contribuintes](/contributor/contributor-pt/guias-do-contribuidor/contributor-guides.md) - Padrões de desenvolvimento
* [Organização no GitHub](https://github.com/decentraland) - Repositórios de código fonte


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.decentraland.org/contributor/contributor-pt/arquitetura/architecture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
