# 技术

NeuroBox 网络利用先进的密码学和分布式计算技术以保证公平性和高效性：

* **PoSV（服务价值证明）：** 基于延迟、带宽和服务质量的奖励。
* **可验证随机函数（VRF）与随机仲裁：** 防止欺诈并检测伪造流量。
* **可信执行环境（TEE）与零知识证明（ZK）：** 确保 AI 推理任务的正确性与隐私。
* **跨链结算：** 构建于高吞吐链（如 Solana）并支持多链互操作性。
* **开发者接口：** SDK、API 与边缘函数，使开发者能轻松将 NeuroBox 服务集成到其应用中。

## 1. 设计目标与原则

* 目标：通过“近链计算 + 链上摘要固化”实现可度量、可审计、可结算的真实服务（CDN/AI）；并通过 Merkle-Claim 支持大规模低成本分发。
* 主链与标准：BSC 主网；BEP-20 代币；Solidity 合约（EVM 生态）。
* 原则：最小上链、强能力、弱信任（多 Keeper 交叉校验）、参数治理（白名单 + 变更速率限制 + Timelock）、IPv6 公民化，兼容 W3bstream / ioID / DePINscan 方法论。

### 2. 总体架构（近链↔上链）

边缘节点（Worker：CDN / GPU）

└─ 容量检测 / 心跳 / 容器化执行 / TaskReport（签名）

近链服务（Near-Chain）

├─ Collector（5 分钟聚合）

├─ Auditor / Arbiter（k-of-n 重检、抽样挑战、质量评分）

├─ ReceiptBuilder（可证实的详情包 → Merkle 树）

└─ API（带签名快照，带 W3bstream 收据引用）

Keeper（白名单多实例）

└─ Snap → 签署 → 计算评分 → 生成分发根 → 提交至 BSC

链上（BSC/Solidity）

├─ EpochRegistry（epochId、merkleRoot、submittedAt 等）

├─ RewardBook（分配参数，BEP-20 释放）

└─ Claim（统一 Merkle-Claim；位图重放防护）

可观测层（衍生的 DePINscan 兼容指标）

* 纪元固定为 5 分钟；相同 epochId 的相同根可重复提交（幂等），不同根将被拒绝。
* l 多 Keeper 轮换与交叉校验，写入前读取链上以避免“重复写入/分叉”。

### 3. PoSV（服务价值证明）— 统一度量与分配

#### 3.1 设备评分（单个 Epoch）

S\_i = α·B\_i + β·L\_i^{-1} + γ·D\_i + δ·A\_i + ε·Q\_i + ζ·P\_i + κ·G\_i

B\_i：有效吞吐量（GB 或 Mbps 等效，排除自播放）

L\_i：延迟分数（P50/P95 加权）

D\_i：内容覆盖/缓存命中率

A\_i：AI 测量 = Σ（GPU·分钟 × M\_vram × M\_arch）

Q\_i：质量（推理一致性/得分；微调/训练指标；CDN 回退率）

P\_i：IPv6 权重（仅 IPv6/比例）

G\_i：可用性/可信度（SLA 遵从、挑战通过率、仲裁记录）

α..κ：链上参数白名单，含上下限与变更速率限制（Timelock 生效）。

> 建议在冷启动阶段提高 α/β（带宽/延迟），随着 AI 业务增长逐步提高 δ/ε（AI/质量）。

#### 3.2 分配与收集

* 交易链流程：Collector 聚合 → Auditor 进行 k-of-n 抽样计算 → ReceiptBuilder 生成详情包与 Merkle 树；Keeper 验证交易并计算 S\_i，将叶子节点（设备 ID、金额、标志）转换为根结构。
* 链上：仅包含 epochId、merkleRoot、submittedAt；分配（示例）：

R\_i = REpoch · (S\_i^θ / Σ\_j S\_j^θ) // θ 控制差异化强度

* Claim：claim（epochId、proof、leaf、to、amount）；位图重放防护；支持多 Epoch 批次。

### 4. VRF 与随机仲裁（反腐与成本控制）

* VRF 加权抽取（可选）：种子 seed\_e = H(epochId || prev\_root);
* 中签概率 P(i) ∝ VRF(seed\_e, ID\_i) · S\_i^η（η>1 用以提高高质量节点权重，避免寡头化）。
* 随机仲裁：重跑并复算 10% 的任务，检查输出哈希/索引；对含水印/陷阱的抽样挑战，若失败则扣减信誉并没收，触发冷却期。
* 动态抽样覆盖：可信度越低，抽样比率越高。

### &#x20;5. 正确性与隐私：TEE + ZK（按需强化）

* TEE（SGX/SEV/SNP/GPU-TEE）：高价值任务在 TEE 中执行，提交远程证明 Quote（链下验证，链上摘要哈希）作为 Q\_i 的加分项。
* ZK 摘要：为推理一致性与微调/训练的关键指标生成 ZK-承诺；链上仅存承诺，可对抽样进行验证。
* 数据最小化：任务数据与模型权重加密分发，任务完成后销毁明文；仅将可验证摘要存入日志。

### 6. 链上合约（Solidity 概览）

#### 6.1 数据结构

```
struct EpochState {
  uint64  epochId;
  bytes32 merkleRoot;
  uint64  submittedAt;
bool opened; // 是否开启领取
}
```

#### 6.2 核心接口

