挖矿基础设施 · 调研
Quantus (QTC) 矿池调研
现有第三方矿池通过 Stratum 接入矿工;官方节点提供的是自定义 QUIC 矿工 API,而不是 Stratum。自建池的关键工作,是在两者之间实现作业转换、提交校验、份额记账和支付。
核实边界:池端算力、份额规则及主网参数未全面验证
结论:池端需要自行补齐 Stratum 与份额系统
Kryptex、Suprnova、Qelvpool、LuckyPool 是已发现提供 QTC Stratum 服务的第三方池。官方公开的 quantus-miner 则使用节点的 QUIC miner API 直连,不提供通用 Stratum 服务。由此,自建矿池通常需要以 Stratum 面向矿工、以 QUIC 连接节点,并自行处理矿池业务逻辑。
定位:QTC 默认是透明账本上的非隐私币。Wormhole 是可选的隐私通道,不应将 QTC 描述为默认隐私币。下文关于 Wormhole 的机制解释含推断,尚未核实。
算法与 share 校验:节点目标可由 QPoW 哈希复算
QPoW 使用 Poseidon2-Goldilocks。给定 pre-seal header hash[32] 和 nonce[64],调用 qp_poseidon_core::hash_squeeze_twice 得到 64 字节结果;将结果按大端解释为 U512,与难度对应的目标比较。
target = U512::MAX / difficulty
valid = difficulty > 0 && hash_as_big_endian_U512 < target
比较是严格小于;难度为 0 无效。区块候选校验可依此复算,但矿池的 share 难度和记账协议属于池端设计,不能假设节点 QUIC API 已提供 share、vardiff 或多矿工记账。
- 链仓库实现:
qpow-math/src/lib.rs,参考提交482c5b9。 - 共识校验:
client/consensus/qpow/src/lib.rs。 - 矿工实现:
quantus-miner/crates/pow-core/src/lib.rs,参考提交c7838cb,依赖qp-poseidon-core 3.1.0。 - 白皮书给出的目标出块时间为 12 秒;这不是矿池份额间隔。
协议架构:Stratum 到 QUIC 的桥接是自建池核心
矿工 — Stratum(TCP JSON-RPC,池自建)→ 矿池 — QUIC miner API → 节点
节点通过 --miner-listen-port 9833 开启 QUIC miner API,文档示例监听 0.0.0.0:9833。协议消息包括 Ready(认证/就绪)、NewJob(新作业)和 JobResult(提交结果)。节点指南要求该接口仅在内网使用;不要将 miner API 暴露到公网。
QUIC API 是节点挖矿接口,不等于完整矿池协议:目前材料未见原生 share 提交、vardiff 或多矿工份额记账。RPC 示例端口为 9944,指南使用 --chain planck;主网实际参数与部署方式需要另行核验。
现有矿池与矿工软件:公开支持以 GPU 软件为主
| 类别 | 名称 | 已知信息 | 来源 |
|---|---|---|---|
| 矿池 | Kryptex | 提供 QTC 挖矿与 Stratum 接入信息 | 挖矿指南 |
| 矿池 | Suprnova | 提供矿池入口;页面推荐 suprminer | Start Mining |
| 矿池 | Qelvpool / LuckyPool | 列为现有第三方 Stratum 池;当前材料未核实其份额政策与持续可用性 | Qelv 挖矿说明 |
| 矿工 | SRBMiner-MULTI、suprminer、Qelvminer | 公开材料指向 GPU 挖矿;Qelvminer 标注 NVIDIA。CPU 挖矿能力未核实。 | Suprnova · Qelv |
| 官方矿工 | quantus-miner | 通过 QUIC 直连节点,不是 Stratum 矿工/矿池替代品 | GitHub 仓库 |
自建矿池组件:份额与支付逻辑需由池端实现
- 节点运维:部署并监控 Quantus 节点,核对网络、链参数和同步状态;QUIC miner API 保持内网可达。
- Stratum ↔ QUIC 适配器:维护矿工会话和作业生命周期,转换新作业与 nonce 提交,验证候选结果并处理重复提交。
- 难度和份额:将矿池 share 难度映射到本地校验阈值,设计 vardiff(如需要)、份额接受/拒绝记录与多矿工归属。QUIC API 不替代这层业务。
- 奖励地址配置:按池的托管和支付方案配置奖励地址;若使用 Wormhole,需额外谨慎处理
inner_hash。 - 分配与支付:实现 PPLNS、PROP 或 SOLO 等明确的分配规则,做支付批处理、余额核对和审计日志。
- 链重组策略:自定区块确认数、候选块状态跟踪、reorg 回滚与支付冻结策略;现有公开材料不足以确认各池采用的规则。
Python 校验方案:用薄 PyO3 封装 Rust 共识实现
未发现官方提供的稳定 C ABI、Python 扩展或现成 .so。推荐以 Rust cdylib 加 PyO3 封装 qpow-math 的 get_nonce_hash 与 is_valid_nonce,用 maturin 构建 Python 包。这样复用官方逻辑,避免另行实现哈希和整数比较;此方案尚未编译验证。
可将第三方 KanQ 的纯 Python 参考实现 tools/poseidon2_ref.py 用于测试向量对拍,不宜直接替代生产校验。官方 solver-wasm 面向浏览器端 nonce 搜索,并非 Python 校验接口。Suprnova 与 Kryptex 未公开池端校验代码。
Wormhole:可选通道,机制细节仍属推断
现有材料将 Wormhole 描述为可选隐私通道:通过 --rewards-inner-hash 提供 32 字节 preimage,以其派生无私钥地址并进行 ZK 提取。这种设计被类比为 EIP-7503,但该机制说明和具体安全性质尚未独立核实。在核实协议实现、钱包流程与奖励可提取性之前,不应据此设计托管或支付流程。
未核实项与风险:不要将动态数据当作稳定事实
- 各池算力、份额与在线状态:MiningPoolStats 页面动态加载;QTC ticker 还可能与 Qubitcoin 混淆,必须确认资产和链后再引用。
- 确认数与 reorg 规则:未核实各池确认数、成熟区块策略和支付冻结规则。
- CPU 挖矿:现有软件材料以 GPU 为主,没有足够证据确认 CPU 支持情况。
- Wormhole:preimage 派生、ZK 提取及 EIP-7503 类比均为推断,未核实。
- Python 扩展:PyO3 + maturin 是建议方案,尚未编译或与官方测试向量对拍。
- 主网部署参数:指南示例采用
--chain planck;生产部署前需从当前官方文档确认主网参数及端口。