# Resumen

Decentraland es una plataforma de mundo virtual descentralizada construida sobre una arquitectura híbrida que combina la propiedad en blockchain, la entrega de contenido descentralizada y servicios centralizados para una mejor experiencia de usuario.

## Principios arquitectónicos

### Descentralización donde importa

* **Propiedad** - LAND, wearables y NAMEs son NFTs en Ethereum
* **Gobernanza** - DAO controla contratos inteligentes críticos y la tesorería
* **Contenido** - Distribuido a través de nodos Catalyst
* **Identidad** - Autenticación basada en wallet (sin contraseñas)

### Centralización para rendimiento

* **Servicios en tiempo real** - Comunicaciones WebSocket, chat de voz
* **Descubrimiento** - Búsqueda, eventos, contenido destacado
* **Funciones sociales** - Amigos, comunidades, notificaciones
* **Optimización** - Procesamiento de assets, generación de imágenes

## Capas del sistema

### Clientes

Los jugadores interactúan a través de varios clientes:

* **Unity Explorer** - Cliente de escritorio principal (Windows, Mac, Linux)
* **Web Explorer** - Cliente basado en navegador
* **CLI** - Herramientas para desarrolladores para la creación y despliegue de escenas
* **Clientes de la comunidad** (móvil, VR, etc) - Implementaciones alternativas para el cliente de referencia usando diferentes tecnologías de renderizado.

Todos los clientes se autentican vía wallets criptográficas y siguen los mismos protocolos.

### Descubrimiento (Realm Provider)

Punto de entrada único que proporciona a los clientes una descripción del realm:

* Nodos Catalyst disponibles (ubicación, capacidad, estado)
* Endpoints de servicios backend

Permite la selección inteligente de servidores basada en geografía y carga.

### Contenido descentralizado (Catalyst Network)

Red permissionless de nodos Catalyst que almacenan y sirven:

* Definiciones de escena y assets
* Perfiles de avatar y wearables

Cada nodo valida y almacena el contenido de forma independiente. Los nodos sincronizan los despliegues pero operan de forma autónoma. Ver [Catalyst Network](/contributor/contributor-es/arquitectura/catalyst.md) para más detalles.

### Servidores de funciones centralizados

Microservicios backend proporcionan funcionalidad mejorada:

* **Descubrimiento de servicios** - Selección de realm y monitoreo de salud
* **Comunicaciones** - Clustering de WebSocket, control de acceso de voz/video
* **Características de contenido** - Worlds, eventos, lugares, datos de atlas
* **Funciones sociales** - Amigos, comunidades, notificaciones
* **Características de la plataforma** - Logros, recompensas, créditos virtuales
* **Procesamiento de assets** - Optimización, miniaturas, traducciones

Ver [Servicios backend](/contributor/contributor-es/arquitectura/services.md) para documentación completa del servicio.

### Infraestructura

Sistemas de soporte y servicios de terceros:

* **Message Broker** - NATS para comunicación entre servicios
* **Media Server** - LiveKit para voz y video
* **Indexadores de blockchain** - Consultas rápidas para datos de NFT
* **Servicio de email** - SendGrid para notificaciones

Ver [Infraestructura](/contributor/contributor-es/arquitectura/infrastructure.md) para más detalles.

### Blockchain

Contratos inteligentes en Ethereum y Polygon gestionan:

* **Propiedad** - LAND, wearables, NAMEs, estates
* **Marketplace** - Comercio y regalías
* **DAO** - Gobernanza y tesorería
* **Moneda** - Token MANA

## Modelo de seguridad

### Identidad y autenticación

* **Firmas de wallet** - Sin contraseñas, autenticación mediante firmas de Ethereum
* **Auth Server** - Emite tokens JWT tras la verificación de la firma
* **Signed Fetch** - Las APIs autentican las solicitudes usando firmas de wallet

### Validación de contenido

* **Verificación de firmas** - Todos los despliegues firmados por wallet
* **Propiedad del puntero** - Solo el propietario del LAND puede desplegar en coordenadas
* **Límites de tamaño** - El tamaño del contenido está restringido por el recuento de parcelas

### Control de acceso

* **Tokens con tiempo limitado** - Tokens JWT y LiveKit expiran
* **Limitación de tasa** - Límites de tasa de API por IP/usuario
* **Protección DDoS** - Red distribuida de Catalyst

## Enfoque de escalabilidad

### Escalado horizontal

* **Nodos Catalyst** - Añadir nodos a medida que crece el contenido
* **Servicios backend** - Microservicios stateless escalan de forma independiente
* **Islas** - Las comunicaciones se dividen en grupos basados en proximidad

### Optimización

* **Paquetes de assets** - Assets optimizados para la plataforma (Unity bundles)
* **CDN** - Assets estáticos servidos vía CDN
* **Caché** - Caché agresiva en todas las capas
* **Indexadores** - Datos de blockchain almacenados en caché en bases de datos rápidas

## Siguientes pasos

Profundiza en áreas arquitectónicas específicas:

* [**Servicios backend**](/contributor/contributor-es/arquitectura/services.md) - Especificaciones detalladas de servicios e integraciones
* [**Catalyst Network**](/contributor/contributor-es/arquitectura/catalyst.md) - Entrega y despliegue de contenido
* [**Infraestructura**](/contributor/contributor-es/arquitectura/infrastructure.md) - Sistemas de soporte y servicios de terceros

## Recursos adicionales

* [Referencia de API](https://github.com/decentraland/docs/blob/main/apis/README.md) - Documentación completa de la API
* [Guías para contribuidores](/contributor/contributor-es/guias-para-colaboradores/contributor-guides.md) - Estándares de desarrollo
* [Organización en GitHub](https://github.com/decentraland) - Repositorios de código fuente


---

# 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-es/arquitectura/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.
