目前,大多数 DePIN 项目还是依赖传统的 Web2 架构,并以区块链通证奖励的方式来激励网络贡献者。这促使我们深入探讨 DePIN 模块化架构的巨大潜力。DePIN 应用的开发是一项复杂的过程,需要构建一个由可组合且模块化的多重技术层组成的复杂技术栈。
去中心化物理基础设施网络(DePINs)通过整合智能设备与区块链技术,正在彻底变革我们的基础设施管理方式。然而,DePINs的标准化架构尚未形成。目前,大部分 DePIN 项目还依赖传统的 Web2 架构,通过区块链通证奖励激励网络贡献者。尽管如此,一些 DePIN 项目的核心逻辑往往还是中心化的,尤其是依赖于云基础设施,这限制了它们实现真正去中心化的潜力。
以云为中心的物联网参考架构
为了给 DePIN 生态系统设计一个真正去中心化的基础设施,我们回顾了过去十年中心化云和物联网基础设施的发展演变。我们观察到,新旧系统均展示了模块化设计的优势——能够灵活适应各种技术需求。典型的物联网架构包括以下几个组件:
-
智能设备 (Devices):通过安装云服务供应商提供的设备 SDK、操作系统和设备凭证,各种复杂程度不同的智能设备能够连接至云端。
-
连接管理服务 (Connectivity Management Services):该服务处理各种通信协议之间的复杂性,确保智能设备与云服务之间能够进行安全的双向通信。
-
身份和访问管理服务 (Identity and Access Management Services):该服务管理智能设备的身份生命周期,包括创建、入网、监控、报告、维护以及离网,并处理智能设备及其所有者之间的关系。窗体顶端
-
设备管理服务 (Device Management Services):该服务负责智能设备的全生命周期管理,包括设备的配置、部署、维护和退役。
-
数据存储服务 (Data Storage Services):数据存储服务负责管理从智能设备收集的数据的短期和长期存储。
-
数据处理服务 (Data Processing Services):数据处理服务根据预设规则处理从智能设备收集的数据,从而提供对物理世界的深入洞察。
尽管云计算基础设施本质上高度中心化,但其提供的多种理想组件非常适合用来构建模块化的 DePIN 基础设施。
DePIN 的模块化架构
现在,让我们探讨一下 DePIN 的模块化架构。开发一个 DePIN 应用需要构建一个由可组合且模块化的多层技术栈,具体架构如下图所示:
1. 硬件抽象层(Hardware Abstraction Layer)
硬件抽象层(HAL)旨在简化各种规模智能设备的复杂性和多样性,并确保它们能够安全地连接到中心化或去中心化的连接层(CL)。一种通用的、轻量级的嵌入式 SDK 非常受欢迎,它支持各种流行的微控制器系列((例如ESP32、Arduino、STM32)、单板计算机(例如Raspberry Pi、ODROID、Rock Pi)以及智能手机(如Android、iOS)。
2. 连接层(Connectivity Layer)
连接层(CL)可以是中心化服务,如基于云的物联网网关,也可以是去中心化网络。这一层通常支持多种通信协议(如,HTTP(s)、WebSocket、MQTT、CoAP),负责将从智能设备收集的数据可靠地传输至排序层(SL)。
3. 排序层(Sequencer Layer)
排序层(SL)可以是中心化服务,也可以是去中心化网络,它在数据被存储到数据可用性层(DAL)之前对来自智能设备的数据包进行排序。SL 还负责协调 DAL 与链下计算层(OCCL)之间的交互,从 DAL 检索数据集并在 OCCL 中处理这些数据以生成相应的有效性证明。然后,SL 中的节点可能会将这些结果和证明发送到区块链层(BL)。
4. 数据可用性层(Data Availability Layer)
数据可用性层(DAL)可以是中心化服务,也可以是去中心化网络,它根据 DePIN 项目的设定在一定期限内暂时存储数据。待这一期限结束后,数据可能会被立即删除或转移到长期存储层(LTSL)。此外,根据项目的配置, DAL 还会定期提交数据集(如,计算哈希值)到区块链层(BL),以确保数据的完整性。
5. 长期存储层(Long-Term Storage Layer)
长期存储层(LTSL)可以是中心化服务,也可以是去中心化网络,专门设计用于长期数据保存,以满足 DePIN 项目的特定需求。存储于 LTSL 中的数据可以通过存储 API 按照预定义的访问策略进行访问,并能将数据用于多种用途,例如与第三方共享。
6. 链下计算层(Off-Chain Computing Layer)
链下计算层(OCCL)可以是中心化服务或去中心化计算资源池,它在数据可用性层(DAL)存储的数据上执行项目特定的业务逻辑,并生成有效性证明(例如零知识证明、基于TEE的认证)。这一设计确保了在特定输入上进行的计算的准确性,使计算结果被信任并公开验证。
7. 区块链层(Blockchain Layer)
区块链层(BL)是 DePIN 应用的信任基石,管理参与者身份、交易、设备数据和状态等功能。它还承担了诸如验证链下计算、协调机器网络、向 DePIN 矿工分发通证奖励以及链上治理等重要任务。
8. 身份层(Identity Layer)
身份层(IL)负责管理 DePIN 领域中所有相关实体的链上和链下身份,包括智能设备、用户和服务器等。链上身份(如,外部拥有账户 EOA 或 AA 钱包)允许用户管理 DePIN 资产;而链下身份(如,DID 或 X.509 证书)则为机器之间的安全交互提供支持。
9. 治理层(Governance Layer)
治理层(GL)可以在链上、链下或采用混合方式运行,主要负责定义和执行 DePIN 技术栈中各层的策略和程序。GL 使通证持有者能够通过社区投票方式,对 DePIN 项目的各个方面做出治理决策,如项目资金的使用和协议的升级。
结语
上述模块化基础设施提供了一个多功能且全面的 DePIN 构建框架,非常适合开发 DePIN 应用。这一通用开发架构具备高度的灵活性,允许开发者根据项目的特定需求进行定制。开发者可以根据项目的规模和目标选择使用部分或多个模块层,以增强应用的功能和性能。
在后续的文章中,我们将深入探讨每个模块层的功能和设计考量,详述如何在实际应用中优化和实施这些模块层,帮助开发者和工程师做出符合他们项目目标和技术需求的决策。
敬请关注我们对每个模块层的详细分析,以及成功部署 DePIN 系统的实用建议。