分步指南 — PQC · 混合签名
实验 5 在本地启用严格的验证策略。联邦中的 Hub 可以固定对等节点公布的 PQ 密钥,并拒绝该节点之后的签名降级。要求所有对等节点使用 PQ 是单独启用的设置
AIMARKET_PQC_REQUIRE=1。该策略适用于链下签名。Base 上的托管交易仍使用 EVM 签名机制。
为何学这门课
签名是关于过去的断言。若干年后被争议的回执,今天就必须能抵抗量子对手。仅用 ML-DSA 替换 Ed25519 会破坏今日互操作。AIMarket Hub 已发布混合签名:Ed25519 + ML-DSA-65 — LIVE:modelmarket.dev/.well-known/ai-market.json。切勿把 SIM 当成 LIVE。
安装
pip install -e ".[dev]"
pip install -e ".[pqc,dev]" # 可选
pytest -q
COURSE_LANG=zh python labs/lab01_why_hybrid.py
无 dilithium 时仍可校验 Ed25519、检查 LIVE 字段;PQ 签名会标明跳过 — 绝不伪造成功。
模块
| 模块 | 实验 | 要点 |
|---|---|---|
| M1 | lab01_why_hybrid |
为何混合;可选 LIVE |
| M2 | lab02_key_identity |
双轨道身份;带外固定两钥 |
| M3 | lab03_sign_receipt |
签署回执 |
| M4 | lab04_verify_offline |
离线校验 |
| M5 | lab05_hybrid_gate_capstone |
refuse_single_orbit(阶段 3) |
练习
在 courselib/exercises.py 填写 # YOUR CODE HERE → python labs/run_exercises.py → --certificate "姓名"。
自检
- [ ] 理解无
require_pq时的降级攻击 - [ ] 离线经典校验可用
- [ ] 门控拒绝单轨道
- [ ] 检查过 LIVE 且未称为 SIM