☰
Quip Protocol矿工注册系统详解:让GPU与QPU硬件信息首次完整上链
2026/10/7 10:39:16 网站建设 项目流程

Quip Protocol矿工注册系统详解:让GPU与QPU硬件信息首次完整上链

【免费下载链接】quip-protocol-rsA rust implementation of the Quip Protocol forked from Substrate项目地址: https://gitcode.com/gh_mirrors/qu/quip-protocol-rs

📡 在 Quip Protocol 区块链上,矿工注册系统(MinerRegistry 模块)首次将矿机的操作系统、CPU、GPU 以及量子计算处理器(QPU)等硬件信息完整地上链存证。这套注册系统基于 Substrate 的 FRAME 架构实现,位于 pallets/miner-registry/,让网络中每一台矿机的"体质"都变得公开、可验证、可审计。

为什么矿机硬件信息上链很重要

在 Quip Protocol 这类混合计算网络中,挖矿不再只是拼算力,而是CPU、GPU、QPU 等多种算力共同参与:

  • 传统 PoW 矿工关心 GPU 型号和显存;
  • 量子计算任务则关心矿机接入了哪一家的 QPU(如 D-Wave、IBM、IonQ、Pasqal);
  • 网络运营方需要一份不可篡改的算力资源清单,用于难度调整、任务分发和生态统计。

过去,矿机的硬件信息只存在于矿工本地的 REST 接口中,链上无从查证。如今,这些信息通过set_descriptor交易被类型化、有边界、可验证地写入链上存储——这就是矿工注册系统的核心价值。

一分钟看懂矿工注册的 3 个操作

整个注册系统只有 3 个核心交易,新手也能快速上手(实现在 pallets/miner-registry/src/lib.rs):

操作作用关键点
set_descriptor登记/更新矿机档案校验通过后按档案大小收取押金
clear_descriptor注销矿机档案退还押金,清理参与记录
participate申报参与某个 qblock每个 qblock 每账户仅可申报一次

💡 设计细节:participate会检查矿机是否已注册、目标 qblock 是否为当前候选块,并拒绝重复申报——从源头保证参与数据的真实性。

V2 描述符:硬件信息完整上链的钥匙

V2 方案是本次升级的亮点,完整设计文档见 docs/miner-registry-system-info-v2-spec.md。一个 V2 描述符(descriptor)包含:

🖥️ 基础身份信息

  • 节点 ID、节点名称、公网主机与端口
  • 最多 8 个 RPC 端点
  • 自动挖矿开关与日志级别

⛏️ 矿工清单(最多 16 台)

每台矿工声明类型与设备信息,系统内置 8 种算力类型:

类型说明
Cpu/Gpu经典 CPU / GPU 挖矿
MetalApple Silicon 专用 GPU 后端
QpuDwave/QpuIbm/QpuIonq/QpuPasqal四大量子计算处理器后端
Asic专用矿机

🔍 硬件调查(system_info)

  • 操作系统:系统族(Linux/Darwin/Windows)、内核版本、机器架构
  • CPU:逻辑/物理核心数、品牌型号(如 "AMD EPYC 7763")、指令集架构
  • 内存总量(MB)
  • GPU 列表(最多 16 张):序号、厂商、型号(如 "NVIDIA H100 80GB HBM3")、显存大小、利用率

🐳 运行时环境(runtime)

  • Python 版本、Quip 节点版本、协议版本
  • 是否运行在 Docker 中及具体镜像标识

为什么选择类型化字段而非 JSON 大杂烩?

开发者实测了对比数据:一台 8×H100 的服务器,类型化 SCALE 编码仅787 字节,而透明 JSON 方案需要1462 字节——类型化方案体积小约 50%,且无需客户端额外解析器,polkadot.js 可直接解码。每个变长字段都有长度上限(如 GPU 型号 96 字节),从解码层杜绝超长数据攻击。

上链前的三重校验:安全边界一览

注册系统采用"紧凑、有界、类型化"的设计哲学,所有字段在写入链上存储前都要过校验关卡:

  1. 必填字段非空:节点 ID、操作系统系统族、CPU 品牌/架构、GPU 厂商/型号等关键字段为空即拒绝交易;
  2. 取值范围校验:GPU 利用率必须 ≤ 100%、端口必须 > 0;
  3. 长度边界:所有变长字符串由BoundedVec在解码时强制截断校验,最坏情况整个 V2 描述符存储上限约 2.3 KB,完全可控。

押金机制也随档案大小线性缩放:基础押金 + 每字节单价,V2 硬件信息多出的部分会精确计入押金,多退少补,注销时全额退还。

平滑升级:V1 到 V2 的存储迁移

由于新增字段改变了链上存储结构,升级采用了一个优雅的"自愈式"迁移策略(实现见 pallets/miner-registry/src/migrations.rs):

  • 矿工节点每次启动都会自动重新提交自己的描述符;
  • 迁移时清空旧记录并逐一退还押金,矿工重启后数据自动重新上链;
  • V1 交易编码保持字节级不变(V1 固定编码为字节0x00),飞行中的已签名交易依然有效——这是典型的向后兼容式扩展。

这套迁移方案还配有 try-runtime 前后校验,确保升级后存储状态符合预期。

链上数据如何读取:参与统计 API

除了描述符本身,系统还维护了按 qblock 维度组织的参与索引,外部应用可通过 Runtime API 查询(实现见 runtime/src/apis.rs):

  • participants_by_qblock:分页查询某个 qblock 的全体参与者及其使用的算力类型,支持游标翻页(单次最多 1000 条);
  • participant_count_by_qblock:O(1) 获取参与人数。

这意味着生态工具可以直接回答"这一轮量子块有多少 GPU 矿工、多少 QPU 矿工参与"这类问题,为难度收敛和任务分发提供真实数据支撑。

关键文件导航

想了解去看这里
注册系统核心逻辑与全部交易pallets/miner-registry/src/lib.rs
V2 硬件上链设计文档docs/miner-registry-system-info-v2-spec.md
V1→V2 存储迁移实现pallets/miner-registry/src/migrations.rs
运行时参数配置(上限、押金)runtime/src/configs/mod.rs
单元测试与边界校验用例pallets/miner-registry/src/tests.rs

总结:硬件透明度是量子挖矿的基石

Quip Protocol 的矿工注册系统用不到三个交易、一套有界类型,就完成了矿机硬件信息的完整上链:从 CPU/GPU 到 QPU,从操作系统到 Docker 镜像,全部公开可查。

  • ✅对矿工:一次登记,全网络可验证你的算力身份;
  • ✅对运营方:真实、不可篡改的算力资源图谱;
  • ✅对生态:标准化的链上 API,让难度调整与任务分发有据可依。

随着 QPU 硬件类型持续扩展(Apple Metal 后端已是最新补充),这套"增量式 schema 演进"的注册系统,也为未来接入更多新型算力预留了充足空间。

【免费下载链接】quip-protocol-rsA rust implementation of the Quip Protocol forked from Substrate项目地址: https://gitcode.com/gh_mirrors/qu/quip-protocol-rs

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询