去中心化算力网络方案
在 imspace 去中心即时通讯网络(iroh + gossip + 联邦 + 能力授权 + 黑名单)之上,构建一个
无需注册、按公钥参与、经济学保证、以推理算力为主 的去中心算力网络(DePIN)。
算力与数据在链下(imspace)流动;一条现成公链只承载代币/托管/质押/罚没/结算/仲裁。
| 关键设计选择 | 取值 | 说明 |
|---|---|---|
| 验证/安全 | 经济学保证 | 质押 + 罚没 + 随机抽检;非密码学(zk)、非硬件(TEE) |
| 区块链 | 现成公链 | 不自建 L1;用 L2 / Solana / 应用链发币与结算 |
| 算力类型 | 推理为主,训练为辅 | 推理短、可重放、易抽检;训练弱保证、受限开放 |
| 准入 | 无白名单,只设黑名单 | 承自 imspace:默认放行,仅拒绝名单内公钥 |
| 身份 | 公钥即身份,无需注册 | 承自 imspace:Ed25519 / iroh EndpointId |
目录
- 设计目标与非目标
- 与 imspace 的关系:能力复用
- 参与角色与身份模型
- 实体、目录与发现/撮合
- 任务全生命周期
- 计量与定价模型
- 经济与安全层
- 可验证计算:经济学保证下的推理验证
- 链上/链下边界与预言机
- 协议扩展(im.proto / GramKind / gossip 频道)
- 组件与代码落地(新增 crate)
- 反女巫 / 声誉 / 冷启动
- 训练类算力(辅)
- 部署形态
- 分阶段路线图
- 风险与权衡
- 附录:数据结构 / 接口 / 术语
1. 设计目标与非目标
目标
- 无许可接入:任何持合法公钥的实体(人 / 设备 / 智能体 / 算力服务 / 车辆)皆可作为买方或提供方加入,无需账户注册。
- 穿透 NAT 的算力直供:家用/机房 GPU 多在 NAT 后,复用 imspace 的 nat/selfhost 打洞,让买方直连提供方跑推理。
- 可信计量与结算:在不可信提供方上,用经济学手段(质押+抽检+罚没)保证“算力如实提供且大致正确”,并在链上完成价值结算。
- 自主可控:中继/发现可自建(selfhost);代币用现成公链;不依赖任何中心化调度器。
非目标(本方案不做/不承诺)
- 不追求密码学级/硬件级的逐结果正确性证明(zkML/TEE)——只给概率性、抗合谋有上限的正确性。
- 不做全网共识的黑名单(去中心无全局权威,黑名单为每节点/社区本地执行)。
- 不自建公链、不做链上执行算力(链只存“钱与承诺”)。
- 训练不做无许可开放(见 §13)。
2. 与 imspace 的关系:能力复用
算力网络 = imspace 通讯底座(复用) + 市场控制面(扩展) + 执行面(新增) + 结算面(现成公链,新增)。
| imspace 现有能力 | 在算力网络中的角色 |
|---|---|
| iroh 传输 + NAT 穿透(nat/selfhost/lan、按公钥拨号、同网优先) | 买方↔提供方、验证者↔提供方的连接与打洞 |
| Ed25519 身份 + 无注册 + 黑名单 | 参与者身份与准入 |
实体目录 compute.inference + directory_query + s2s 联邦 | 提供方注册与跨节点发现/撮合 |
命令 RPC + Grant 能力授权(im-crypto) | 派单调用 compute.infer 并授权(复用 routed-command 鉴权) |
gossip 频道 pub/sub(im-gossip,Router 多协议) | 任务公告板 / 报价 / 心跳 / 价格看板 |
| redb 存储 + 离线队列 | 任务记录 / 计量回执 / 结果补投 |
| Grant(UCAN 风格:issuer/audience/action/resource/expires/签名) | 把“已托管付费”表达为对提供方的调用授权 |
结论:算力网络约 60–70% 的下层能力已在 imspace 就绪,新增集中在“执行面 + 经济结算面 + 验证”。
3. 参与角色与身份模型
- 买方 Buyer:消费算力。发现/撮合 → 链上托管预付 → 派单(Command + Grant)→ 收结果。用
im-client(或 Tauri 客户端)。 - 提供方 Provider:以
compute.inference实体注册(GPU/模型/报价/区域/容量),链上质押抵押,执行推理、出具签名计量回执。= imd +im-compute代理。 - 验证者 Validator:随机抽检(重算比对)、对结算/罚没结果签名上链(预言机)。自身也质押、可被挑战。= imd +
im-verify。 - 金库/合约 Treasury:链上账本,托管/质押/罚没/结算/手续费/争议。
身份与准入:公钥即身份,无账户注册;准入为黑名单(可被节点/社区拉黑,复用 imspace 机制);抗女巫靠质押门槛 + 声誉,而非注册审核(§12)。
4. 实体、目录与发现/撮合
提供方注册(复用 directory.register,实体 = compute.inference):
entity_id = <提供方公钥(32B)>
kind = "compute.inference"
display_name = "A100 · llama3.1-70b"
attributes = {
"model": "llama-3.1-70b-instruct", # 模型标识(含版本,验证需锁定)
"quant": "fp16", # 量化(影响确定性与结果)
"ctx": "8192",
"gpu": "a100-80g x2",
"region": "cn-east",
"price_in": "0.0000008", # 每输入 token 代币价
"price_out": "0.0000024", # 每输出 token 代币价
"max_batch": "16",
"throughput": "1800", # tokens/s 参考
"stake_ref": "<链上质押凭证/地址>",
"require_grant":"true" # 调用需能力授权(复用鉴权)
}
capabilities = [CAPABILITY_INFER, ...]
home_node = <其归属 imd 公钥> # 联邦寻址
发现/撮合:买方 directory_query(kind_prefix="compute.inference", match_attributes={model, region}, require_capabilities=[INFER]);s2s 联邦让跨节点提供方也可见。撮合两种模式:
- 拉模式(目录择优):按 price/throughput/声誉排序直选。
- 推模式(job-board 竞价):买方在 gossip 频道
compute.jobs.<model>广播JobSpec,提供方回Bid,买方择优(反向拍卖)。
5. 任务全生命周期
- 质押上线:提供方链上
stake,并注册compute.inference+ 周期心跳/报价(gossip)。 - 发现/撮合:买方
directory_query或读 job-board。 - 托管预付:买方链上
escrow锁定一笔代币(可为单任务或预付信用额度)。 - 派单:买方向提供方发
Command{method:"compute.infer", params:JobSpec, grant:<能力授权>}。Grant 证明“已托管、被授权调用”,提供方用im-crypto::authorize校验(复用现有 routed-command 鉴权:issuer=资源方、audience=买方、action=infer、resource=model)。 - 执行:
im-compute拉起推理引擎(vLLM/llama.cpp/TGI)按 JobSpec 执行。 - 交付 + 计量:结果经 iroh 单播回传(大响应可走 iroh-blobs);附提供方签名的
MeterReport(输入/输出 token 数、耗时、模型指纹)。 - 抽检:验证者按概率 p 抽中该任务 → 重算比对(§8)。
- 结算/罚没:通过 →
escrow放款给提供方(扣手续费入金库);不通过 →slash提供方质押(部分作为赏金给挑战者)。按轮次(epoch)批量上链。
步骤 ②③⑤⑦ 全程公钥认证 + 黑名单准入;②发现、⑤命令+Grant、⑥交付均直接复用 imspace。
6. 计量与定价模型
计价单位(推理主用 token 计价,兼容 GPU-秒/包干):
- 按 token:
cost = in_tokens*price_in + out_tokens*price_out(对齐主流 LLM 计费)。 - 按 GPU-秒:适合长任务/自定义算子。
- 包干:固定价一个任务(简单,但难防偷工)。
计量可信性(经济学,而非可信硬件):
- 提供方出具签名
MeterReport(token 数 + 模型指纹 + 结果哈希),买方签收; - 计量真伪由抽检兜底:验证者重算时核对 token 数与结果是否与回执相符;不符 → 计入作弊、罚没。
- 因此**“提供方签名回执 + 概率抽检核对”**即为计量依据——伪报期望被抓、被罚,理性不伪报。
预付信用 + epoch 结算:买方托管一笔额度,多次调用累计,按轮次批量结算(把 N 次调用的净额一次上链),把链上手续费摊薄到可忽略。
价格发现:job-board 广播报价 + 反向拍卖;目录属性暴露 price/throughput/声誉供排序。
7. 经济与安全层
代币:现成公链上的 ERC-20 / SPL。用途:计价结算单位、质押抵押、罚没标的、手续费与赏金。
核心合约职责:
- Escrow 托管:买方按任务/额度锁定;通过后放款、超时/失败可退。
- Staking 质押:提供方(及验证者)抵押;作为作弊的可罚标的与准入门槛。
- Slashing 罚没:验证裁决“作弊”→ 扣质押,部分给挑战者(赏金),部分入金库/销毁。
- Settlement 结算:按 epoch 批量结算净额(Merkle root 一次上链,见 §9)。
- Dispute 争议:挑战期内可申诉,进入仲裁(多验证者复核 / 治理)。
经济学保证的成立条件:
E[作弊损失] = P(被抓) × 罚没额 > 作弊收益
⇒ 质押额 ≳ 单位时间任务价值 × 风险系数 / P(被抓)
- 抽检概率 P 越高越安全但越贵 → 用分层抽检(低声誉/高价值任务高 P,高声誉低 P)平衡成本。
- 手续费:结算抽成入金库,分配给验证者(抽检成本补偿)与协议金库。
脆弱点(诚实提示):安全性 ∝ 质押价值 ∝ 币价——冷启动期币价低、质押低、攻击便宜。用许可/声誉门槛过渡(§12)。
8. 可验证计算:经济学保证下的推理验证(核心难点)
难点:GPU 推理非确定性(浮点非结合、不同 GPU/驱动/cuDNN/批大小 → 同模型同 prompt 输出不逐比特一致)。因此不能靠逐比特重算比对。
验证组合拳:
- 确定性约束:锁定
model+version+quant、temperature=0/贪婪解码、固定seed、限定/声明 kernel——把非确定性压到最小。 - 随机抽检:仅对概率
p的任务做检验(成本可控);分层调 p(见 §7)。 - 委员会重算:抽中任务由 N 个验证者独立重算,取多数,抗单点/合谋(需足够诚实质押)。
- 容差比对:不做逐比特,而是 top-k token 一致率 / 语义相似度 / logit 距离 ε 判定“是否同一诚实计算”,识别典型作弊(换小模型、过度量化、截断、缓存伪造)。
- 质押罚没 + 争议期:判为作弊 → 罚没 + 赏金;提供方可在挑战期申诉仲裁,降低误杀伤害。
保证级别(务实):概率性、抗合谋有上限的“大概率正确”,不是“保证正确”。适合容错的消费级/生成式推理(对话、生成媒体、批量 embedding);精确/审计/合规结果不适用(那需 zk/TEE,成本另议)。
落地前必打的一枪(承接可行性判断):先做最小实验——同模型同批 prompt 在 3~4 种 GPU 上跑,量化诚实结果彼此差异 vs 典型作弊差异,看能否用一个便宜判据(阈值/top-k/语义)分开且误杀率可接受。这枪打响,经济模型才有可罚没的抓手。
9. 链上/链下边界与预言机
边界原则:链存“钱与承诺”(托管/质押/结算/罚没/争议);imspace 存“算力与数据”(发现/派单/执行/交付/计量/抽检)。二者由验证者/预言机桥接。
预言机(把链下结果安全投影上链):
- 结算/罚没由验证者委员会对本轮结果做门限签名/多签后提交,避免单点预言机作恶;
- 验证者自身质押、其裁决可被挑战(错误裁决亦被罚);
- 批处理:一个 epoch 内所有任务的“通过/金额/罚没”汇成 Merkle 树,只把 root + 聚合净额上链;个体凭 Merkle proof 领款/申诉 → 手续费从 O(任务数) 降到 O(1/epoch)。
上链最小集:openEscrow / stake / submitEpochRoot(root, netAmounts) / claim(proof) / slash(proof) / dispute。
10. 协议扩展(im.proto / GramKind / gossip 频道)
直接复用:Entity(compute.inference)、Command(method=compute.infer)、Grant、GramKind::CHANNEL_*(job-board)、JobSpec(im.proto 已存在)。
新增 proto 消息(crates/im-proto/proto/im.proto):
// 任务规格(已存在 JobSpec,可扩展这些字段)
message InferJob {
string model = 1; // 须与提供方 attributes.model 完全一致(验证锁定)
bytes prompt = 2; // 或 messages(JSON)
uint32 max_tokens = 3;
float temperature= 4; // 建议 0(确定性约束)
uint64 seed = 5;
bytes escrow_ref = 6; // 链上托管引用
}
message Bid { // 提供方对 job-board 的报价
bytes provider = 1; string model = 2;
string price_in = 3; string price_out = 4; uint32 eta_ms = 5;
}
message MeterReport { // 提供方签名的计量回执
bytes job_id = 1; uint64 in_tokens = 2; uint64 out_tokens = 3;
uint64 elapsed_ms = 4; bytes model_fingerprint = 5;
bytes result_hash = 6; bytes provider_sig = 7;
}
message Attestation { // 验证者对某任务的裁决
bytes job_id = 1; bytes validator = 2;
bool pass = 3; string reason = 4; bytes validator_sig = 5;
}
message SettlementBatch { // 一个 epoch 的结算汇总(上链 root + 明细供 proof)
uint64 epoch = 1; bytes merkle_root = 2;
repeated bytes leaves = 3; // 每条: (provider, net_amount, pass/slash)
}
GramKind:复用现有 CHANNEL_PUBLISH/SUB/UNSUB;如需可加 COMPUTE_JOB / COMPUTE_RESULT / COMPUTE_METER / COMPUTE_ATTEST 命令类。
gossip 频道命名约定:compute.providers(在线/心跳)、compute.prices(报价看板)、compute.jobs.<model>(任务公告板/竞价)。
11. 组件与代码落地(新增 crate)
新增(链下)crate:
| crate | 职责 | 依赖 |
|---|---|---|
im-compute | 提供方算力代理:注册 compute.inference、拉起推理引擎、执行、计量、交付。imd 插件形态。 | im-node, im-client, im-crypto, im-proto |
im-market | 撮合/竞价:job-board 协议、SLA、调度、价格发现。 | im-gossip, im-client, im-proto |
im-verify | 验证者:随机抽检、重算、容差比对、出具 Attestation。 | im-client, im-compute(重算), im-crypto |
im-settle | 链桥/预言机客户端:Escrow/Stake/Settlement/Slash 合约调用与 epoch 提交。 | 现成链 SDK(ethers/solana) + im-proto |
复用(链下):im-node/imd、im-transport、im-client、im-gossip、im-crypto、im-store、im-entity。
链上:Token / Escrow / Staking / Slashing / Settlement / Dispute 合约(现成链上部署)。
部署组合:提供方 = imd(nat/selfhost) + im-compute + GPU + 链上质押;买方 = im-client/Tauri;验证者 = imd + im-verify + GPU(重算) + 质押 + im-settle。
12. 反女巫 / 声誉 / 冷启动
- 无白名单、默认放行、黑名单拒绝(复用 imspace)——恶意公钥可被节点/社区拉黑。
- 抗女巫 = 质押门槛:注册/接单需质押,制造大量身份的成本 = 大量质押,且都可被罚没。
- 声誉系统:链下累计每公钥的历史成功率、在线率、抽检通过率、被罚记录 → 影响撮合排序与抽检概率 p(低声誉高抽检)。声誉可锚定到质押与结算历史(防洗白)。
- 冷启动/币价自反性:初期 TVL/币价低 → 质押价值低 → 攻击便宜。过渡策略:早期许可/邀请或高声誉门槛、限制单任务价值上限、提高抽检 p;随网络有用度与币价上升逐步放开到全无许可。
13. 训练类算力(辅)
训练在经济学保证下最弱(长、有状态、难廉价重验,“证明学到了”不可靠)。因此受限开放:
- 仅对声誉/委员会准入的提供方开放;
- 检查点分段:把训练切成带检查点的段,随机抽段重算校验(近似 fraud-proof);
- 或包干 + 信任 + 结果验收(下游任务指标)计费;
- 不开放无许可训练。定位为“进阶能力”,主线仍是推理。
14. 部署形态
- 提供方:
imd(nat 或 selfhost,穿透 NAT)+im-compute(连本地 vLLM/llama.cpp)+ 链上质押。家用 GPU 亦可(NAT 后)。 - 买方:
im-client或 Tauri 客户端(同网优先、穿透兜底),链上托管钱包。 - 验证者:
imd+im-verify(需 GPU 做重算)+ 质押 +im-settle提交结算。 - 自建设施(可选):用 selfhost 搭自有 iroh-relay + iroh-dns-server(见
DEPLOY_selfhost_relay_dns.md),全链路自主可控。
15. 分阶段路线图
| 阶段 | 内容 | 状态 |
|---|---|---|
| 0 · 通讯底座 | iroh 传输/NAT穿透/目录/gossip/联邦/Grant/黑名单 | 已完成(imspace) |
| 1 · 算力接入 | provider 注册 compute.inference + 发现/撮合 + 派单(Grant) + 计量回执(链下,无币,测试) | 待建 im-compute/im-market |
| 2 · 经济结算 | 托管 + 质押 + epoch 结算(测试网代币) | 待建 im-settle + 合约 |
| 3 · 验证与罚没 | 随机抽检 + 委员会重算 + 容差比对 + 罚没 + 争议 | 待建 im-verify |
| 4 · 市场化 | 反向拍卖/声誉/分层抽检/训练辅助/主网上线 | 规划 |
MVP = 阶段 0–2(可跑通“发现→托管→派单→执行→计量→结算”),阶段 3 加上验证使其可信。
16. 风险与权衡
- 币价自反性:安全 ∝ 质押 ∝ 币价;冷启动脆弱 → 许可/声誉门槛过渡(§12)。
- 非确定性检测误杀:容差判据过严误伤诚实提供方、过松放过作弊 → 需先做检测 spike 标定阈值(§8)。
- 交互式推理延迟 vs 验证开销:不能给每次实时调用做冗余验证 → 抽样验证 + 其余快速服务(概率保证);批处理推理更友好。
- 预言机/验证者合谋:验证者质押 + 门限签名 + 可被挑战 + 声誉。
- 监管:代币可购买/消耗算力,可能触及支付/证券/出口管制——非技术但可能否决项,需合规评估。
- 数据隐私:prompt/结果对提供方可见;敏感场景需端到端加密或可信执行(超出本方案经济学保证范围)。
17. 附录
A. Grant 用于派单(复用现有能力授权)
- 资源方(提供方或其归属节点)对模型资源签发 Grant:
issuer=提供方, audience=买方, action="infer", resource=model, expires。 - 买方派单时携带该 Grant;提供方
im_crypto::authorize(grant, caller=买方, action="infer", resource=model, now)校验(复用 routed-command 鉴权路径)。 - “已托管付费”可作为签发 Grant 的前置条件,把支付与调用授权绑定。
B. 结算 Merkle 叶子(epoch 批处理)
leaf = H(provider_pubkey || net_amount || pass_or_slash || job_root)
root = MerkleRoot(all leaves) # 一次上链
claim(provider, amount, proof) # 提供方凭 proof 领款
slash(provider, amount, proof) # 罚没凭 proof
C. 术语
- DePIN:去中心物理基础设施网络。 经济学保证:靠质押/罚没/抽检的博弈激励而非密码学/硬件。
- 抽检(spot-check):只重验随机一小部分任务。 容差比对:非逐比特,用 top-k/语义/ε 判定一致。
- epoch 结算:按轮次把多笔净额聚合一次上链。 门限签名:多验证者共同签名,防单点作恶。
一句话总览:把 imspace 的“公钥身份 + NAT 穿透 + 目录发现 + 能力授权 + gossip + 黑名单”当作算力市场的控制与传输面,新增“执行面(算力代理) + 现成公链结算面(托管/质押/罚没) + 验证者抽检”,用经济学保证在不可信 GPU 上做可信、可结算的去中心推理算力。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/warpdrivelabs/article/details/166486608




