基于 MQ 抗量子签名算法的高性能命令行挖矿软件
支持 CPU 多线程与 NVIDIA CUDA GPU 并行挖矿,采用 Rainbow 算法求解多元二次方程组(MQ),实现后量子密码学挖矿。
专业的工程化设计,从 GPU 并行到协议实现
自动检测多 GPU 设备,线程均匀分配。CUDA 核函数并行求解 MQ 方程组,单次启动 2^(N-K) 线程。
完整实现 JSON-RPC over TCP 协议,支持 subscribe / authorize / submit 全流程,断线自动重连。
每 10 秒输出 Million Solves/sec 算力,与 abcscan.io 全网算力单位一致,可直接对比算力占比。
支持 UOV / Rainbow 多变量签名算法(nHeight ≥ 267120 硬分叉后启用),提供抗量子级别的密码学保障。
矿工与矿池的完整通信链路
extranonce1(4字节,唯一标识客户端)CLI 矿工启动后的终端输出(模拟)
Unbalanced Oil and Vinegar — 后量子多变量签名算法
UOV 由 Patarin 于 1999 年提出,基于 多变量二次多项式方程组(MQ 问题)的难解性。 私钥包含一组特殊结构的油变量(Oil)和醋变量(Vinegar),公钥是混合后的多项式。
公式:P(o, v) = Σ a·oᵢ·oⱼ + Σ b·oᵢ·vⱼ + Σ c·vᵢ·vⱼ + d
签名时随机选 Vinegar 值,解线性方程组求 Oil;验证只需代入公钥多项式检查等式成立。
MQ 问题被公认即使对量子计算机也难以求解。abcmint 在 nHeight ≥ 267120 硬分叉后启用
RainbowPlus API,支持 UOV SL1/SL3/SL5 三个安全等级。
UOV = 单层 Oil-Vinegar(O2=0),结构更简单、更安全
Rainbow = 多层(O2>0),密钥更小但 2022 年 Ward Beullens 破解了低安全等级参数
abcmint 当前支持两种算法并存,用户可按需选择。
seedHash 计算 → MQ 方程组求解 → 份额提交
GPU 核函数并行求解 MQ 方程,De Bruijn 位扫描优化
JSON-RPC 协议构建与消息解析
求解器接口设计与算法分叉支持
参数解析 → GPU 初始化 → 多线程调度 → 自动重连
FAQ — 使用过程中可能遇到的问题与解决方案
1. 检查网络连接是否正常
2. 确认矿池地址和端口正确:主网 mqscan.io:3334,测试网 mqscan.io:3335
3. 检查防火墙是否放行出站连接
4. 矿池维护期间可能暂时不可达,请稍后重试(客户端会自动重连)
1. 确认 CUDA 设备被正确识别(日志应显示 [GPU] Device 0: ...)
2. 检查 nvidia-smi 是否正常,GPU 温度是否过高(>85°C 会降频)
3. 确认没有其他程序占用 GPU(如显示器、游戏、AI 推理)
4. 等待至少 10 秒,算力统计需要累积足够的求解次数
用户名一旦绑定钱包地址后不可修改,这是为了防止奖励被劫持。
如需更换钱包地址,请使用新的用户名重新连接矿池,旧用户名的历史份额和待支付余额将保留在原地址。
钱包地址必须以 8 开头(主网)或 q/r 开头(测试网)。
1. 确认矿工软件版本与矿池兼容(建议使用最新版本)
2. 检查系统时间是否准确(时间偏差过大会导致 nTime 被拒)
3. 可能是 GPU 显存不稳定导致计算错误,尝试降低 GPU 频率或增加散热
4. 如果所有份额都 invalid,可能是 nonce 编码问题,请提交 issue
矿池采用 PPLNS 分配模式,奖励触发需要满足以下条件:
1. 区块成熟(需 120 个确认)
2. 矿工待支付余额达到最低提现阈值 50 ABC
3. 矿池有足够的成熟余额可用于下发
4. 全节点签名功能正常(测试网在 height < 267120 时签名算法有限制)
满足所有条件后,矿池会在下一次 payout 周期自动下发。
GPU 版本(CLI):命令行界面,支持 NVIDIA CUDA 并行加速,适合服务器和高级用户。
GUI 版本:图形界面,开箱即用,内置 CPU 多线程挖矿,适合桌面用户和新手。
GPU 版本也可以通过 -cuda off 参数切换到 CPU 模式运行。