毕设16 - Decentraland

| 笔记 | 2338 | 6分钟 | 毕设区块链

刚跟老师打完电话,数字身份 + 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 支持内容开发者的高效生产。所有组件基于模块化设计,确保性能、扩展性和灵活性。

区块链在其中的地位

  1. 虚拟资产与交易:Decentraland 中的资产(LAND、MANA、NFT等)均是以太坊上的加密货币或代币。Decentraland 中的经济体系、各种交易,都是发送给区块链执行的。
  2. 去中心化治理(DAO):去中心化自治组织,这也是很典型的基于区块链的应用。用户通过在区块链上投票,决定平台的发展方向。