```
function submitEpoch(uint64 epochId, bytes32 root, bytes calldata statsSig)
external onlyKeeper; // 相同根可以重复提交；不同根将被拒绝

function openClaim(uint64 epochId) external onlyKeeper;

function claim(
  uint64 epochId,
  bytes32[] calldata proof,
  bytes32 leaf,          // encode(deviceId, amount, flags)            bytes32 leaf,          // encode(deviceId, amount, flags)
  address to,
  uint256 amount
) External; // BEP-20 转账；位图重放防护              ) External; // BEP-20 转账；位图重放防护

event RootsSubmitted(uint64 indexed epochId, bytes32 root);
event RewardClaimed(uint64 indexed epochId, bytes32 indexed deviceId, address to, uint256 amount);
```

#### 6.3 位图防重复（节省 gas）

* mapping(uint64 => mapping(uint256 => uint256)) claimed;
* idx>> 8 定位槽位，idx & 255 定位位；设置后不可再次领取。

#### 6.4 参数白名单与速率限制

* 链上 setParams 配置（α..κ、θ、η、...）受多重签名与 Timelock 机制约束。每次修改受波动限额与频率阈值控制并带断路器（在异常期间降低 AI 权重、提高合规阈值或暂时暂停大额交易）。

### 7. 近链快照 API（开发者接口）

```
GET/api/mining_data?epoch={id}
返回（关键字段）：
{
  "epoch": 12345,
  "timestamp": 1723456789,
  "devices": [{
    "device_id": "0x..",
    "wallet": "0xWallet",
    "bandwidth": 103489382,
    "latency": 55,
    "coverage": 24,
    "ai_gpu_minutes": 367,
    "ai_vram_gb": 24,
    "ai_arch": "Ampere",
    "ai_quality_score": 0.93,
    "sla_uptime": 0.997,
    "ipv6": true,
    "task_hash": "0x..",
    "signature": "device-ed25519"
  }],
  "merkle_root_candidate": "0x..",
  "backend_signature": "backend-ed25519",
"extreceipthash": "0xW3bstreamReceipt" // 可选：连接外部收据
}
```

> 安全：HTTPS + 时间戳 + 随机数 + 设备签名/后端签名；Keeper 侧的 IP 白名单与访问速率限制。

### 8. Worker（CDN/GPU）规范

* 初始化：nvidia-smi/rocm-smi 能力检测（GPU/VRAM/架构）；带宽/延迟基准；区域/ASN/IPv6 画像。
* 执行：OCI 容器镜像拉取与权重设置 → 任务执行 → 生成 TaskReport{usage, output.digest, metrics, logs\_hash, agent\_version, ts, signature}；断点续跑与失败重试。
* 隐私：最小权限与一次性 token；数据加密传输；明文过期并销毁。

### 9. IPv6 及区域/ASN 策略

* 注册与日志区分：IPv4/IPv6；仅 IPv6 与高比例节点在 P\_i 中有加权。
* 优先考虑低覆盖区域，并结合 SLA/延迟/价格进行选择。

### 10. 跨链适配（EVM 生态）

* BSC 作为原始记录链；epochId + root + 摘要通过 Wormhole、LayerZero 或类 IBC 协议同步到其他 EVM（opBNB、ETH、Polygon…）。
* 目标链用于映射分配或指标展示而无需重算；跨链消息需多签验证；根冲突以 BSC 状态为准。

### 11. 监控与可观测性（DePINscan 兼容）

* 设备：区域/ASN/IPv6、GPU/VRAM、在线率、信誉、失败率、挑战通过率；
* 业务：吞吐量（GB/h、tokens/s、images/s）、延迟（P50/P95）、质量、审计覆盖率、预算利用率；
* 链上：Epoch 提交/失败、Claim 成功率、gas 成本；
* 导出：/metrics/depinscan 标准字段供第三方抓取与评估。

### 12. 端到端伪代码（节选）

评分与根（Keeper）

```
score(d,p)：
  base = p.α*d.bw + p.β*(1000/max(1,d.lat)) + p.γ*d.coverage
  if d.ipv6: base += p.ζ
  m_vram = {8:1.0,12:1.2,16:1.4,24:1.8,48:2.6,80:3.2}[d.vram]
  m_arch = {"Turing":1.0,"Ampere":1.05,"Hopper":1.10}[d.arch]
  ai    = p.δ*d.gpu_min*m_vram*m_arch
  qual  = p.ε*d.ai_q
  avail = p.κ*d.sla_up
  return max(0, base + ai + qual + avail)

build_root(devs,p)：
  S = [score(d,p) for d in devs]; T = Σ(S)
  leaves = [hash_leaf(d.id, S[i]/T, d.flags) for i,d in enumerate(devs)]
  return merkle(leaves)
Solidity 位处理（位运算）
_isClaimed(e, i)：
  word = claimed[e][i >> 8]
  mask = 1 << (i & 255)
  return (word & mask) != 0

_setClaimed(e, i)：
  claimed[e][i >> 8] |= 1 << (i & 255)
```

#### *工程权衡*

遵循最小上链 + Root/Claim 是扩展性与低成本的关键；

将参数白名单 + 速率限制 + Timelock + 断路器写入合约，以稳定供给端与经济预期；

首先打通推理 + CDN 的业务闭环，然后逐步开放微调与训练，以提升 ZK/TEE 的覆盖范围。


---

# 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.neurobox.ai/documentation/documentation-zh/ji-shu.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.
