毕设16 - Decentraland
刚跟老师打完电话,数字身份 + TEE 也还是太重复了,都做完了ε=ε=ε=(#>д<)ノ
说可以找一个实际背景,他推荐了 Decentraland 和 NVIDIA Omniverse。
都先看一看吧……区块链到元宇宙……一个比一个偏……
很头疼…… NVIDIA Omniverse 不是元宇宙世界,而是AI技术,用于即时生成一些物理反馈(刚体运动、光线追踪等)可以用于元宇宙实现更真实的交互。所以数字身份跟他没什么关系。
Decentraland 组成部分
1. Catalyst 网络
Catalyst 是 Decentraland 的分布式节点网络,提供核心服务,例如内容访问、P2P 通信、区块链数据查询等。每个 Catalyst 节点包括以下子系统:
1.1 Content Service(内容服务)
- 功能:
- 提供访问分布式文件系统的接口。
- 支持查询内容索引、检索文件、部署实体和下载定期快照。
- 技术:
- 使用 IPFS 或类似的分布式存储技术。
- 确保内容的可用性和防篡改性。
- 应用场景:
- 玩家访问场景或资产时,客户端通过 Content Service 加载所需内容。
1.2 Lambda Service
- 功能:
- 提供一组实用的 API,供客户端快速获取常用数据(例如用户配置文件、资产状态)。
- 在需要验证资产所有权时,通过 The Graph 查询区块链状态。
- 特点:
- 提供更快的查询响应。
- 减轻客户端对区块链直接查询的负担。
1.3 Comms Service(通信服务)
- 功能:
- 使用 Archipelago 服务将玩家根据地理位置分组到“动态岛屿”中,优化通信效率。
- 提供文本和语音通信的 P2P 通信能力。
- 技术:
- 支持 WebRTC 作为底层传输协议。
- 动态平衡岛屿中的用户数量,并根据用户的移动重新分配。
1.4 Backend-for-Frontend Service(BFF 服务)
- 功能:
- 提供适配客户端的后端服务,简化开发和维护。
- 管理 P2P 信令,确保通信功能的高效实现。
- 作用:
- 加速新功能开发,同时保持现有 API 的兼容性。
2. World Explorer(世界探索器)
World Explorer 是 Decentraland 的客户端应用,允许用户进入虚拟世界并探索场景。其子系统包括:
2.1 Content System(内容系统)
- 功能:
- 客户端从 Catalyst 网络的 Content Service 下载和缓存内容。
- 支持更新玩家的个人资料或其他资产。
- 特点:
- 实现内容的高效加载与更新。
2.2 Game Engine(游戏引擎)
- 子系统:
- Rendering System(渲染系统):渲染 3D 场景,生成虚拟世界的视觉效果。
- State System(状态系统):同步场景中实体和组件的状态。
- Input System(输入系统):处理用户输入(如键盘、鼠标、控制器),并将事件分发到订阅的组件。
- 技术:
- 使用 Unity 或自定义引擎处理 3D 渲染和交互。
2.3 Scene Runtime(场景运行时)
- 功能:
- 在沙盒环境中运行用户开发的场景。
- 提供模块化库,允许访问需要授权的方法。
- 特点:
- 确保场景之间相互隔离,避免安全敏感数据泄露。
2.4 Comms System(通信系统)
- 功能:
- 提供客户端侧的通信功能,支持文字、语音聊天及玩家之间的消息交换。
- 连接到 Catalyst 网络中的 Archipelago 服务。
- 特点:
- 支持多种通信协议,提升聊天和交互体验。
3. CLI(命令行界面)
CLI 是开发者使用的工具,用于场景开发和部署。
- 功能:
- 创建项目模板。
- 本地运行和可视化场景。
- 测试和部署场景到 Catalyst 网络。
- 特点:
- 提供快速开发的便捷工具链。
- 集成 IPFS 和区块链的无缝操作。
4. 其他关键组件
4.1 Catalyst Client
- 功能:
- 用于与 Catalyst 服务交互。
- 支持数据查询和实体部署。
4.2 Peer Library
- 功能:
- 管理 WebSocket 连接,用于 WebRTC 信令。
- 支持实时聊天、玩家位置同步等功能。
4.3 Kernel
- 模块:
- Scene Loader System:根据玩家位置动态加载和卸载场景。
- Avatar Scene:处理虚拟角色渲染。
- Voice Chat Module:通过 WebAudio 实现高质量语音聊天。
4.4 Synapse 和 LiveKit
- Synapse:实现基于 Matrix 协议的去中心化通信,用于私人聊天和好友管理。
- LiveKit:通过选择性转发单元(SFU)优化实时通信,提升大型场景中的性能和质量。
4.5 NATS
- 功能:
- 消息代理,用于服务间的通信。
- 在通信架构中连接 BFF、Archipelago 和 LiveKit。
Decentraland 的架构通过 Catalyst 网络 提供去中心化服务,World Explorer 实现用户体验,并通过 CLI 支持内容开发者的高效生产。所有组件基于模块化设计,确保性能、扩展性和灵活性。
区块链在其中的地位
- 虚拟资产与交易:Decentraland 中的资产(LAND、MANA、NFT等)均是以太坊上的加密货币或代币。Decentraland 中的经济体系、各种交易,都是发送给区块链执行的。
- 去中心化治理(DAO):去中心化自治组织,这也是很典型的基于区块链的应用。用户通过在区块链上投票,决定平台的发展方向。